shakapacker 9.2.0 → 9.3.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +6 -9
- data/.github/ISSUE_TEMPLATE/feature_request.md +6 -8
- data/.github/workflows/claude-code-review.yml +4 -5
- data/.github/workflows/claude.yml +1 -2
- data/.github/workflows/dummy.yml +4 -4
- data/.github/workflows/generator.yml +9 -9
- data/.github/workflows/node.yml +11 -2
- data/.github/workflows/ruby.yml +16 -16
- data/.github/workflows/test-bundlers.yml +9 -9
- data/.gitignore +4 -0
- data/CHANGELOG.md +74 -5
- data/CLAUDE.md +6 -1
- data/CONTRIBUTING.md +0 -1
- data/Gemfile.lock +1 -1
- data/README.md +14 -14
- data/TODO.md +10 -2
- data/TODO_v9.md +13 -3
- data/bin/export-bundler-config +1 -1
- data/conductor-setup.sh +1 -1
- data/conductor.json +1 -1
- data/docs/cdn_setup.md +13 -8
- data/docs/common-upgrades.md +2 -1
- data/docs/configuration.md +630 -0
- data/docs/css-modules-export-mode.md +120 -100
- data/docs/customizing_babel_config.md +16 -16
- data/docs/deployment.md +18 -0
- data/docs/developing_shakapacker.md +6 -0
- data/docs/optional-peer-dependencies.md +9 -4
- data/docs/peer-dependencies.md +17 -6
- data/docs/precompile_hook.md +342 -0
- data/docs/react.md +57 -47
- data/docs/releasing.md +0 -2
- data/docs/rspack.md +25 -21
- data/docs/rspack_migration_guide.md +335 -8
- data/docs/sprockets.md +1 -0
- data/docs/style_loader_vs_mini_css.md +12 -12
- data/docs/subresource_integrity.md +13 -7
- data/docs/transpiler-performance.md +40 -19
- data/docs/troubleshooting.md +141 -3
- data/docs/typescript-migration.md +48 -39
- data/docs/typescript.md +12 -8
- data/docs/using_esbuild_loader.md +10 -10
- data/docs/v6_upgrade.md +33 -20
- data/docs/v7_upgrade.md +8 -6
- data/docs/v8_upgrade.md +13 -12
- data/docs/v9_upgrade.md +2 -1
- data/eslint.config.fast.js +134 -0
- data/eslint.config.js +140 -0
- data/jest.config.js +8 -1
- data/knip.ts +54 -0
- data/lib/install/bin/export-bundler-config +1 -1
- data/lib/install/config/shakapacker.yml +16 -5
- data/lib/shakapacker/compiler.rb +80 -0
- data/lib/shakapacker/configuration.rb +33 -5
- data/lib/shakapacker/dev_server_runner.rb +140 -1
- data/lib/shakapacker/doctor.rb +294 -65
- data/lib/shakapacker/instance.rb +8 -3
- data/lib/shakapacker/runner.rb +244 -8
- data/lib/shakapacker/version.rb +1 -1
- data/lib/tasks/shakapacker/doctor.rake +42 -2
- data/package/babel/preset.ts +7 -4
- data/package/config.ts +42 -30
- data/package/configExporter/buildValidator.ts +883 -0
- data/package/configExporter/cli.ts +972 -210
- data/package/configExporter/configFile.ts +520 -0
- data/package/configExporter/fileWriter.ts +12 -8
- data/package/configExporter/index.ts +11 -1
- data/package/configExporter/types.ts +54 -2
- data/package/configExporter/yamlSerializer.ts +22 -8
- data/package/dev_server.ts +1 -1
- data/package/environments/__type-tests__/rspack-plugin-compatibility.ts +11 -5
- data/package/environments/base.ts +18 -13
- data/package/environments/development.ts +1 -1
- data/package/environments/production.ts +4 -1
- data/package/index.d.ts +50 -3
- data/package/index.d.ts.template +50 -0
- data/package/index.ts +7 -7
- data/package/loaders.d.ts +2 -2
- data/package/optimization/rspack.ts +1 -1
- data/package/plugins/rspack.ts +15 -4
- data/package/plugins/webpack.ts +7 -3
- data/package/rspack/index.ts +10 -2
- data/package/rules/raw.ts +3 -2
- data/package/rules/sass.ts +1 -1
- data/package/types/README.md +15 -13
- data/package/types/index.ts +5 -5
- data/package/types.ts +0 -1
- data/package/utils/defaultConfigPath.ts +4 -1
- data/package/utils/errorCodes.ts +129 -100
- data/package/utils/errorHelpers.ts +34 -29
- data/package/utils/getStyleRule.ts +5 -2
- data/package/utils/helpers.ts +21 -11
- data/package/utils/pathValidation.ts +43 -35
- data/package/utils/requireOrError.ts +1 -1
- data/package/utils/snakeToCamelCase.ts +1 -1
- data/package/utils/typeGuards.ts +132 -83
- data/package/utils/validateDependencies.ts +1 -1
- data/package/webpack-types.d.ts +3 -3
- data/package/webpackDevServerConfig.ts +22 -10
- data/package-lock.json +2 -2
- data/package.json +25 -16
- data/scripts/type-check-no-emit.js +1 -1
- data/test/configExporter/buildValidator.test.js +1292 -0
- data/test/configExporter/configFile.test.js +392 -0
- data/test/configExporter/integration.test.js +275 -0
- data/test/helpers.js +1 -1
- data/test/package/configExporter.test.js +154 -0
- data/test/package/environments/base.test.js +6 -3
- data/test/package/helpers.test.js +2 -2
- data/test/package/rules/babel.test.js +61 -51
- data/test/package/rules/esbuild.test.js +12 -3
- data/test/package/rules/file.test.js +3 -1
- data/test/package/rules/sass-version-parsing.test.js +71 -0
- data/test/package/rules/sass.test.js +11 -6
- data/test/package/rules/sass1.test.js +4 -5
- data/test/package/rules/sass16.test.js +24 -0
- data/test/package/rules/swc.test.js +48 -38
- data/tools/README.md +15 -5
- data/tsconfig.eslint.json +2 -9
- data/yarn.lock +1954 -1493
- metadata +22 -3
- data/.eslintignore +0 -5
data/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shakapacker",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0-beta.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "shakapacker",
|
|
9
|
-
"version": "9.
|
|
9
|
+
"version": "9.3.0-beta.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"js-yaml": "^4.1.0",
|
data/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shakapacker",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0-beta.1",
|
|
4
4
|
"description": "Use webpack to manage app-like JavaScript modules in Rails",
|
|
5
5
|
"homepage": "https://github.com/shakacode/shakapacker",
|
|
6
6
|
"bugs": {
|
|
@@ -32,10 +32,12 @@
|
|
|
32
32
|
],
|
|
33
33
|
"scripts": {
|
|
34
34
|
"clean:ts": "find package -name '*.ts' -not -name '*.d.ts' | sed 's/\\.ts$//' | xargs -I {} rm -f {}.js {}.d.ts {}.d.ts.map {}.js.map",
|
|
35
|
-
"build": "tsc && node scripts/remove-use-strict.js && yarn prettier --write 'package/**/*.js'",
|
|
35
|
+
"build": "tsc && cp package/index.d.ts.template package/index.d.ts && node scripts/remove-use-strict.js && yarn prettier --write 'package/**/*.js'",
|
|
36
36
|
"build:types": "tsc",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
37
|
+
"knip": "knip",
|
|
38
|
+
"knip:production": "knip --production",
|
|
39
|
+
"lint": "eslint . --cache",
|
|
40
|
+
"lint:fast": "eslint . --config eslint.config.fast.js --cache",
|
|
39
41
|
"test": "jest",
|
|
40
42
|
"type-check": "tsc --noEmit",
|
|
41
43
|
"prepublishOnly": "yarn build && yarn type-check"
|
|
@@ -43,11 +45,14 @@
|
|
|
43
45
|
"dependencies": {
|
|
44
46
|
"js-yaml": "^4.1.0",
|
|
45
47
|
"path-complete-extname": "^1.0.0",
|
|
46
|
-
"webpack-merge": "^5.8.0"
|
|
48
|
+
"webpack-merge": "^5.8.0",
|
|
49
|
+
"yargs": "^17.7.2"
|
|
47
50
|
},
|
|
48
51
|
"devDependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
52
|
+
"@eslint/eslintrc": "^3.2.0",
|
|
53
|
+
"@eslint/js": "^9.37.0",
|
|
54
|
+
"@rspack/cli": "^1.5.8",
|
|
55
|
+
"@rspack/core": "^1.5.8",
|
|
51
56
|
"@swc/core": "^1.3.0",
|
|
52
57
|
"@types/babel__core": "^7.20.5",
|
|
53
58
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -56,23 +61,25 @@
|
|
|
56
61
|
"@types/webpack": "^5.28.5",
|
|
57
62
|
"@types/webpack-dev-server": "^4.7.2",
|
|
58
63
|
"@types/webpack-merge": "^5.0.0",
|
|
59
|
-
"@
|
|
60
|
-
"@typescript-eslint/
|
|
64
|
+
"@types/yargs": "^17.0.33",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
66
|
+
"@typescript-eslint/parser": "^8.46.0",
|
|
61
67
|
"babel-loader": "^8.2.4",
|
|
62
68
|
"compression-webpack-plugin": "^9.0.0",
|
|
63
69
|
"css-loader": "^7.1.2",
|
|
64
70
|
"esbuild-loader": "^2.18.0",
|
|
65
|
-
"eslint": "^
|
|
71
|
+
"eslint": "^9.37.0",
|
|
66
72
|
"eslint-config-airbnb": "^19.0.4",
|
|
67
|
-
"eslint-config-prettier": "^
|
|
68
|
-
"eslint-plugin-import": "^2.
|
|
69
|
-
"eslint-plugin-jest": "^
|
|
73
|
+
"eslint-config-prettier": "^10.1.8",
|
|
74
|
+
"eslint-plugin-import": "^2.32.0",
|
|
75
|
+
"eslint-plugin-jest": "^29.0.1",
|
|
70
76
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
71
|
-
"eslint-plugin-prettier": "^5.
|
|
77
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
72
78
|
"eslint-plugin-react": "^7.37.5",
|
|
73
|
-
"eslint-plugin-react-hooks": "^
|
|
79
|
+
"eslint-plugin-react-hooks": "^7.0.0",
|
|
74
80
|
"husky": "^9.1.7",
|
|
75
81
|
"jest": "^29.7.0",
|
|
82
|
+
"knip": "^5.64.2",
|
|
76
83
|
"lint-staged": "^15.2.10",
|
|
77
84
|
"memory-fs": "^0.5.0",
|
|
78
85
|
"mini-css-extract-plugin": "^2.9.4",
|
|
@@ -81,9 +88,11 @@
|
|
|
81
88
|
"sass-loader": "^16.0.5",
|
|
82
89
|
"swc-loader": "^0.1.15",
|
|
83
90
|
"thenify": "^3.3.1",
|
|
91
|
+
"ts-jest": "^29.4.5",
|
|
84
92
|
"typescript": "^5.9.2",
|
|
85
93
|
"webpack": "5.93.0",
|
|
86
94
|
"webpack-assets-manifest": "^5.0.6",
|
|
95
|
+
"webpack-cli": "^6.0.0",
|
|
87
96
|
"webpack-subresource-integrity": "^5.1.0"
|
|
88
97
|
},
|
|
89
98
|
"peerDependencies": {
|
|
@@ -210,7 +219,7 @@
|
|
|
210
219
|
]
|
|
211
220
|
},
|
|
212
221
|
"engines": {
|
|
213
|
-
"node": ">=
|
|
222
|
+
"node": ">= 20",
|
|
214
223
|
"yarn": ">=1 <5"
|
|
215
224
|
},
|
|
216
225
|
"publishConfig": {
|