Skip to content

Commit 8bc1048

Browse files
justin808claude
andcommitted
Re-add SWC dependencies - required by Shakapacker 9.0 default config
Shakapacker 9.0 defaults to using SWC as the JavaScript transpiler, not Babel. The previous commit incorrectly removed @swc/core and swc-loader, causing webpack builds to fail with "swc-loader package is not installed" error. Changes: - Add back @swc/core and swc-loader to spec/dummy/package.json - Update knip.ts to ignore SWC dependencies (not detected by Knip webpack plugin) Note: Babel is still used for Jest tests via babel.config.js, while SWC is used for webpack builds. This is the default Shakapacker 9.0 configuration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 7d61153 commit 8bc1048

File tree

3 files changed

+93
-0
lines changed

3 files changed

+93
-0
lines changed

knip.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ const config: KnipConfig = {
113113
// Build-time dependencies not detected by Knip in any mode
114114
'@babel/runtime',
115115
'mini-css-extract-plugin',
116+
// SWC dependencies used by Shakapacker 9.0 (default transpiler)
117+
'@swc/core',
118+
'swc-loader',
116119
// There's no ReScript plugin for Knip
117120
'@rescript/react',
118121
// The Babel plugin fails to detect it

spec/dummy/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"regenerator-runtime": "^0.13.4"
3030
},
3131
"devDependencies": {
32+
"@swc/core": "^1.7.0",
3233
"@babel/core": "7.17.9",
3334
"@babel/plugin-transform-runtime": "7.17.0",
3435
"@babel/preset-env": "7",
@@ -53,6 +54,7 @@
5354
"sass-resources-loader": "^2.1.0",
5455
"shakapacker": "9.0.0",
5556
"style-loader": "^3.3.1",
57+
"swc-loader": "^0.2.6",
5658
"terser-webpack-plugin": "5.3.1",
5759
"url-loader": "^4.0.0",
5860
"webpack": "5.72.0",

spec/dummy/yarn.lock

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1362,6 +1362,87 @@
13621362
dependencies:
13631363
"@sinonjs/commons" "^3.0.0"
13641364

1365+
"@swc/core-darwin-arm64@1.15.0":
1366+
version "1.15.0"
1367+
resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.0.tgz#158a0890fb2546b4d57b99234c1033e4a38b62e2"
1368+
integrity sha512-TBKWkbnShnEjlIbO4/gfsrIgAqHBVqgPWLbWmPdZ80bF393yJcLgkrb7bZEnJs6FCbSSuGwZv2rx1jDR2zo6YA==
1369+
1370+
"@swc/core-darwin-x64@1.15.0":
1371+
version "1.15.0"
1372+
resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.0.tgz#d03a71e60244f19ac921bf23c2cafc4122d76d8e"
1373+
integrity sha512-f5JKL1v1H56CIZc1pVn4RGPOfnWqPwmuHdpf4wesvXunF1Bx85YgcspW5YxwqG5J9g3nPU610UFuExJXVUzOiQ==
1374+
1375+
"@swc/core-linux-arm-gnueabihf@1.15.0":
1376+
version "1.15.0"
1377+
resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.0.tgz#fe978712a8924c0555c6b248ad3b57912ba123fb"
1378+
integrity sha512-duK6nG+WyuunnfsfiTUQdzC9Fk8cyDLqT9zyXvY2i2YgDu5+BH5W6wM5O4mDNCU5MocyB/SuF5YDF7XySnowiQ==
1379+
1380+
"@swc/core-linux-arm64-gnu@1.15.0":
1381+
version "1.15.0"
1382+
resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.0.tgz#a5dacdd857dec4ac2931820def17bc0e42c88ede"
1383+
integrity sha512-ITe9iDtTRXM98B91rvyPP6qDVbhUBnmA/j4UxrHlMQ0RlwpqTjfZYZkD0uclOxSZ6qIrOj/X5CaoJlDUuQ0+Cw==
1384+
1385+
"@swc/core-linux-arm64-musl@1.15.0":
1386+
version "1.15.0"
1387+
resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.0.tgz#243643a7d22c8e2f334046c1d76f342ad4369be9"
1388+
integrity sha512-Q5ldc2bzriuzYEoAuqJ9Vr3FyZhakk5hiwDbniZ8tlEXpbjBhbOleGf9/gkhLaouDnkNUEazFW9mtqwUTRdh7Q==
1389+
1390+
"@swc/core-linux-x64-gnu@1.15.0":
1391+
version "1.15.0"
1392+
resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.0.tgz#26936f55c916f65d33a4cf957c7573722f9eca54"
1393+
integrity sha512-pY4is+jEpOxlYCSnI+7N8Oxbap9TmTz5YT84tUvRTlOlTBwFAUlWFCX0FRwWJlsfP0TxbqhIe8dNNzlsEmJbXQ==
1394+
1395+
"@swc/core-linux-x64-musl@1.15.0":
1396+
version "1.15.0"
1397+
resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.0.tgz#a7164c11ac86ed99a1d5d8bef86ec0fbe6235f6c"
1398+
integrity sha512-zYEt5eT8y8RUpoe7t5pjpoOdGu+/gSTExj8PV86efhj6ugB3bPlj3Y85ogdW3WMVXr4NvwqvzdaYGCZfXzSyVg==
1399+
1400+
"@swc/core-win32-arm64-msvc@1.15.0":
1401+
version "1.15.0"
1402+
resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.0.tgz#645fe54564eab4224127672f2f4fe44876223af0"
1403+
integrity sha512-zC1rmOgFH5v2BCbByOazEqs0aRNpTdLRchDExfcCfgKgeaD+IdpUOqp7i3VG1YzkcnbuZjMlXfM0ugpt+CddoA==
1404+
1405+
"@swc/core-win32-ia32-msvc@1.15.0":
1406+
version "1.15.0"
1407+
resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.0.tgz#fd70c8c8b542a52a88cda758fb82569d52ea949a"
1408+
integrity sha512-7t9U9KwMwQblkdJIH+zX1V4q1o3o41i0HNO+VlnAHT5o+5qHJ963PHKJ/pX3P2UlZnBCY465orJuflAN4rAP9A==
1409+
1410+
"@swc/core-win32-x64-msvc@1.15.0":
1411+
version "1.15.0"
1412+
resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.0.tgz#1d4f06078c7dbf757c537dd08740472694257198"
1413+
integrity sha512-VE0Zod5vcs8iMLT64m5QS1DlTMXJFI/qSgtMDRx8rtZrnjt6/9NW8XUaiPJuRu8GluEO1hmHoyf1qlbY19gGSQ==
1414+
1415+
"@swc/core@^1.7.0":
1416+
version "1.15.0"
1417+
resolved "https://registry.npmjs.org/@swc/core/-/core-1.15.0.tgz#6ae4dbd5a164261ba799ccdf9eae3bbc61e112c2"
1418+
integrity sha512-8SnJV+JV0rYbfSiEiUvYOmf62E7QwsEG+aZueqSlKoxFt0pw333+bgZSQXGUV6etXU88nxur0afVMaINujBMSw==
1419+
dependencies:
1420+
"@swc/counter" "^0.1.3"
1421+
"@swc/types" "^0.1.25"
1422+
optionalDependencies:
1423+
"@swc/core-darwin-arm64" "1.15.0"
1424+
"@swc/core-darwin-x64" "1.15.0"
1425+
"@swc/core-linux-arm-gnueabihf" "1.15.0"
1426+
"@swc/core-linux-arm64-gnu" "1.15.0"
1427+
"@swc/core-linux-arm64-musl" "1.15.0"
1428+
"@swc/core-linux-x64-gnu" "1.15.0"
1429+
"@swc/core-linux-x64-musl" "1.15.0"
1430+
"@swc/core-win32-arm64-msvc" "1.15.0"
1431+
"@swc/core-win32-ia32-msvc" "1.15.0"
1432+
"@swc/core-win32-x64-msvc" "1.15.0"
1433+
1434+
"@swc/counter@^0.1.3":
1435+
version "0.1.3"
1436+
resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9"
1437+
integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
1438+
1439+
"@swc/types@^0.1.25":
1440+
version "0.1.25"
1441+
resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz#b517b2a60feb37dd933e542d93093719e4cf1078"
1442+
integrity sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==
1443+
dependencies:
1444+
"@swc/counter" "^0.1.3"
1445+
13651446
"@types/babel__core@^7.1.14":
13661447
version "7.20.5"
13671448
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
@@ -5967,6 +6048,13 @@ supports-preserve-symlinks-flag@^1.0.0:
59676048
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
59686049
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
59696050

6051+
swc-loader@^0.2.6:
6052+
version "0.2.6"
6053+
resolved "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8"
6054+
integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==
6055+
dependencies:
6056+
"@swc/counter" "^0.1.3"
6057+
59706058
symbol-observable@^1.2.0:
59716059
version "1.2.0"
59726060
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"

0 commit comments

Comments
 (0)