shakapacker 9.0.0.beta.3 → 9.0.0.beta.5

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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/dummy.yml +4 -0
  3. data/.github/workflows/generator.yml +7 -0
  4. data/.github/workflows/node.yml +22 -0
  5. data/.github/workflows/ruby.yml +11 -0
  6. data/.github/workflows/test-bundlers.yml +18 -0
  7. data/.gitignore +20 -0
  8. data/.yalcignore +26 -0
  9. data/CHANGELOG.md +58 -19
  10. data/Gemfile.lock +1 -1
  11. data/README.md +3 -1
  12. data/docs/peer-dependencies.md +23 -3
  13. data/docs/transpiler-performance.md +179 -0
  14. data/docs/typescript.md +99 -0
  15. data/docs/v9_upgrade.md +58 -2
  16. data/lib/install/config/shakapacker.yml +4 -2
  17. data/lib/install/package.json +8 -0
  18. data/lib/install/template.rb +128 -51
  19. data/lib/shakapacker/configuration.rb +58 -1
  20. data/lib/shakapacker/doctor.rb +752 -0
  21. data/lib/shakapacker/swc_migrator.rb +292 -0
  22. data/lib/shakapacker/version.rb +1 -1
  23. data/lib/shakapacker.rb +1 -0
  24. data/lib/tasks/shakapacker/doctor.rake +8 -0
  25. data/lib/tasks/shakapacker/migrate_to_swc.rake +13 -0
  26. data/lib/tasks/shakapacker.rake +1 -0
  27. data/package/config.ts +162 -0
  28. data/package/{dev_server.js → dev_server.ts} +8 -5
  29. data/package/env.ts +67 -0
  30. data/package/environments/base.js +21 -31
  31. data/package/environments/base.ts +137 -0
  32. data/package/index.d.ts +3 -150
  33. data/package/{index.js → index.ts} +17 -8
  34. data/package/loaders.d.ts +27 -0
  35. data/package/types.ts +108 -0
  36. data/package/utils/configPath.ts +6 -0
  37. data/package/utils/{debug.js → debug.ts} +7 -7
  38. data/package/utils/defaultConfigPath.ts +4 -0
  39. data/package/utils/errorHelpers.ts +77 -0
  40. data/package/utils/{getStyleRule.js → getStyleRule.ts} +17 -20
  41. data/package/utils/helpers.ts +85 -0
  42. data/package/utils/{inliningCss.js → inliningCss.ts} +3 -3
  43. data/package/utils/{requireOrError.js → requireOrError.ts} +2 -2
  44. data/package/utils/snakeToCamelCase.ts +5 -0
  45. data/package/utils/typeGuards.ts +228 -0
  46. data/package/utils/{validateDependencies.js → validateDependencies.ts} +4 -4
  47. data/package/webpack-types.d.ts +32 -0
  48. data/package/webpackDevServerConfig.ts +117 -0
  49. data/package.json +6 -2
  50. data/test/package/rules/babel.test.js +16 -0
  51. data/test/typescript/build.test.js +117 -0
  52. data/tsconfig.json +39 -0
  53. data/yarn.lock +5 -5
  54. metadata +32 -18
  55. data/package/config.js +0 -80
  56. data/package/env.js +0 -48
  57. data/package/utils/configPath.js +0 -4
  58. data/package/utils/defaultConfigPath.js +0 -2
  59. data/package/utils/helpers.js +0 -62
  60. data/package/utils/snakeToCamelCase.js +0 -5
  61. data/package/utils/validateCssModulesConfig.js +0 -91
  62. data/package/webpackDevServerConfig.js +0 -73
  63. data/package-lock.json +0 -11966
@@ -1,73 +0,0 @@
1
- const shakapackerDevServerYamlConfig = require("./dev_server")
2
- const snakeToCamelCase = require("./utils/snakeToCamelCase")
3
- const { outputPath: contentBase, publicPath } = require("./config")
4
-
5
- const webpackDevServerMappedKeys = new Set([
6
- // client, server, liveReload, devMiddleware are handled separately
7
- "allowedHosts",
8
- "bonjour",
9
- "compress",
10
- "headers",
11
- "historyApiFallback",
12
- "host",
13
- "hot",
14
- "http2",
15
- "https",
16
- "ipc",
17
- "magicHtml",
18
- "onAfterSetupMiddleware",
19
- "onBeforeSetupMiddleware",
20
- "open",
21
- "port",
22
- "proxy",
23
- "server",
24
- "setupExitSignals",
25
- "setupMiddlewares",
26
- "watchFiles",
27
- "webSocketServer"
28
- ])
29
-
30
- function createDevServerConfig() {
31
- const devServerYamlConfig = { ...shakapackerDevServerYamlConfig }
32
- const liveReload =
33
- devServerYamlConfig.live_reload !== undefined
34
- ? devServerYamlConfig.live_reload
35
- : !devServerYamlConfig.hmr
36
- delete devServerYamlConfig.live_reload
37
-
38
- const config = {
39
- devMiddleware: {
40
- publicPath
41
- },
42
- hot: devServerYamlConfig.hmr,
43
- liveReload,
44
- historyApiFallback: {
45
- disableDotRule: true
46
- },
47
- static: {
48
- publicPath: contentBase
49
- }
50
- }
51
- delete devServerYamlConfig.hmr
52
-
53
- if (devServerYamlConfig.static) {
54
- config.static = { ...config.static, ...devServerYamlConfig.static }
55
- delete devServerYamlConfig.static
56
- }
57
-
58
- if (devServerYamlConfig.client) {
59
- config.client = devServerYamlConfig.client
60
- delete devServerYamlConfig.client
61
- }
62
-
63
- Object.keys(devServerYamlConfig).forEach((yamlKey) => {
64
- const camelYamlKey = snakeToCamelCase(yamlKey)
65
- if (webpackDevServerMappedKeys.has(camelYamlKey)) {
66
- config[camelYamlKey] = devServerYamlConfig[yamlKey]
67
- }
68
- })
69
-
70
- return config
71
- }
72
-
73
- module.exports = createDevServerConfig