@tramvai/cli 5.49.1 → 6.59.0
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.
- package/__migrations__/d2023-02-01b-tramvai-config-refactoring.js +78 -80
- package/__migrations__/d2025-04-11b-tramvai-config-remove-modern.js +13 -0
- package/bin/spawn.js +76 -4
- package/lib/api/analyze/index.d.ts +0 -1
- package/lib/api/analyze/index.d.ts.map +1 -1
- package/lib/api/analyze/index.js +2 -2
- package/lib/api/analyze/index.js.map +1 -1
- package/lib/api/build/application.d.ts.map +1 -1
- package/lib/api/build/application.js +2 -5
- package/lib/api/build/application.js.map +1 -1
- package/lib/api/build/child-app.d.ts.map +1 -1
- package/lib/api/build/child-app.js +1 -5
- package/lib/api/build/child-app.js.map +1 -1
- package/lib/api/build/index.d.ts +0 -2
- package/lib/api/build/index.d.ts.map +1 -1
- package/lib/api/build/index.js.map +1 -1
- package/lib/api/build/module.d.ts.map +1 -1
- package/lib/api/build/module.js +1 -3
- package/lib/api/build/module.js.map +1 -1
- package/lib/api/index.d.ts.map +1 -1
- package/lib/api/index.js +0 -4
- package/lib/api/index.js.map +1 -1
- package/lib/api/start/application.experimental.d.ts +7 -0
- package/lib/api/start/application.experimental.d.ts.map +1 -0
- package/lib/api/start/application.experimental.js +275 -0
- package/lib/api/start/application.experimental.js.map +1 -0
- package/lib/api/start/index.d.ts +1 -1
- package/lib/api/start/index.d.ts.map +1 -1
- package/lib/api/start/index.js +17 -6
- package/lib/api/start/index.js.map +1 -1
- package/lib/api/start/utils/banner.d.ts.map +1 -1
- package/lib/api/start/utils/banner.js +0 -1
- package/lib/api/start/utils/banner.js.map +1 -1
- package/lib/api/start/utils/tips/tips.d.ts.map +1 -1
- package/lib/api/start/utils/tips/tips.js +0 -8
- package/lib/api/start/utils/tips/tips.js.map +1 -1
- package/lib/builder/webpack/devServer/pool/process/pool.d.ts.map +1 -1
- package/lib/builder/webpack/devServer/pool/process/pool.js +0 -2
- package/lib/builder/webpack/devServer/pool/process/pool.js.map +1 -1
- package/lib/builder/webpack/devServer/server.d.ts.map +1 -1
- package/lib/builder/webpack/devServer/server.js +4 -0
- package/lib/builder/webpack/devServer/server.js.map +1 -1
- package/lib/builder/webpack/devServer/setup.d.ts.map +1 -1
- package/lib/builder/webpack/devServer/setup.js +3 -1
- package/lib/builder/webpack/devServer/setup.js.map +1 -1
- package/lib/builder/webpack/index.d.ts.map +1 -1
- package/lib/builder/webpack/index.js +3 -5
- package/lib/builder/webpack/index.js.map +1 -1
- package/lib/builder/webpack/providers/analyze/shared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/analyze/shared.js +5 -9
- package/lib/builder/webpack/providers/analyze/shared.js.map +1 -1
- package/lib/builder/webpack/providers/build/client.d.ts.map +1 -1
- package/lib/builder/webpack/providers/build/client.js +0 -1
- package/lib/builder/webpack/providers/build/client.js.map +1 -1
- package/lib/builder/webpack/providers/build/clientShared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/build/clientShared.js +4 -6
- package/lib/builder/webpack/providers/build/clientShared.js.map +1 -1
- package/lib/builder/webpack/providers/client.d.ts.map +1 -1
- package/lib/builder/webpack/providers/client.js +10 -22
- package/lib/builder/webpack/providers/client.js.map +1 -1
- package/lib/builder/webpack/providers/server.d.ts.map +1 -1
- package/lib/builder/webpack/providers/server.js +10 -9
- package/lib/builder/webpack/providers/server.js.map +1 -1
- package/lib/builder/webpack/providers/shared.d.ts.map +1 -1
- package/lib/builder/webpack/providers/shared.js +2 -8
- package/lib/builder/webpack/providers/shared.js.map +1 -1
- package/lib/builder/webpack/tokens.d.ts +4 -139
- package/lib/builder/webpack/tokens.d.ts.map +1 -1
- package/lib/builder/webpack/tokens.js +1 -4
- package/lib/builder/webpack/tokens.js.map +1 -1
- package/lib/builder/webpack/utils/copyStatsJsonFile.d.ts.map +1 -1
- package/lib/builder/webpack/utils/copyStatsJsonFile.js +0 -11
- package/lib/builder/webpack/utils/copyStatsJsonFile.js.map +1 -1
- package/lib/cli/CLI.d.ts +2 -2
- package/lib/cli/CLI.d.ts.map +1 -1
- package/lib/cli/CLI.js +2 -2
- package/lib/cli/CLI.js.map +1 -1
- package/lib/cli/bin-init.js +0 -2
- package/lib/cli/bin-init.js.map +1 -1
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +28 -18
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/runCLI.d.ts +3 -0
- package/lib/cli/runCLI.d.ts.map +1 -1
- package/lib/cli/runCLI.js +18 -6
- package/lib/cli/runCLI.js.map +1 -1
- package/lib/commands/add/command.d.ts +1 -4
- package/lib/commands/add/command.d.ts.map +1 -1
- package/lib/commands/add/command.js +3 -2
- package/lib/commands/add/command.js.map +1 -1
- package/lib/commands/analyze/command.d.ts +1 -1
- package/lib/commands/analyze/command.d.ts.map +1 -1
- package/lib/commands/analyze/command.js +11 -13
- package/lib/commands/analyze/command.js.map +1 -1
- package/lib/commands/benchmark/command.d.ts +1 -1
- package/lib/commands/benchmark/command.d.ts.map +1 -1
- package/lib/commands/benchmark/command.js +8 -9
- package/lib/commands/benchmark/command.js.map +1 -1
- package/lib/commands/build/build.d.ts.map +1 -1
- package/lib/commands/build/build.js +1 -0
- package/lib/commands/build/build.js.map +1 -1
- package/lib/commands/build/command.d.ts +2 -2
- package/lib/commands/build/command.d.ts.map +1 -1
- package/lib/commands/build/command.js +53 -28
- package/lib/commands/build/command.js.map +1 -1
- package/lib/commands/createApp.d.ts.map +1 -1
- package/lib/commands/createApp.js +0 -1
- package/lib/commands/createApp.js.map +1 -1
- package/lib/commands/generate/command.d.ts +1 -1
- package/lib/commands/generate/command.d.ts.map +1 -1
- package/lib/commands/generate/command.js +3 -2
- package/lib/commands/generate/command.js.map +1 -1
- package/lib/commands/lint/command.d.ts +1 -1
- package/lib/commands/lint/command.d.ts.map +1 -1
- package/lib/commands/lint/command.js +3 -2
- package/lib/commands/lint/command.js.map +1 -1
- package/lib/commands/new/command.d.ts +0 -1
- package/lib/commands/new/command.d.ts.map +1 -1
- package/lib/commands/new/command.js +0 -1
- package/lib/commands/new/command.js.map +1 -1
- package/lib/commands/new/new.d.ts.map +1 -1
- package/lib/commands/new/new.js +28 -3
- package/lib/commands/new/new.js.map +1 -1
- package/lib/commands/new/steps/installDependencies.js +3 -3
- package/lib/commands/new/steps/installDependencies.js.map +1 -1
- package/lib/commands/start/command.d.ts +2 -2
- package/lib/commands/start/command.d.ts.map +1 -1
- package/lib/commands/start/command.js +57 -22
- package/lib/commands/start/command.js.map +1 -1
- package/lib/commands/start/start.d.ts +1 -1
- package/lib/commands/start/start.d.ts.map +1 -1
- package/lib/commands/start/start.js +2 -1
- package/lib/commands/start/start.js.map +1 -1
- package/lib/commands/start-prod/command.d.ts +1 -1
- package/lib/commands/start-prod/command.d.ts.map +1 -1
- package/lib/commands/start-prod/command.js +11 -13
- package/lib/commands/start-prod/command.js.map +1 -1
- package/lib/commands/static/application.d.ts.map +1 -1
- package/lib/commands/static/application.js +0 -1
- package/lib/commands/static/application.js.map +1 -1
- package/lib/commands/static/command.d.ts +1 -1
- package/lib/commands/static/command.d.ts.map +1 -1
- package/lib/commands/static/command.js +7 -3
- package/lib/commands/static/command.js.map +1 -1
- package/lib/commands/update/command.d.ts +7 -5
- package/lib/commands/update/command.d.ts.map +1 -1
- package/lib/commands/update/command.js +11 -3
- package/lib/commands/update/command.js.map +1 -1
- package/lib/commands/update/dependantLibs.d.ts +2 -1
- package/lib/commands/update/dependantLibs.d.ts.map +1 -1
- package/lib/commands/update/dependantLibs.js +17 -4
- package/lib/commands/update/dependantLibs.js.map +1 -1
- package/lib/commands/update/update.d.ts +2 -1
- package/lib/commands/update/update.d.ts.map +1 -1
- package/lib/commands/update/update.js +6 -6
- package/lib/commands/update/update.js.map +1 -1
- package/lib/commands/update/updatePackageJson.d.ts +1 -1
- package/lib/commands/update/updatePackageJson.d.ts.map +1 -1
- package/lib/commands/update/updatePackageJson.js +10 -14
- package/lib/commands/update/updatePackageJson.js.map +1 -1
- package/lib/config/configManager.d.ts +0 -1
- package/lib/config/configManager.d.ts.map +1 -1
- package/lib/config/configManager.js +2 -17
- package/lib/config/configManager.js.map +1 -1
- package/lib/config/validate.d.ts.map +1 -1
- package/lib/config/validate.js +8 -1
- package/lib/config/validate.js.map +1 -1
- package/lib/di/providers/index.d.ts +0 -1
- package/lib/di/providers/index.d.ts.map +1 -1
- package/lib/di/providers/index.js +0 -1
- package/lib/di/providers/index.js.map +1 -1
- package/lib/di/tokens/config.d.ts +2 -0
- package/lib/di/tokens/config.d.ts.map +1 -1
- package/lib/di/tokens/index.d.ts +0 -1
- package/lib/di/tokens/index.d.ts.map +1 -1
- package/lib/di/tokens/index.js +0 -1
- package/lib/di/tokens/index.js.map +1 -1
- package/lib/external/config.d.ts.map +1 -1
- package/lib/external/config.js.map +1 -1
- package/lib/library/babel/index.d.ts +3 -53
- package/lib/library/babel/index.d.ts.map +1 -1
- package/lib/library/babel/index.js +3 -139
- package/lib/library/babel/index.js.map +1 -1
- package/lib/library/swc/index.d.ts +3 -3
- package/lib/library/swc/index.d.ts.map +1 -1
- package/lib/library/swc/index.js +4 -114
- package/lib/library/swc/index.js.map +1 -1
- package/lib/library/typescript/index.d.ts +0 -23
- package/lib/library/typescript/index.d.ts.map +1 -1
- package/lib/library/typescript/index.js +1 -2
- package/lib/library/typescript/index.js.map +1 -1
- package/lib/library/webpack/application/client/common.d.ts.map +1 -1
- package/lib/library/webpack/application/client/common.js +45 -10
- package/lib/library/webpack/application/client/common.js.map +1 -1
- package/lib/library/webpack/application/client/dev.js +2 -2
- package/lib/library/webpack/application/client/dev.js.map +1 -1
- package/lib/library/webpack/application/client/prod.d.ts.map +1 -1
- package/lib/library/webpack/application/client/prod.js +1 -2
- package/lib/library/webpack/application/client/prod.js.map +1 -1
- package/lib/library/webpack/application/common.d.ts.map +1 -1
- package/lib/library/webpack/application/common.js +4 -5
- package/lib/library/webpack/application/common.js.map +1 -1
- package/lib/library/webpack/application/server/common.js +1 -1
- package/lib/library/webpack/application/server/common.js.map +1 -1
- package/lib/library/webpack/application/server/dev.js +1 -1
- package/lib/library/webpack/application/server/dev.js.map +1 -1
- package/lib/library/webpack/application/server/prod.js +1 -1
- package/lib/library/webpack/application/server/prod.js.map +1 -1
- package/lib/library/webpack/blocks/css.d.ts.map +1 -1
- package/lib/library/webpack/blocks/css.js +15 -11
- package/lib/library/webpack/blocks/css.js.map +1 -1
- package/lib/library/webpack/blocks/optimize.js +2 -2
- package/lib/library/webpack/blocks/optimize.js.map +1 -1
- package/lib/library/webpack/blocks/pwa/client.d.ts.map +1 -1
- package/lib/library/webpack/blocks/pwa/client.js +11 -63
- package/lib/library/webpack/blocks/pwa/client.js.map +1 -1
- package/lib/library/webpack/blocks/pwa/shared.d.ts.map +1 -1
- package/lib/library/webpack/blocks/pwa/shared.js +2 -3
- package/lib/library/webpack/blocks/pwa/shared.js.map +1 -1
- package/lib/library/webpack/blocks/resolve.d.ts.map +1 -1
- package/lib/library/webpack/blocks/resolve.js +3 -2
- package/lib/library/webpack/blocks/resolve.js.map +1 -1
- package/lib/library/webpack/blocks/serverInline.d.ts.map +1 -1
- package/lib/library/webpack/blocks/serverInline.js +1 -2
- package/lib/library/webpack/blocks/serverInline.js.map +1 -1
- package/lib/library/webpack/blocks/sourcemaps.d.ts +1 -1
- package/lib/library/webpack/blocks/sourcemaps.d.ts.map +1 -1
- package/lib/library/webpack/blocks/sourcemaps.js +4 -2
- package/lib/library/webpack/blocks/sourcemaps.js.map +1 -1
- package/lib/library/webpack/child-app/client/common.d.ts.map +1 -1
- package/lib/library/webpack/child-app/client/common.js +8 -3
- package/lib/library/webpack/child-app/client/common.js.map +1 -1
- package/lib/library/webpack/child-app/client/dev.d.ts.map +1 -1
- package/lib/library/webpack/child-app/client/dev.js +5 -1
- package/lib/library/webpack/child-app/client/dev.js.map +1 -1
- package/lib/library/webpack/child-app/client/prod.d.ts.map +1 -1
- package/lib/library/webpack/child-app/client/prod.js +4 -0
- package/lib/library/webpack/child-app/client/prod.js.map +1 -1
- package/lib/library/webpack/child-app/common.d.ts.map +1 -1
- package/lib/library/webpack/child-app/common.js +4 -9
- package/lib/library/webpack/child-app/common.js.map +1 -1
- package/lib/library/webpack/child-app/server/dev.d.ts.map +1 -1
- package/lib/library/webpack/child-app/server/dev.js +4 -0
- package/lib/library/webpack/child-app/server/dev.js.map +1 -1
- package/lib/library/webpack/child-app/server/prod.d.ts.map +1 -1
- package/lib/library/webpack/child-app/server/prod.js +4 -0
- package/lib/library/webpack/child-app/server/prod.js.map +1 -1
- package/lib/library/webpack/common/client/prod.js +1 -1
- package/lib/library/webpack/common/client/prod.js.map +1 -1
- package/lib/library/webpack/common/main.d.ts.map +1 -1
- package/lib/library/webpack/common/main.js +1 -2
- package/lib/library/webpack/common/main.js.map +1 -1
- package/lib/library/webpack/constants/stats.d.ts.map +1 -1
- package/lib/library/webpack/constants/stats.js +2 -0
- package/lib/library/webpack/constants/stats.js.map +1 -1
- package/lib/library/webpack/loaders/image-loader/getImageMiniatureURL.js +1 -1
- package/lib/library/webpack/loaders/image-loader/getImageMiniatureURL.js.map +1 -1
- package/lib/library/webpack/module/client/common.js +1 -1
- package/lib/library/webpack/module/client/common.js.map +1 -1
- package/lib/library/webpack/module/externals.js +1 -1
- package/lib/library/webpack/module/externals.js.map +1 -1
- package/lib/library/webpack/module/server/common.js +1 -1
- package/lib/library/webpack/module/server/common.js.map +1 -1
- package/lib/library/webpack/plugins/RuntimePathPlugin.d.ts.map +1 -1
- package/lib/library/webpack/plugins/RuntimePathPlugin.js +7 -3
- package/lib/library/webpack/plugins/RuntimePathPlugin.js.map +1 -1
- package/lib/library/webpack/utils/threadLoader.d.ts.map +1 -1
- package/lib/library/webpack/utils/threadLoader.js +20 -3
- package/lib/library/webpack/utils/threadLoader.js.map +1 -1
- package/lib/library/webpack/utils/transpiler.d.ts +0 -1
- package/lib/library/webpack/utils/transpiler.d.ts.map +1 -1
- package/lib/library/webpack/utils/transpiler.js +2 -6
- package/lib/library/webpack/utils/transpiler.js.map +1 -1
- package/lib/models/analytics/utils.d.ts +16 -0
- package/lib/models/analytics/utils.d.ts.map +1 -0
- package/lib/models/analytics/utils.js +88 -0
- package/lib/models/analytics/utils.js.map +1 -0
- package/lib/models/command.d.ts +1 -1
- package/lib/models/command.d.ts.map +1 -1
- package/lib/models/command.js +2 -8
- package/lib/models/command.js.map +1 -1
- package/lib/models/context.d.ts +4 -4
- package/lib/models/context.d.ts.map +1 -1
- package/lib/models/context.js +3 -2
- package/lib/models/context.js.map +1 -1
- package/lib/models/logger.js +1 -1
- package/lib/models/logger.js.map +1 -1
- package/lib/models/task.d.ts.map +1 -1
- package/lib/models/task.js +1 -7
- package/lib/models/task.js.map +1 -1
- package/lib/schema/autogeneratedSchema.json +161 -20
- package/lib/schema/topLevelSchema.d.ts +14 -0
- package/lib/schema/topLevelSchema.d.ts.map +1 -1
- package/lib/schema/topLevelSchema.js +14 -0
- package/lib/schema/topLevelSchema.js.map +1 -1
- package/lib/typings/build/Builder.d.ts +2 -6
- package/lib/typings/build/Builder.d.ts.map +1 -1
- package/lib/typings/configEntry/application.d.ts +11 -6
- package/lib/typings/configEntry/application.d.ts.map +1 -1
- package/lib/typings/configEntry/cli.d.ts +13 -0
- package/lib/typings/configEntry/cli.d.ts.map +1 -1
- package/lib/typings/projectType.d.ts +5 -0
- package/lib/typings/projectType.d.ts.map +1 -1
- package/lib/typings/public.d.ts +0 -1
- package/lib/typings/public.d.ts.map +1 -1
- package/lib/typings/public.js +0 -2
- package/lib/typings/public.js.map +1 -1
- package/lib/typings/target.d.ts +1 -1
- package/lib/typings/target.d.ts.map +1 -1
- package/lib/utils/commands/dependencies/findTramvaiVersion.d.ts +1 -1
- package/lib/utils/commands/dependencies/findTramvaiVersion.d.ts.map +1 -1
- package/lib/utils/commands/dependencies/findTramvaiVersion.js +4 -11
- package/lib/utils/commands/dependencies/findTramvaiVersion.js.map +1 -1
- package/lib/utils/commands/dependencies/getLatestPackageVersion.d.ts +1 -1
- package/lib/utils/commands/dependencies/getLatestPackageVersion.d.ts.map +1 -1
- package/lib/utils/commands/dependencies/getLatestPackageVersion.js +7 -3
- package/lib/utils/commands/dependencies/getLatestPackageVersion.js.map +1 -1
- package/lib/utils/cpu-profile.d.ts +3 -0
- package/lib/utils/cpu-profile.d.ts.map +1 -1
- package/lib/utils/cpu-profile.js +8 -4
- package/lib/utils/cpu-profile.js.map +1 -1
- package/lib/utils/safeRequire.d.ts +1 -1
- package/lib/utils/safeRequire.d.ts.map +1 -1
- package/lib/utils/safeRequire.js +13 -3
- package/lib/utils/safeRequire.js.map +1 -1
- package/package.json +26 -32
- package/schema.json +175 -20
- package/src/api/analyze/index.ts +2 -3
- package/src/api/benchmark/__integration__/__fixtures__/tramvai.json +3 -0
- package/src/api/build/__integration__/__fixtures__/tramvai.json +4 -2
- package/src/api/build/__integration__/build.test.ts +0 -1
- package/src/api/build/application.ts +2 -5
- package/src/api/build/child-app.ts +1 -5
- package/src/api/build/index.ts +0 -2
- package/src/api/build/module.ts +1 -3
- package/src/api/index.ts +1 -10
- package/src/api/start/__integration__/__fixtures__/app/server.tsx +1 -0
- package/src/api/start/__integration__/__fixtures__/package.json +0 -3
- package/src/api/start/__integration__/__fixtures__/tramvai.json +3 -0
- package/src/api/start/__integration__/start.test.ts +10 -1
- package/src/api/start/application.experimental.ts +305 -0
- package/src/api/start/index.ts +20 -5
- package/src/api/start/utils/banner.ts +0 -1
- package/src/api/start/utils/tips/tips.ts +0 -9
- package/src/builder/webpack/devServer/pool/process/pool.ts +0 -2
- package/src/builder/webpack/devServer/server.ts +5 -0
- package/src/builder/webpack/devServer/setup.ts +1 -0
- package/src/builder/webpack/index.ts +3 -5
- package/src/builder/webpack/providers/analyze/shared.ts +6 -10
- package/src/builder/webpack/providers/build/client.ts +0 -1
- package/src/builder/webpack/providers/build/clientShared.ts +5 -11
- package/src/builder/webpack/providers/client.ts +16 -29
- package/src/builder/webpack/providers/server.ts +15 -10
- package/src/builder/webpack/providers/shared.ts +2 -9
- package/src/builder/webpack/tokens.ts +0 -9
- package/src/builder/webpack/utils/copyStatsJsonFile.ts +0 -17
- package/src/cli/CLI.ts +6 -4
- package/src/cli/bin-init.ts +0 -2
- package/src/cli/index.ts +36 -18
- package/src/cli/runCLI.ts +26 -6
- package/src/commands/add/command.ts +3 -2
- package/src/commands/analyze/command.ts +12 -14
- package/src/commands/benchmark/command.ts +9 -10
- package/src/commands/build/build.ts +2 -0
- package/src/commands/build/command.ts +58 -29
- package/src/commands/createApp.ts +0 -2
- package/src/commands/generate/command.ts +3 -2
- package/src/commands/lint/command.ts +3 -2
- package/src/commands/new/command.ts +0 -2
- package/src/commands/new/new.ts +39 -7
- package/src/commands/new/steps/installDependencies.ts +3 -3
- package/src/commands/new/templates/packageManagerConfig/yarnPackageManagerConfig/_yarnrc.yml.hbs +9 -0
- package/src/commands/new/templates/shared/_gitignore.hbs +10 -0
- package/src/commands/new/templates/shared/_prettierrc.js.hbs +1 -1
- package/src/commands/new/templates/shared/package.json.hbs +5 -1
- package/src/commands/start/command.ts +62 -23
- package/src/commands/start/start.ts +7 -1
- package/src/commands/start-prod/command.ts +12 -14
- package/src/commands/static/application.ts +0 -1
- package/src/commands/static/command.ts +7 -3
- package/src/commands/update/command.ts +12 -3
- package/src/commands/update/dependantLibs.ts +23 -8
- package/src/commands/update/update.ts +7 -6
- package/src/commands/update/updatePackageJson.spec.ts +66 -3
- package/src/commands/update/updatePackageJson.ts +28 -16
- package/src/config/__integration__/__fixtures__/relative/src/index.ts +0 -0
- package/src/config/__integration__/__fixtures__/relative/src/polyfill.ts +0 -0
- package/src/config/__integration__/validate.test.ts +94 -0
- package/src/config/configManager.ts +2 -19
- package/src/config/validate.ts +8 -1
- package/src/di/providers/index.ts +0 -1
- package/src/di/tokens/index.ts +0 -1
- package/src/external/config.ts +1 -0
- package/src/library/babel/index.ts +3 -166
- package/src/library/swc/__integration__/__snapshots__/swc.build.test.ts.snap +61 -236
- package/src/library/swc/__integration__/__snapshots__/swc.start.test.ts.snap +19 -18
- package/src/library/swc/__integration__/swc.build.test.ts +1 -13
- package/src/library/swc/__integration__/swc.start.test.ts +4 -1
- package/src/library/swc/index.ts +3 -139
- package/src/library/typescript/index.ts +1 -3
- package/src/library/webpack/application/client/common.ts +71 -9
- package/src/library/webpack/application/client/dev.ts +2 -2
- package/src/library/webpack/application/client/prod.ts +1 -2
- package/src/library/webpack/application/common.ts +9 -5
- package/src/library/webpack/application/server/common.ts +1 -1
- package/src/library/webpack/application/server/dev.ts +1 -1
- package/src/library/webpack/application/server/prod.ts +1 -1
- package/src/library/webpack/blocks/css.ts +17 -11
- package/src/library/webpack/blocks/optimize.ts +2 -2
- package/src/library/webpack/blocks/pwa/client.ts +14 -70
- package/src/library/webpack/blocks/pwa/shared.ts +1 -3
- package/src/library/webpack/blocks/resolve.ts +3 -2
- package/src/library/webpack/blocks/serverInline.ts +1 -2
- package/src/library/webpack/blocks/sourcemaps.ts +4 -2
- package/src/library/webpack/child-app/client/common.ts +9 -3
- package/src/library/webpack/child-app/client/dev.ts +6 -1
- package/src/library/webpack/child-app/client/prod.ts +5 -0
- package/src/library/webpack/child-app/common.ts +8 -12
- package/src/library/webpack/child-app/server/dev.ts +5 -0
- package/src/library/webpack/child-app/server/prod.ts +5 -0
- package/src/library/webpack/common/client/prod.ts +1 -1
- package/src/library/webpack/common/main.ts +1 -5
- package/src/library/webpack/constants/stats.ts +2 -0
- package/src/library/webpack/loaders/image-loader/getImageMiniatureURL.ts +1 -1
- package/src/library/webpack/module/client/common.ts +1 -1
- package/src/library/webpack/module/externals.ts +1 -1
- package/src/library/webpack/module/server/common.ts +1 -1
- package/src/library/webpack/plugins/RuntimePathPlugin.ts +8 -3
- package/src/library/webpack/utils/threadLoader.ts +21 -0
- package/src/library/webpack/utils/transpiler.ts +3 -7
- package/src/models/analytics/utils.ts +126 -0
- package/src/models/command.ts +4 -12
- package/src/models/config.spec.ts +6 -2
- package/src/models/context.ts +4 -5
- package/src/models/logger.ts +1 -1
- package/src/models/task.ts +1 -7
- package/src/schema/autogeneratedSchema.json +161 -20
- package/src/schema/topLevelSchema.js +14 -0
- package/src/schema/tramvai.spec.ts +3 -1
- package/src/typings/build/Builder.ts +3 -8
- package/src/typings/configEntry/application.ts +16 -7
- package/src/typings/configEntry/cli.ts +14 -0
- package/src/typings/projectType.ts +5 -0
- package/src/typings/public.ts +0 -2
- package/src/typings/target.ts +1 -1
- package/src/utils/commands/dependencies/findTramvaiVersion.ts +5 -12
- package/src/utils/commands/dependencies/getLatestPackageVersion.ts +11 -3
- package/src/utils/cpu-profile.ts +14 -4
- package/src/utils/safeRequire.spec.ts +36 -0
- package/src/utils/safeRequire.ts +12 -3
- package/lib/builder/webpack/providers/build/clientModern.d.ts +0 -3
- package/lib/builder/webpack/providers/build/clientModern.d.ts.map +0 -1
- package/lib/builder/webpack/providers/build/clientModern.js +0 -60
- package/lib/builder/webpack/providers/build/clientModern.js.map +0 -1
- package/lib/di/providers/analytics.d.ts +0 -3
- package/lib/di/providers/analytics.d.ts.map +0 -1
- package/lib/di/providers/analytics.js +0 -20
- package/lib/di/providers/analytics.js.map +0 -1
- package/lib/di/tokens/analytics.d.ts +0 -14
- package/lib/di/tokens/analytics.d.ts.map +0 -1
- package/lib/di/tokens/analytics.js +0 -8
- package/lib/di/tokens/analytics.js.map +0 -1
- package/lib/library/babel/plugins/create-token-pure.d.ts +0 -7
- package/lib/library/babel/plugins/create-token-pure.d.ts.map +0 -1
- package/lib/library/babel/plugins/create-token-pure.js +0 -39
- package/lib/library/babel/plugins/create-token-pure.js.map +0 -1
- package/lib/library/babel/plugins/fill-action-name.d.ts +0 -3
- package/lib/library/babel/plugins/fill-action-name.d.ts.map +0 -1
- package/lib/library/babel/plugins/fill-action-name.js +0 -107
- package/lib/library/babel/plugins/fill-action-name.js.map +0 -1
- package/lib/library/babel/plugins/fill-declare-action-name.d.ts +0 -6
- package/lib/library/babel/plugins/fill-declare-action-name.d.ts.map +0 -1
- package/lib/library/babel/plugins/fill-declare-action-name.js +0 -94
- package/lib/library/babel/plugins/fill-declare-action-name.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/lazy-component.d.ts +0 -7
- package/lib/library/babel/plugins/lazy-component/lazy-component.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/lazy-component.js +0 -75
- package/lib/library/babel/plugins/lazy-component/lazy-component.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/legacy-universal-replace.d.ts +0 -14
- package/lib/library/babel/plugins/lazy-component/legacy-universal-replace.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/legacy-universal-replace.js +0 -53
- package/lib/library/babel/plugins/lazy-component/legacy-universal-replace.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/chunkName.d.ts +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/chunkName.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/chunkName.js +0 -133
- package/lib/library/babel/plugins/lazy-component/properties/chunkName.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/importAsync.d.ts +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/importAsync.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/importAsync.js +0 -11
- package/lib/library/babel/plugins/lazy-component/properties/importAsync.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/isReady.d.ts +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/isReady.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/isReady.js +0 -14
- package/lib/library/babel/plugins/lazy-component/properties/isReady.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/requireAsync.d.ts +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/requireAsync.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/requireAsync.js +0 -15
- package/lib/library/babel/plugins/lazy-component/properties/requireAsync.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/requireSync.d.ts +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/requireSync.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/requireSync.js +0 -16
- package/lib/library/babel/plugins/lazy-component/properties/requireSync.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/resolve.d.ts +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/resolve.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/resolve.js +0 -14
- package/lib/library/babel/plugins/lazy-component/properties/resolve.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/types.d.ts +0 -14
- package/lib/library/babel/plugins/lazy-component/properties/types.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/types.js +0 -3
- package/lib/library/babel/plugins/lazy-component/properties/types.js.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/utils/webpackComments.d.ts +0 -14
- package/lib/library/babel/plugins/lazy-component/properties/utils/webpackComments.d.ts.map +0 -1
- package/lib/library/babel/plugins/lazy-component/properties/utils/webpackComments.js +0 -57
- package/lib/library/babel/plugins/lazy-component/properties/utils/webpackComments.js.map +0 -1
- package/lib/library/babel/plugins/provider-stack.d.ts +0 -4
- package/lib/library/babel/plugins/provider-stack.d.ts.map +0 -1
- package/lib/library/babel/plugins/provider-stack.js +0 -63
- package/lib/library/babel/plugins/provider-stack.js.map +0 -1
- package/lib/library/babel/plugins/react-compiler.d.ts +0 -13
- package/lib/library/babel/plugins/react-compiler.d.ts.map +0 -1
- package/lib/library/babel/plugins/react-compiler.js +0 -27
- package/lib/library/babel/plugins/react-compiler.js.map +0 -1
- package/lib/library/babel/plugins/react-element-info-unique.d.ts +0 -26
- package/lib/library/babel/plugins/react-element-info-unique.d.ts.map +0 -1
- package/lib/library/babel/plugins/react-element-info-unique.js +0 -112
- package/lib/library/babel/plugins/react-element-info-unique.js.map +0 -1
- package/lib/library/babel/plugins/types.h.d.ts +0 -7
- package/lib/library/babel/plugins/types.h.d.ts.map +0 -1
- package/lib/library/babel/plugins/types.h.js +0 -3
- package/lib/library/babel/plugins/types.h.js.map +0 -1
- package/lib/library/webpack/plugins/AutoPublicPathPlugin.d.ts +0 -4
- package/lib/library/webpack/plugins/AutoPublicPathPlugin.d.ts.map +0 -1
- package/lib/library/webpack/plugins/AutoPublicPathPlugin.js +0 -23
- package/lib/library/webpack/plugins/AutoPublicPathPlugin.js.map +0 -1
- package/lib/library/webpack/plugins/ModuleFederationFixRange.d.ts +0 -24
- package/lib/library/webpack/plugins/ModuleFederationFixRange.d.ts.map +0 -1
- package/lib/library/webpack/plugins/ModuleFederationFixRange.js +0 -127
- package/lib/library/webpack/plugins/ModuleFederationFixRange.js.map +0 -1
- package/lib/library/webpack/plugins/ModuleFederationIgnoreEntries.d.ts +0 -15
- package/lib/library/webpack/plugins/ModuleFederationIgnoreEntries.d.ts.map +0 -1
- package/lib/library/webpack/plugins/ModuleFederationIgnoreEntries.js +0 -49
- package/lib/library/webpack/plugins/ModuleFederationIgnoreEntries.js.map +0 -1
- package/lib/library/webpack/plugins/PolyfillCondition.d.ts +0 -8
- package/lib/library/webpack/plugins/PolyfillCondition.d.ts.map +0 -1
- package/lib/library/webpack/plugins/PolyfillCondition.js +0 -46
- package/lib/library/webpack/plugins/PolyfillCondition.js.map +0 -1
- package/lib/library/webpack/plugins/PwaIconsPlugin.d.ts +0 -12
- package/lib/library/webpack/plugins/PwaIconsPlugin.d.ts.map +0 -1
- package/lib/library/webpack/plugins/PwaIconsPlugin.js +0 -78
- package/lib/library/webpack/plugins/PwaIconsPlugin.js.map +0 -1
- package/lib/library/webpack/plugins/WebManifestPlugin.d.ts +0 -13
- package/lib/library/webpack/plugins/WebManifestPlugin.d.ts.map +0 -1
- package/lib/library/webpack/plugins/WebManifestPlugin.js +0 -47
- package/lib/library/webpack/plugins/WebManifestPlugin.js.map +0 -1
- package/lib/library/webpack/utils/polyfills/const.d.ts +0 -3
- package/lib/library/webpack/utils/polyfills/const.d.ts.map +0 -1
- package/lib/library/webpack/utils/polyfills/const.js +0 -49
- package/lib/library/webpack/utils/polyfills/const.js.map +0 -1
- package/lib/library/webpack/utils/polyfills/polyfillCondition.d.ts +0 -8
- package/lib/library/webpack/utils/polyfills/polyfillCondition.d.ts.map +0 -1
- package/lib/library/webpack/utils/polyfills/polyfillCondition.js +0 -51
- package/lib/library/webpack/utils/polyfills/polyfillCondition.js.map +0 -1
- package/lib/library/webpack/utils/polyfills/specToFeature.d.ts +0 -7
- package/lib/library/webpack/utils/polyfills/specToFeature.d.ts.map +0 -1
- package/lib/library/webpack/utils/polyfills/specToFeature.js +0 -207
- package/lib/library/webpack/utils/polyfills/specToFeature.js.map +0 -1
- package/lib/models/analytics.d.ts +0 -31
- package/lib/models/analytics.d.ts.map +0 -1
- package/lib/models/analytics.js +0 -79
- package/lib/models/analytics.js.map +0 -1
- package/lib/typings/pwa/index.d.ts +0 -80
- package/lib/typings/pwa/index.d.ts.map +0 -1
- package/lib/typings/pwa/index.js +0 -3
- package/lib/typings/pwa/index.js.map +0 -1
- package/lib/utils/sentry.d.ts +0 -2
- package/lib/utils/sentry.d.ts.map +0 -1
- package/lib/utils/sentry.js +0 -27
- package/lib/utils/sentry.js.map +0 -1
- package/src/builder/webpack/providers/build/clientModern.ts +0 -64
- package/src/di/providers/analytics.ts +0 -22
- package/src/di/tokens/analytics.ts +0 -8
- package/src/library/babel/plugins/__fixtures__/create-token-pure/already-has-comment.ts +0 -5
- package/src/library/babel/plugins/__fixtures__/create-token-pure/do-nothing.ts +0 -10
- package/src/library/babel/plugins/__fixtures__/create-token-pure/from-core.ts +0 -5
- package/src/library/babel/plugins/__fixtures__/create-token-pure/from-dippy.ts +0 -5
- package/src/library/babel/plugins/__fixtures__/create-token-pure/many-imports.ts +0 -9
- package/src/library/babel/plugins/__fixtures__/fill-declare-action-name/import-mixed.ts +0 -17
- package/src/library/babel/plugins/__fixtures__/fill-declare-action-name/import-with-name.ts +0 -28
- package/src/library/babel/plugins/__fixtures__/fill-declare-action-name/import-without-name.ts +0 -25
- package/src/library/babel/plugins/__fixtures__/fill-declare-action-name/require-with-name.ts +0 -21
- package/src/library/babel/plugins/__fixtures__/fill-declare-action-name/require-without-name.ts +0 -19
- package/src/library/babel/plugins/__fixtures__/lazy-component/base.ts +0 -3
- package/src/library/babel/plugins/__fixtures__/lazy-component/cmp.tsx +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/comments.ts +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/dynamic.ts +0 -3
- package/src/library/babel/plugins/__fixtures__/lazy-component/inner/first.tsx +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/inner/path/cmp.tsx +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/inner/second.tsx +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/inner/third.tsx +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/lazy+hmr.ts +0 -3
- package/src/library/babel/plugins/__fixtures__/lazy-component/long-import.ts +0 -3
- package/src/library/babel/plugins/__fixtures__/lazy-component/not-lazy-import.ts +0 -7
- package/src/library/babel/plugins/__fixtures__/lazy-component/not-lazy.ts +0 -8
- package/src/library/babel/plugins/__fixtures__/legacy-universal-replace/cmp.tsx +0 -7
- package/src/library/babel/plugins/__fixtures__/legacy-universal-replace/not-universal.ts +0 -8
- package/src/library/babel/plugins/__fixtures__/legacy-universal-replace/platform-legacy.ts +0 -5
- package/src/library/babel/plugins/__fixtures__/legacy-universal-replace/react-universal.ts +0 -3
- package/src/library/babel/plugins/__fixtures__/legacy-universal-replace/tramvai/react/index.es.ts +0 -3
- package/src/library/babel/plugins/__fixtures__/provider-stack/add-stack.ts +0 -22
- package/src/library/babel/plugins/__fixtures__/provider-stack/check-function-name.ts +0 -10
- package/src/library/babel/plugins/__fixtures__/provider-stack/do-nothing.ts +0 -16
- package/src/library/babel/plugins/__fixtures__/provider-stack/error-in-scope.ts +0 -24
- package/src/library/babel/plugins/__fixtures__/provider-stack/inside-await.ts +0 -12
- package/src/library/babel/plugins/__fixtures__/provider-stack/module-decorator.ts +0 -27
- package/src/library/babel/plugins/__snapshots__/create-token-pure.spec.ts.snap +0 -108
- package/src/library/babel/plugins/__snapshots__/fill-declare-action-name.spec.ts.snap +0 -266
- package/src/library/babel/plugins/__snapshots__/provider-stack.spec.ts.snap +0 -381
- package/src/library/babel/plugins/create-token-pure.spec.ts +0 -39
- package/src/library/babel/plugins/create-token-pure.ts +0 -47
- package/src/library/babel/plugins/fill-action-name.ts +0 -126
- package/src/library/babel/plugins/fill-declare-action-name.spec.ts +0 -37
- package/src/library/babel/plugins/fill-declare-action-name.ts +0 -110
- package/src/library/babel/plugins/lazy-component/__snapshots__/lazy-component.spec.ts.snap +0 -313
- package/src/library/babel/plugins/lazy-component/__snapshots__/legacy-universal-replace.spec.ts.snap +0 -114
- package/src/library/babel/plugins/lazy-component/lazy-component.spec.ts +0 -47
- package/src/library/babel/plugins/lazy-component/lazy-component.ts +0 -91
- package/src/library/babel/plugins/lazy-component/legacy-universal-replace.spec.ts +0 -34
- package/src/library/babel/plugins/lazy-component/legacy-universal-replace.ts +0 -88
- package/src/library/babel/plugins/lazy-component/properties/chunkName.ts +0 -185
- package/src/library/babel/plugins/lazy-component/properties/importAsync.ts +0 -8
- package/src/library/babel/plugins/lazy-component/properties/isReady.ts +0 -19
- package/src/library/babel/plugins/lazy-component/properties/requireAsync.ts +0 -20
- package/src/library/babel/plugins/lazy-component/properties/requireSync.ts +0 -21
- package/src/library/babel/plugins/lazy-component/properties/resolve.ts +0 -21
- package/src/library/babel/plugins/lazy-component/properties/types.ts +0 -20
- package/src/library/babel/plugins/lazy-component/properties/utils/webpackComments.ts +0 -61
- package/src/library/babel/plugins/provider-stack.spec.ts +0 -55
- package/src/library/babel/plugins/provider-stack.ts +0 -88
- package/src/library/babel/plugins/react-compiler.ts +0 -39
- package/src/library/babel/plugins/react-element-info-unique.ts +0 -144
- package/src/library/babel/plugins/types.h.ts +0 -8
- package/src/library/webpack/plugins/AutoPublicPathPlugin.ts +0 -23
- package/src/library/webpack/plugins/ModuleFederationFixRange.ts +0 -181
- package/src/library/webpack/plugins/ModuleFederationIgnoreEntries.ts +0 -59
- package/src/library/webpack/plugins/PolyfillCondition.ts +0 -62
- package/src/library/webpack/plugins/PwaIconsPlugin.ts +0 -94
- package/src/library/webpack/plugins/WebManifestPlugin.ts +0 -62
- package/src/library/webpack/utils/polyfills/__integration__/__snapshots__/condition.test.ts.snap +0 -1348
- package/src/library/webpack/utils/polyfills/__integration__/condition.test.ts +0 -128
- package/src/library/webpack/utils/polyfills/const.ts +0 -46
- package/src/library/webpack/utils/polyfills/polyfillCondition.ts +0 -63
- package/src/library/webpack/utils/polyfills/specToFeature.ts +0 -243
- package/src/models/analytics.ts +0 -116
- package/src/typings/pwa/index.ts +0 -83
- package/src/utils/sentry.ts +0 -25
- /package/src/commands/new/templates/{shared → packageManagerConfig/defaultPackageManagerConfig}/_npmrc.hbs +0 -0
|
@@ -2,11 +2,12 @@ import path from 'path';
|
|
|
2
2
|
import type Config from 'webpack-chain';
|
|
3
3
|
import { InjectManifest } from 'workbox-webpack-plugin';
|
|
4
4
|
import fs from 'fs';
|
|
5
|
+
|
|
6
|
+
import { PwaIconsPlugin, WebManifestPlugin, getWorkboxOptions } from '@tramvai/plugin-webpack-pwa';
|
|
7
|
+
|
|
5
8
|
import type { ConfigManager } from '../../../../config/configManager';
|
|
6
9
|
import type { ApplicationConfigEntry } from '../../../../typings/configEntry/application';
|
|
7
10
|
import { safeRequireResolve } from '../../../../utils/safeRequire';
|
|
8
|
-
import { PwaIconsPlugin } from '../../plugins/PwaIconsPlugin';
|
|
9
|
-
import { WebManifestPlugin } from '../../plugins/WebManifestPlugin';
|
|
10
11
|
import { pwaSharedBlock } from './shared';
|
|
11
12
|
|
|
12
13
|
export const pwaBlock =
|
|
@@ -18,7 +19,6 @@ export const pwaBlock =
|
|
|
18
19
|
root,
|
|
19
20
|
output,
|
|
20
21
|
env,
|
|
21
|
-
modern,
|
|
22
22
|
sourceMap,
|
|
23
23
|
assetsPrefix,
|
|
24
24
|
} = configManager;
|
|
@@ -26,7 +26,7 @@ export const pwaBlock =
|
|
|
26
26
|
config.batch(pwaSharedBlock(configManager));
|
|
27
27
|
|
|
28
28
|
if (
|
|
29
|
-
!safeRequireResolve('@tramvai/module-progressive-web-app', true) &&
|
|
29
|
+
!safeRequireResolve('@tramvai/module-progressive-web-app', rootDir, true) &&
|
|
30
30
|
(pwa.workbox?.enabled || pwa.webmanifest?.enabled)
|
|
31
31
|
) {
|
|
32
32
|
throw Error('PWA functional requires @tramvai/module-progressive-web-app installed');
|
|
@@ -42,72 +42,16 @@ export const pwaBlock =
|
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// do not forget about revision and possible conflict with modifyURLPrefix
|
|
56
|
-
],
|
|
57
|
-
manifestTransforms: [
|
|
58
|
-
(manifest, compilation: any) => {
|
|
59
|
-
return {
|
|
60
|
-
// we need to have a relative webmanifest url for precaching
|
|
61
|
-
manifest: manifest.map((asset) => {
|
|
62
|
-
const assetName = asset.url.replace(assetsPrefix, '');
|
|
63
|
-
// in development build `publicPath` is localhost, in production is empty string
|
|
64
|
-
const publicPath = compilation.outputOptions?.publicPath || assetsPrefix;
|
|
65
|
-
const assetInfo = compilation.assetsInfo.get(asset.url.replace(publicPath, ''));
|
|
66
|
-
|
|
67
|
-
if (assetInfo?._webmanifestFilename) {
|
|
68
|
-
return {
|
|
69
|
-
...asset,
|
|
70
|
-
url: `${pwa.sw.scope}${assetName}`,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
return asset;
|
|
74
|
-
}),
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
if (pwa.workbox.include) {
|
|
81
|
-
workboxOptions.include = pwa.workbox.include.map((expr) => new RegExp(expr));
|
|
82
|
-
}
|
|
83
|
-
if (pwa.workbox.exclude) {
|
|
84
|
-
workboxOptions.exclude = [
|
|
85
|
-
...workboxOptions.exclude,
|
|
86
|
-
...pwa.workbox.exclude.map((expr) => new RegExp(expr)),
|
|
87
|
-
];
|
|
88
|
-
}
|
|
89
|
-
if (pwa.workbox.additionalManifestEntries) {
|
|
90
|
-
workboxOptions.additionalManifestEntries = [
|
|
91
|
-
...workboxOptions.additionalManifestEntries,
|
|
92
|
-
...pwa.workbox.additionalManifestEntries,
|
|
93
|
-
];
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (env === 'production') {
|
|
97
|
-
workboxOptions.dontCacheBustURLsMatching = /\/\w+?\.[\w\d]+?\.(js|css|gif|png|jpe?g|svg)$/;
|
|
98
|
-
|
|
99
|
-
workboxOptions.modifyURLPrefix = {
|
|
100
|
-
'': assetsPrefix,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (modern) {
|
|
105
|
-
workboxOptions.swDest = workboxOptions.swDest.replace(/\.js$/, '.modern.js');
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// @todo: break hmr on client when sw.ts is changed - infinity loop !!!
|
|
109
|
-
|
|
110
|
-
const workboxPlugin = new InjectManifest(workboxOptions);
|
|
45
|
+
const workboxPlugin = new InjectManifest(
|
|
46
|
+
getWorkboxOptions({
|
|
47
|
+
swSrc,
|
|
48
|
+
swDest,
|
|
49
|
+
workbox: pwa.workbox,
|
|
50
|
+
mode: env,
|
|
51
|
+
scope: pwa.sw.scope!,
|
|
52
|
+
assetsPrefix: assetsPrefix!,
|
|
53
|
+
})
|
|
54
|
+
);
|
|
111
55
|
|
|
112
56
|
// https://github.com/GoogleChrome/workbox/issues/1790#issuecomment-1241356293
|
|
113
57
|
if (env === 'development') {
|
|
@@ -9,7 +9,6 @@ export const pwaSharedBlock =
|
|
|
9
9
|
experiments: { pwa },
|
|
10
10
|
rootDir,
|
|
11
11
|
root,
|
|
12
|
-
modern,
|
|
13
12
|
} = configManager;
|
|
14
13
|
|
|
15
14
|
config.plugin('define').tap((args) => [
|
|
@@ -22,9 +21,8 @@ export const pwaSharedBlock =
|
|
|
22
21
|
'process.env.TRAMVAI_PWA_SW_SCOPE': JSON.stringify(pwa.sw?.scope),
|
|
23
22
|
'process.env.TRAMVAI_PWA_MANIFEST_ENABLED': JSON.stringify(pwa.webmanifest?.enabled),
|
|
24
23
|
'process.env.TRAMVAI_PWA_MANIFEST_DEST': JSON.stringify(pwa.webmanifest?.dest),
|
|
24
|
+
'process.env.TRAMVAI_PWA_MANIFEST_SCOPE': JSON.stringify(pwa.webmanifest?.scope),
|
|
25
25
|
'process.env.TRAMVAI_PWA_META': `'${JSON.stringify(pwa?.meta ?? {})}'`,
|
|
26
|
-
// allows to detect that sw.modern.js is exists or not
|
|
27
|
-
'process.env.TRAMVAI_MODERN_BUILD': JSON.stringify(modern),
|
|
28
26
|
},
|
|
29
27
|
]);
|
|
30
28
|
};
|
|
@@ -6,11 +6,11 @@ import type { ConfigManager } from '../../../config/configManager';
|
|
|
6
6
|
import { extensions } from '../../../config/constants';
|
|
7
7
|
|
|
8
8
|
export default (configManager: ConfigManager) => (config: Config) => {
|
|
9
|
-
const { rootDir, root,
|
|
9
|
+
const { rootDir, root, buildType } = configManager;
|
|
10
10
|
|
|
11
11
|
config.resolve.mainFields.merge(
|
|
12
12
|
[
|
|
13
|
-
...(
|
|
13
|
+
...(buildType === 'client' ? ['es2017', 'es2016', 'es2015'] : []),
|
|
14
14
|
buildType === 'client' && 'browser',
|
|
15
15
|
'module',
|
|
16
16
|
'main',
|
|
@@ -46,6 +46,7 @@ export default (configManager: ConfigManager) => (config: Config) => {
|
|
|
46
46
|
'appointmentContext',
|
|
47
47
|
path.resolve(rootDir, 'apps/accounts/packages/appointment/dependencies')
|
|
48
48
|
)
|
|
49
|
+
.set('@tramvai/api/virtual/file-system-pages', '@tramvai/cli/lib/external/pages')
|
|
49
50
|
.end()
|
|
50
51
|
.modules.add('node_modules')
|
|
51
52
|
.add(path.resolve(__dirname, '..', '..', '..', '..', 'node_modules'))
|
|
@@ -4,8 +4,7 @@ import type { CliConfigEntry } from '../../../typings/configEntry/cli';
|
|
|
4
4
|
import { addTranspilerLoader, getTranspilerConfig } from '../utils/transpiler';
|
|
5
5
|
|
|
6
6
|
export const serverInline = (configManager: ConfigManager<CliConfigEntry>) => (config: Config) => {
|
|
7
|
-
|
|
8
|
-
const clientConfigManager = configManager.withSettings({ buildType: 'client', modern: false });
|
|
7
|
+
const clientConfigManager = configManager.withSettings({ buildType: 'client' });
|
|
9
8
|
|
|
10
9
|
const addInlineHandler = (type: string) => {
|
|
11
10
|
config.module
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type Config from 'webpack-chain';
|
|
2
2
|
import type { ConfigManager } from '../../../config/configManager';
|
|
3
3
|
|
|
4
|
-
export default (configManager: ConfigManager) => (config: Config) => {
|
|
4
|
+
export default (configManager: ConfigManager, target: 'client' | 'server') => (config: Config) => {
|
|
5
5
|
if (configManager.debug || configManager.env === 'development') {
|
|
6
6
|
config.module
|
|
7
7
|
.rule('source-map-loader')
|
|
@@ -10,7 +10,9 @@ export default (configManager: ConfigManager) => (config: Config) => {
|
|
|
10
10
|
.use('source-map')
|
|
11
11
|
.loader('source-map-loader');
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
// Chrome devtools does not support source maps with remote debug nodejs
|
|
14
|
+
// PR with fix: https://github.com/nodejs/node/pull/58077
|
|
15
|
+
config.devtool(target === 'server' ? 'inline-source-map' : 'source-map');
|
|
14
16
|
} else {
|
|
15
17
|
config.devtool('hidden-source-map');
|
|
16
18
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type Config from 'webpack-chain';
|
|
2
2
|
import { ChunkCorrelationPlugin } from '@module-federation/node';
|
|
3
3
|
import LoadablePlugin from '@loadable/webpack-plugin';
|
|
4
|
+
import { PurifyStatsPlugin } from '@tramvai/plugin-webpack-builder';
|
|
4
5
|
|
|
5
6
|
import type { ConfigManager } from '../../../../config/configManager';
|
|
6
7
|
|
|
@@ -26,7 +27,7 @@ export default (configManager: ConfigManager<ChildAppConfigEntry>) => (config: C
|
|
|
26
27
|
|
|
27
28
|
config.batch(common(configManager));
|
|
28
29
|
|
|
29
|
-
config.target(['web'
|
|
30
|
+
config.target(['web']);
|
|
30
31
|
|
|
31
32
|
config.output
|
|
32
33
|
.path(configManager.buildPath)
|
|
@@ -44,14 +45,19 @@ export default (configManager: ConfigManager<ChildAppConfigEntry>) => (config: C
|
|
|
44
45
|
},
|
|
45
46
|
]);
|
|
46
47
|
|
|
48
|
+
const statsFileName = `${name}_stats_loadable@${version}.json`;
|
|
47
49
|
config.plugin('loadable-stats-plugin').use(LoadablePlugin, [
|
|
48
50
|
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
filename: statsFileName,
|
|
52
|
+
outputAsset: true,
|
|
51
53
|
// to prevent webpack modules with same id collision, because Child Apps builds are independent of each other
|
|
52
54
|
chunkLoadingGlobal: toIdentifier(`__LOADABLE_LOADED_CHUNKS__child_app_${name}_${version}__`),
|
|
53
55
|
},
|
|
54
56
|
]);
|
|
55
57
|
|
|
58
|
+
config
|
|
59
|
+
.plugin('assets-purify-plugin')
|
|
60
|
+
.use(PurifyStatsPlugin, [{ fileName: statsFileName, target: 'child-app' }]);
|
|
61
|
+
|
|
56
62
|
config.batch(files(configManager)).batch(nodeClient(configManager));
|
|
57
63
|
};
|
|
@@ -9,6 +9,7 @@ import type { UI_SHOW_PROGRESS_TOKEN } from '../../../../di/tokens';
|
|
|
9
9
|
import { extendEntry } from '../../utils/extendEntry';
|
|
10
10
|
import type { ChildAppConfigEntry } from '../../../../typings/configEntry/child-app';
|
|
11
11
|
import FancyReporter from '../../plugins/WebpackBar/reporters/fancy';
|
|
12
|
+
import sourcemaps from '../../blocks/sourcemaps';
|
|
12
13
|
|
|
13
14
|
export const webpackClientConfig = ({
|
|
14
15
|
configManager,
|
|
@@ -25,6 +26,10 @@ export const webpackClientConfig = ({
|
|
|
25
26
|
config.mode('development');
|
|
26
27
|
config.devtool(configManager.webpack.devtool ?? false);
|
|
27
28
|
|
|
29
|
+
if (configManager.sourceMap) {
|
|
30
|
+
config.batch(sourcemaps(configManager, 'client'));
|
|
31
|
+
}
|
|
32
|
+
|
|
28
33
|
if (showProgress) {
|
|
29
34
|
config.plugin('progress').use(WebpackBar, [
|
|
30
35
|
{
|
|
@@ -59,7 +64,7 @@ export const webpackClientConfig = ({
|
|
|
59
64
|
|
|
60
65
|
extendEntry(config.entry(configManager.name), {
|
|
61
66
|
import: [
|
|
62
|
-
'webpack-hot-middleware/client?name=client&dynamicPublicPath=true&path=__webpack_hmr',
|
|
67
|
+
'webpack-hot-middleware/client?name=client&dynamicPublicPath=true&path=__webpack_hmr&reload=true',
|
|
63
68
|
],
|
|
64
69
|
});
|
|
65
70
|
}
|
|
@@ -4,6 +4,7 @@ import common from './common';
|
|
|
4
4
|
import optimize from '../../blocks/optimize';
|
|
5
5
|
import commonProd from '../../common/client/prod';
|
|
6
6
|
import type { ChildAppConfigEntry } from '../../../../typings/configEntry/child-app';
|
|
7
|
+
import sourcemaps from '../../blocks/sourcemaps';
|
|
7
8
|
|
|
8
9
|
export const webpackClientConfig = ({
|
|
9
10
|
configManager,
|
|
@@ -15,6 +16,10 @@ export const webpackClientConfig = ({
|
|
|
15
16
|
config.batch(common(configManager));
|
|
16
17
|
config.batch(commonProd(configManager));
|
|
17
18
|
|
|
19
|
+
if (configManager.sourceMap) {
|
|
20
|
+
config.batch(sourcemaps(configManager, 'client'));
|
|
21
|
+
}
|
|
22
|
+
|
|
18
23
|
config.batch(optimize(configManager));
|
|
19
24
|
|
|
20
25
|
return config;
|
|
@@ -2,11 +2,16 @@ import type Config from 'webpack-chain';
|
|
|
2
2
|
import type webpack from 'webpack';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import crypto from 'crypto';
|
|
5
|
+
|
|
5
6
|
import { UniversalFederationPlugin } from '@module-federation/node';
|
|
6
|
-
import
|
|
7
|
+
import {
|
|
8
|
+
ModuleFederationFixRange,
|
|
9
|
+
ModuleFederationFixRangeOptions,
|
|
10
|
+
PatchAutoPublicPathPlugin,
|
|
11
|
+
} from '@tramvai/plugin-webpack-builder';
|
|
7
12
|
|
|
13
|
+
import common from '../common/main';
|
|
8
14
|
import type { ConfigManager } from '../../../config/configManager';
|
|
9
|
-
|
|
10
15
|
import ts from '../blocks/ts';
|
|
11
16
|
import js from '../blocks/js';
|
|
12
17
|
import css from '../blocks/css';
|
|
@@ -14,18 +19,13 @@ import nodeClient from '../blocks/nodeClient';
|
|
|
14
19
|
import type { SplitChunksOptions, UniversalFederationPluginOptions } from '../types/webpack';
|
|
15
20
|
import { getSharedModules } from './moduleFederationShared';
|
|
16
21
|
import { configToEnv } from '../blocks/configToEnv';
|
|
17
|
-
import sourcemaps from '../blocks/sourcemaps';
|
|
18
22
|
import type { ChildAppConfigEntry } from '../../../typings/configEntry/child-app';
|
|
19
23
|
import { extractCssPluginFactory } from '../blocks/extractCssPlugin';
|
|
20
|
-
import type { ModuleFederationFixRangeOptions } from '../plugins/ModuleFederationFixRange';
|
|
21
|
-
import { ModuleFederationFixRange } from '../plugins/ModuleFederationFixRange';
|
|
22
24
|
import { resolveFrameworksPaths } from '../application/client/prod/optimization/splitChunks';
|
|
23
|
-
import { PatchAutoPublicPathPlugin } from '../plugins/AutoPublicPathPlugin';
|
|
24
25
|
|
|
25
26
|
// eslint-disable-next-line max-statements
|
|
26
27
|
export default (configManager: ConfigManager<ChildAppConfigEntry>) => (config: Config) => {
|
|
27
|
-
const { name, root, rootDir,
|
|
28
|
-
configManager;
|
|
28
|
+
const { name, root, rootDir, buildType, shared, env, target } = configManager;
|
|
29
29
|
|
|
30
30
|
const cssLocalIdentName =
|
|
31
31
|
configManager.env === 'production'
|
|
@@ -54,10 +54,6 @@ export default (configManager: ConfigManager<ChildAppConfigEntry>) => (config: C
|
|
|
54
54
|
})
|
|
55
55
|
);
|
|
56
56
|
|
|
57
|
-
if (sourceMap) {
|
|
58
|
-
config.batch(sourcemaps(configManager));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
57
|
config.batch(
|
|
62
58
|
extractCssPluginFactory(configManager, {
|
|
63
59
|
filename: `[name]@${configManager.version}.css`,
|
|
@@ -6,6 +6,7 @@ import commonDev from '../../common/dev';
|
|
|
6
6
|
import type { UI_SHOW_PROGRESS_TOKEN } from '../../../../di/tokens';
|
|
7
7
|
import type { ChildAppConfigEntry } from '../../../../typings/configEntry/child-app';
|
|
8
8
|
import FancyReporter from '../../plugins/WebpackBar/reporters/fancy';
|
|
9
|
+
import sourcemaps from '../../blocks/sourcemaps';
|
|
9
10
|
|
|
10
11
|
export const webpackServerConfig = ({
|
|
11
12
|
configManager,
|
|
@@ -22,6 +23,10 @@ export const webpackServerConfig = ({
|
|
|
22
23
|
config.mode('development');
|
|
23
24
|
config.devtool(configManager.webpack.devtool ?? false);
|
|
24
25
|
|
|
26
|
+
if (configManager.sourceMap) {
|
|
27
|
+
config.batch(sourcemaps(configManager, 'server'));
|
|
28
|
+
}
|
|
29
|
+
|
|
25
30
|
if (showProgress) {
|
|
26
31
|
config.plugin('progress').use(WebpackBar, [
|
|
27
32
|
{
|
|
@@ -4,6 +4,7 @@ import common from './common';
|
|
|
4
4
|
import optimize from '../../blocks/optimize';
|
|
5
5
|
import commonProd from '../../common/server/prod';
|
|
6
6
|
import type { ChildAppConfigEntry } from '../../../../typings/configEntry/child-app';
|
|
7
|
+
import sourcemaps from '../../blocks/sourcemaps';
|
|
7
8
|
|
|
8
9
|
export const webpackServerConfig = ({
|
|
9
10
|
configManager,
|
|
@@ -17,5 +18,9 @@ export const webpackServerConfig = ({
|
|
|
17
18
|
|
|
18
19
|
config.batch(optimize(configManager));
|
|
19
20
|
|
|
21
|
+
if (configManager.sourceMap) {
|
|
22
|
+
config.batch(sourcemaps(configManager, 'server'));
|
|
23
|
+
}
|
|
24
|
+
|
|
20
25
|
return config;
|
|
21
26
|
};
|
|
@@ -19,7 +19,6 @@ const filterNonExisted = (filePaths: string[]) => {
|
|
|
19
19
|
|
|
20
20
|
const getConfigCacheNameAdditionalFlags = (configManager: ConfigManager<CliConfigEntry>) => {
|
|
21
21
|
return [
|
|
22
|
-
configManager.buildType === 'client' && configManager.modern ? 'modern' : '',
|
|
23
22
|
configManager.debug ? 'debug' : '',
|
|
24
23
|
process.env.TRAMVAI_REACT_PROFILE ? 'tramvai_react_profile' : '',
|
|
25
24
|
configManager.resolveSymlinks ? '' : 'preserve_symlinks',
|
|
@@ -88,10 +87,7 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
|
|
|
88
87
|
// It may be missing in cases when cli is running programmaticaly
|
|
89
88
|
config: filterNonExisted([path.resolve(configManager.rootDir, 'tramvai.json')]),
|
|
90
89
|
css: filterNonExisted([
|
|
91
|
-
safeRequireResolve(
|
|
92
|
-
path.resolve(configManager.rootDir, getPostcssConfigPath(configManager)),
|
|
93
|
-
true
|
|
94
|
-
),
|
|
90
|
+
safeRequireResolve(getPostcssConfigPath(configManager), configManager.rootDir, true),
|
|
95
91
|
]),
|
|
96
92
|
},
|
|
97
93
|
// https://github.com/vercel/next.js/commit/ff5338ce03a3240a97a5c84f5ad5c31c0f53a6ce
|
|
@@ -5,6 +5,7 @@ export const DEFAULT_STATS_OPTIONS: StatsOptions = {
|
|
|
5
5
|
|
|
6
6
|
publicPath: true,
|
|
7
7
|
assets: true,
|
|
8
|
+
cachedAssets: true,
|
|
8
9
|
outputPath: true, // выводит информацию о том в какой папке хранится билд на диске
|
|
9
10
|
chunkGroups: true, // позволяет получить в stats поле namedChunkGroups которое потом используется в webpack-flush-chunks для получения чанков-зависимостей
|
|
10
11
|
ids: true, // необходимо чтобы в chunksGroups были выставлены связи между модулями
|
|
@@ -14,6 +15,7 @@ export const DEFAULT_STATS_OPTIONS: StatsOptions = {
|
|
|
14
15
|
export const DEFAULT_STATS_FIELDS: string[] = [
|
|
15
16
|
'publicPath',
|
|
16
17
|
'outputPath',
|
|
18
|
+
'assets',
|
|
17
19
|
'assetsByChunkName',
|
|
18
20
|
'namedChunkGroups',
|
|
19
21
|
'entrypoints',
|
|
@@ -4,7 +4,7 @@ const BLUR_WIDTH = 10;
|
|
|
4
4
|
const BLUR_HEIGHT = 10;
|
|
5
5
|
|
|
6
6
|
export const getImageMiniatureDataURL = async (content: Buffer, extension: string) => {
|
|
7
|
-
const isSharpInstalled = Boolean(safeRequireResolve('sharp'));
|
|
7
|
+
const isSharpInstalled = Boolean(safeRequireResolve('sharp', __dirname));
|
|
8
8
|
if (!isSharpInstalled) {
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
@@ -28,11 +28,16 @@ export default class RuntimePathPlugin implements webpack.WebpackPluginInstance
|
|
|
28
28
|
compilation.hooks.runtimeRequirementInTree
|
|
29
29
|
.for(RuntimeGlobals.publicPath)
|
|
30
30
|
.tap(PLUGIN_NAME, (chunk) => {
|
|
31
|
-
// set custom public path only to entries as this way public path will be constructed in runtime
|
|
31
|
+
// set custom public path only to entries and webpack runtime as this way public path will be constructed in runtime
|
|
32
32
|
// some of the webpack plugins may use [importModule](https://webpack.js.org/api/loaders/#thisimportmodule) that allows execute modules at build time
|
|
33
33
|
// for example mini-css-extract-plugin uses this method that leads to error `window is not defined` at build if we don't
|
|
34
34
|
// prevent adding dynamic code to every chunk altogether
|
|
35
|
-
const
|
|
35
|
+
const chunkName = chunk.name.toString();
|
|
36
|
+
const isEntry = compilation.entries.has(chunkName);
|
|
37
|
+
// webpack runtime chunk with runtimeChunk: 'single' option
|
|
38
|
+
const isWebpackRuntime = chunkName === 'runtime';
|
|
39
|
+
|
|
40
|
+
const needToPatchRuntime = isEntry || isWebpackRuntime;
|
|
36
41
|
|
|
37
42
|
compilation.addRuntimeModule(
|
|
38
43
|
chunk,
|
|
@@ -40,7 +45,7 @@ export default class RuntimePathPlugin implements webpack.WebpackPluginInstance
|
|
|
40
45
|
generate() {
|
|
41
46
|
// setting dynamic publicPath
|
|
42
47
|
return `${RuntimeGlobals.publicPath} = ${
|
|
43
|
-
|
|
48
|
+
needToPatchRuntime ? publicPathEval : defaultPublicPath
|
|
44
49
|
};`;
|
|
45
50
|
}
|
|
46
51
|
} as any)('runtime-path-module')
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import os from 'os';
|
|
1
2
|
import * as threadLoader from 'thread-loader';
|
|
2
3
|
import { getPool } from 'thread-loader/dist/workerPools';
|
|
3
4
|
import type Config from 'webpack-chain';
|
|
@@ -10,6 +11,24 @@ const getCustomConfig = (configManager: ConfigManager<CliConfigEntry>): any => {
|
|
|
10
11
|
return additionalConfig || {};
|
|
11
12
|
};
|
|
12
13
|
|
|
14
|
+
function calculateNumberOfWorkers() {
|
|
15
|
+
if (
|
|
16
|
+
typeof process.env.TRAMVAI_THREAD_LOADER_WORKERS === 'string' &&
|
|
17
|
+
!Number.isNaN(Number(process.env.TRAMVAI_THREAD_LOADER_WORKERS))
|
|
18
|
+
) {
|
|
19
|
+
return Number(process.env.TRAMVAI_THREAD_LOADER_WORKERS);
|
|
20
|
+
}
|
|
21
|
+
// There are situations when this call will return undefined so
|
|
22
|
+
// we are fallback here to 1.
|
|
23
|
+
// More info on: https://github.com/nodejs/node/issues/19022
|
|
24
|
+
const cpus = os.cpus() || {
|
|
25
|
+
length: 1,
|
|
26
|
+
};
|
|
27
|
+
// for transpilation use a half of the available CPUs per different webpack worker,
|
|
28
|
+
// also leave at least 1 CPUs free (for process itself)
|
|
29
|
+
return Math.max(1, cpus.length - 1);
|
|
30
|
+
}
|
|
31
|
+
|
|
13
32
|
const createWorkerPoolConfig = (configManager: ConfigManager<CliConfigEntry>) => {
|
|
14
33
|
return {
|
|
15
34
|
poolTimeout: configManager.env === 'development' ? Infinity : undefined,
|
|
@@ -18,11 +37,13 @@ const createWorkerPoolConfig = (configManager: ConfigManager<CliConfigEntry>) =>
|
|
|
18
37
|
poolRespawn: configManager.env === 'development',
|
|
19
38
|
...getCustomConfig(configManager),
|
|
20
39
|
name: 'tramvai-worker-pool',
|
|
40
|
+
workers: calculateNumberOfWorkers(),
|
|
21
41
|
};
|
|
22
42
|
};
|
|
23
43
|
|
|
24
44
|
const isApplicable = (configManager: ConfigManager<CliConfigEntry>) => {
|
|
25
45
|
return (
|
|
46
|
+
process.env.TRAMVAI_DISABLE_THREAD_LOADER !== 'true' &&
|
|
26
47
|
// thread-loader uses child_process.fork under the hood, and sometimes (50/50) work in these processes does not get into inspector.Session profile
|
|
27
48
|
!process.env.TRAMVAI_CPU_PROFILE &&
|
|
28
49
|
!process.env.TRAMVAI_DEBUG_BUILD &&
|
|
@@ -3,7 +3,7 @@ import { sync as resolve } from 'resolve';
|
|
|
3
3
|
import envTargets from '@tinkoff/browserslist-config';
|
|
4
4
|
import browserslist from 'browserslist';
|
|
5
5
|
import type { ConfigManager } from '../../../config/configManager';
|
|
6
|
-
import {
|
|
6
|
+
import { swcConfigFactory } from '../../swc';
|
|
7
7
|
import { babelConfigFactory } from '../../babel';
|
|
8
8
|
import type { Env } from '../../../typings/Env';
|
|
9
9
|
import type { Target } from '../../../typings/target';
|
|
@@ -13,7 +13,6 @@ export type TranspilerConfig = {
|
|
|
13
13
|
env: Env;
|
|
14
14
|
target: Target;
|
|
15
15
|
actualTarget: Target;
|
|
16
|
-
modern: boolean;
|
|
17
16
|
isServer: boolean;
|
|
18
17
|
generateDataQaTag: boolean;
|
|
19
18
|
enableFillActionNamePlugin: boolean;
|
|
@@ -56,7 +55,7 @@ Please run "npx tramvai add --dev @tramvai/swc-integration" to fix the problem
|
|
|
56
55
|
`);
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
return rule.loader('swc-loader').options(
|
|
58
|
+
return rule.loader('swc-loader').options(swcConfigFactory(transpilerConfig)).end();
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
if (loader === 'babel') {
|
|
@@ -77,7 +76,7 @@ export const getTranspilerConfig = (
|
|
|
77
76
|
excludesPresetEnv,
|
|
78
77
|
experiments: { enableFillDeclareActionNamePlugin, reactCompiler },
|
|
79
78
|
} = configManager;
|
|
80
|
-
const { env
|
|
79
|
+
const { env } = configManager;
|
|
81
80
|
const isServer = configManager.buildType === 'server';
|
|
82
81
|
|
|
83
82
|
if (alias) {
|
|
@@ -90,8 +89,6 @@ Just check or add configuration to your tsconfig file and remove alias from tram
|
|
|
90
89
|
if (!target) {
|
|
91
90
|
if (isServer) {
|
|
92
91
|
actualTarget = 'node';
|
|
93
|
-
} else if (modern) {
|
|
94
|
-
actualTarget = 'modern';
|
|
95
92
|
}
|
|
96
93
|
}
|
|
97
94
|
|
|
@@ -110,7 +107,6 @@ Just check or add configuration to your tsconfig file and remove alias from tram
|
|
|
110
107
|
isServer,
|
|
111
108
|
env,
|
|
112
109
|
generateDataQaTag,
|
|
113
|
-
modern,
|
|
114
110
|
tramvai: true,
|
|
115
111
|
removeTypeofWindow: true,
|
|
116
112
|
hot: !!configManager.hotRefresh.enabled,
|