@nx/vite 17.0.4 → 17.0.6
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/LICENSE +1 -1
- package/README.md +4 -9
- package/generators.json +3 -3
- package/migrations.json +0 -90
- package/package.json +7 -9
- package/plugins/nx-tsconfig-paths.plugin.js +5 -9
- package/plugins/nx-tsconfig-paths.plugin.js.map +1 -1
- package/plugins/rollup-replace-files.plugin.d.ts +3 -3
- package/plugins/rollup-replace-files.plugin.js +2 -2
- package/plugins/rollup-replace-files.plugin.js.map +1 -1
- package/src/executors/build/build.impl.d.ts +1 -5
- package/src/executors/build/build.impl.js +21 -90
- package/src/executors/build/build.impl.js.map +1 -1
- package/src/executors/build/schema.d.ts +18 -5
- package/src/executors/build/schema.json +106 -4
- package/src/executors/dev-server/dev-server.impl.js +9 -74
- package/src/executors/dev-server/dev-server.impl.js.map +1 -1
- package/src/executors/dev-server/schema.d.ts +10 -0
- package/src/executors/dev-server/schema.json +63 -0
- package/src/executors/preview-server/preview-server.impl.d.ts +1 -1
- package/src/executors/preview-server/preview-server.impl.js +15 -79
- package/src/executors/preview-server/preview-server.impl.js.map +1 -1
- package/src/executors/preview-server/schema.d.ts +7 -0
- package/src/executors/preview-server/schema.json +51 -1
- package/src/executors/test/schema.d.ts +8 -3
- package/src/executors/test/schema.json +43 -11
- package/src/executors/test/vitest.impl.js +112 -20
- package/src/executors/test/vitest.impl.js.map +1 -1
- package/src/generators/configuration/configuration.d.ts +1 -2
- package/src/generators/configuration/configuration.js +87 -49
- package/src/generators/configuration/configuration.js.map +1 -1
- package/src/generators/configuration/schema.d.ts +3 -1
- package/src/generators/configuration/schema.json +12 -0
- package/src/generators/init/init.d.ts +3 -4
- package/src/generators/init/init.js +67 -50
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/schema.d.ts +5 -5
- package/src/generators/init/schema.json +20 -17
- package/src/generators/vitest/files/tsconfig.spec.json__tmpl__ +1 -2
- package/src/generators/vitest/schema.d.ts +1 -2
- package/src/generators/vitest/schema.json +2 -2
- package/src/generators/vitest/vitest-generator.d.ts +1 -2
- package/src/generators/vitest/vitest-generator.js +10 -34
- package/src/generators/vitest/vitest-generator.js.map +1 -1
- package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js.map +1 -1
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js +17 -3
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js.map +1 -1
- package/src/utils/executor-utils.d.ts +0 -2
- package/src/utils/executor-utils.js +7 -22
- package/src/utils/executor-utils.js.map +1 -1
- package/src/utils/generator-utils.d.ts +12 -10
- package/src/utils/generator-utils.js +213 -134
- package/src/utils/generator-utils.js.map +1 -1
- package/src/utils/options-utils.d.ts +19 -3
- package/src/utils/options-utils.js +68 -25
- package/src/utils/options-utils.js.map +1 -1
- package/src/utils/test-files/react-lib-non-buildable-jest.json +4 -1
- package/src/utils/test-files/react-lib-non-buildable-vitest.json +4 -1
- package/src/utils/test-files/react-mixed-project.config.json +6 -1
- package/src/utils/test-files/react-project.config.json +85 -0
- package/src/utils/test-files/react-vite-project.config.json +4 -1
- package/src/utils/test-files/unknown-project.config.json +4 -1
- package/src/utils/test-files/web-project.config.json +72 -0
- package/src/utils/test-utils.d.ts +1 -1
- package/src/utils/test-utils.js +18 -10
- package/src/utils/test-utils.js.map +1 -1
- package/src/utils/versions.d.ts +9 -7
- package/src/utils/versions.js +15 -7
- package/src/utils/versions.js.map +1 -1
- package/src/utils/vite-config-edit-utils.js +1 -1
- package/src/utils/vite-config-edit-utils.js.map +1 -1
- package/plugin.d.ts +0 -1
- package/plugin.js +0 -21
- package/plugin.js.map +0 -1
- package/src/executors/test/lib/nx-reporter.d.ts +0 -14
- package/src/executors/test/lib/nx-reporter.js +0 -40
- package/src/executors/test/lib/nx-reporter.js.map +0 -1
- package/src/executors/test/lib/utils.d.ts +0 -4
- package/src/executors/test/lib/utils.js +0 -77
- package/src/executors/test/lib/utils.js.map +0 -1
- package/src/generators/configuration/lib/convert-non-vite.d.ts +0 -5
- package/src/generators/configuration/lib/convert-non-vite.js +0 -62
- package/src/generators/configuration/lib/convert-non-vite.js.map +0 -1
- package/src/generators/init/lib/utils.d.ts +0 -6
- package/src/generators/init/lib/utils.js +0 -80
- package/src/generators/init/lib/utils.js.map +0 -1
- package/src/migrations/update-17-1-0/move-target-defaults.d.ts +0 -2
- package/src/migrations/update-17-1-0/move-target-defaults.js +0 -77
- package/src/migrations/update-17-1-0/move-target-defaults.js.map +0 -1
- package/src/migrations/update-17-2-0/lib/add-file-replacements.d.ts +0 -2
- package/src/migrations/update-17-2-0/lib/add-file-replacements.js +0 -67
- package/src/migrations/update-17-2-0/lib/add-file-replacements.js.map +0 -1
- package/src/migrations/update-17-2-0/lib/edit-build-config.d.ts +0 -2
- package/src/migrations/update-17-2-0/lib/edit-build-config.js +0 -121
- package/src/migrations/update-17-2-0/lib/edit-build-config.js.map +0 -1
- package/src/migrations/update-17-2-0/lib/edit-test-config.d.ts +0 -2
- package/src/migrations/update-17-2-0/lib/edit-test-config.js +0 -83
- package/src/migrations/update-17-2-0/lib/edit-test-config.js.map +0 -1
- package/src/migrations/update-17-2-0/update-vite-config.d.ts +0 -5
- package/src/migrations/update-17-2-0/update-vite-config.js +0 -68
- package/src/migrations/update-17-2-0/update-vite-config.js.map +0 -1
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.d.ts +0 -3
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js +0 -117
- package/src/migrations/update-17-3-0/lib/fix-coverage-and-reporters.js.map +0 -1
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.d.ts +0 -2
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js +0 -45
- package/src/migrations/update-17-3-0/vitest-coverage-and-reporters.js.map +0 -1
- package/src/plugins/plugin.d.ts +0 -10
- package/src/plugins/plugin.js +0 -226
- package/src/plugins/plugin.js.map +0 -1
- package/src/utils/ensure-dependencies.d.ts +0 -8
- package/src/utils/ensure-dependencies.js +0 -34
- package/src/utils/ensure-dependencies.js.map +0 -1
- package/src/utils/find-vite-config.d.ts +0 -3
- package/src/utils/find-vite-config.js +0 -46
- package/src/utils/find-vite-config.js.map +0 -1
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function _export(target, all) {
|
|
3
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
4
|
-
enumerable: true,
|
|
5
|
-
get: all[name]
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
_export(exports, {
|
|
9
|
-
getOptions: function() {
|
|
10
|
-
return getOptions;
|
|
11
|
-
},
|
|
12
|
-
getOptionsAsArgv: function() {
|
|
13
|
-
return getOptionsAsArgv;
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
const _extends = require("@swc/helpers/_/_extends");
|
|
17
|
-
const _devkit = require("@nx/devkit");
|
|
18
|
-
const _optionsutils = require("../../../utils/options-utils");
|
|
19
|
-
const _path = require("path");
|
|
20
|
-
const _executorutils = require("../../../utils/executor-utils");
|
|
21
|
-
async function getOptions(options, context, projectRoot) {
|
|
22
|
-
var _resolved_config, _resolved_config1;
|
|
23
|
-
// Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.
|
|
24
|
-
const { loadConfigFromFile, mergeConfig } = await (0, _executorutils.loadViteDynamicImport)();
|
|
25
|
-
const viteConfigPath = (0, _optionsutils.normalizeViteConfigFilePath)(context.root, projectRoot, options.configFile);
|
|
26
|
-
if (!viteConfigPath) {
|
|
27
|
-
throw new Error((0, _devkit.stripIndents)`
|
|
28
|
-
Unable to load test config from config file ${viteConfigPath}.
|
|
29
|
-
|
|
30
|
-
Please make sure that vitest is configured correctly,
|
|
31
|
-
or use the @nx/vite:vitest generator to configure it for you.
|
|
32
|
-
You can read more here: https://nx.dev/nx-api/vite/generators/vitest
|
|
33
|
-
`);
|
|
34
|
-
}
|
|
35
|
-
var _options_mode;
|
|
36
|
-
const resolved = await loadConfigFromFile({
|
|
37
|
-
mode: (_options_mode = options == null ? void 0 : options.mode) != null ? _options_mode : 'production',
|
|
38
|
-
command: 'serve'
|
|
39
|
-
}, viteConfigPath);
|
|
40
|
-
if (!viteConfigPath || !(resolved == null ? void 0 : (_resolved_config = resolved.config) == null ? void 0 : _resolved_config['test'])) {
|
|
41
|
-
var _resolved_path;
|
|
42
|
-
_devkit.logger.warn((0, _devkit.stripIndents)`Unable to load test config from config file ${(_resolved_path = resolved == null ? void 0 : resolved.path) != null ? _resolved_path : viteConfigPath}
|
|
43
|
-
Some settings may not be applied as expected.
|
|
44
|
-
You can manually set the config in the project, ${context.projectName}, configuration.
|
|
45
|
-
`);
|
|
46
|
-
}
|
|
47
|
-
const root = projectRoot === '.' ? process.cwd() : (0, _path.relative)(context.cwd, (0, _devkit.joinPathFragments)(context.root, projectRoot));
|
|
48
|
-
const { parseCLI } = await (0, _executorutils.loadVitestDynamicImport)();
|
|
49
|
-
const normalizedExtraArgs = parseCLI([
|
|
50
|
-
'vitest',
|
|
51
|
-
...getOptionsAsArgv(options)
|
|
52
|
-
]);
|
|
53
|
-
var _resolved_config_root;
|
|
54
|
-
const settings = _extends._({}, normalizedExtraArgs, {
|
|
55
|
-
// This should not be needed as it's going to be set in vite.config.ts
|
|
56
|
-
// but leaving it here in case someone did not migrate correctly
|
|
57
|
-
root: (_resolved_config_root = resolved.config.root) != null ? _resolved_config_root : root,
|
|
58
|
-
configFile: viteConfigPath
|
|
59
|
-
});
|
|
60
|
-
var _resolved_config_test;
|
|
61
|
-
return mergeConfig((_resolved_config_test = resolved == null ? void 0 : (_resolved_config1 = resolved.config) == null ? void 0 : _resolved_config1['test']) != null ? _resolved_config_test : {}, settings);
|
|
62
|
-
}
|
|
63
|
-
function getOptionsAsArgv(obj) {
|
|
64
|
-
const argv = [];
|
|
65
|
-
for (const [key, value] of Object.entries(obj)){
|
|
66
|
-
if (Array.isArray(value)) {
|
|
67
|
-
value.forEach((item)=>argv.push(`--${key}=${item}`));
|
|
68
|
-
} else if (typeof value === 'object' && value !== null) {
|
|
69
|
-
argv.push(`--${key}='${JSON.stringify(value)}'`);
|
|
70
|
-
} else {
|
|
71
|
-
argv.push(`--${key}=${value}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return argv;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/executors/test/lib/utils.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n logger,\n stripIndents,\n} from '@nx/devkit';\nimport { VitestExecutorOptions } from '../schema';\nimport { normalizeViteConfigFilePath } from '../../../utils/options-utils';\nimport { relative } from 'path';\nimport {\n loadViteDynamicImport,\n loadVitestDynamicImport,\n} from '../../../utils/executor-utils';\n\nexport async function getOptions(\n options: VitestExecutorOptions,\n context: ExecutorContext,\n projectRoot: string\n) {\n // Allows ESM to be required in CJS modules. Vite will be published as ESM in the future.\n const { loadConfigFromFile, mergeConfig } = await loadViteDynamicImport();\n\n const viteConfigPath = normalizeViteConfigFilePath(\n context.root,\n projectRoot,\n options.configFile\n );\n\n if (!viteConfigPath) {\n throw new Error(\n stripIndents`\n Unable to load test config from config file ${viteConfigPath}.\n \n Please make sure that vitest is configured correctly, \n or use the @nx/vite:vitest generator to configure it for you.\n You can read more here: https://nx.dev/nx-api/vite/generators/vitest\n `\n );\n }\n\n const resolved = await loadConfigFromFile(\n {\n mode: options?.mode ?? 'production',\n command: 'serve',\n },\n viteConfigPath\n );\n\n if (!viteConfigPath || !resolved?.config?.['test']) {\n logger.warn(stripIndents`Unable to load test config from config file ${\n resolved?.path ?? viteConfigPath\n }\n Some settings may not be applied as expected.\n You can manually set the config in the project, ${\n context.projectName\n }, configuration.\n `);\n }\n const root =\n projectRoot === '.'\n ? process.cwd()\n : relative(context.cwd, joinPathFragments(context.root, projectRoot));\n\n const { parseCLI } = await loadVitestDynamicImport();\n\n const normalizedExtraArgs = parseCLI([\n 'vitest',\n ...getOptionsAsArgv(options),\n ]);\n\n const settings = {\n ...normalizedExtraArgs,\n // This should not be needed as it's going to be set in vite.config.ts\n // but leaving it here in case someone did not migrate correctly\n root: resolved.config.root ?? root,\n configFile: viteConfigPath,\n };\n\n return mergeConfig(resolved?.config?.['test'] ?? {}, settings);\n}\n\nexport function getOptionsAsArgv(obj: Record<string, any>): string[] {\n const argv: string[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n if (Array.isArray(value)) {\n value.forEach((item) => argv.push(`--${key}=${item}`));\n } else if (typeof value === 'object' && value !== null) {\n argv.push(`--${key}='${JSON.stringify(value)}'`);\n } else {\n argv.push(`--${key}=${value}`);\n }\n }\n\n return argv;\n}\n"],"names":["getOptions","getOptionsAsArgv","options","context","projectRoot","resolved","loadConfigFromFile","mergeConfig","loadViteDynamicImport","viteConfigPath","normalizeViteConfigFilePath","root","configFile","Error","stripIndents","mode","command","config","logger","warn","path","projectName","process","cwd","relative","joinPathFragments","parseCLI","loadVitestDynamicImport","normalizedExtraArgs","settings","obj","argv","key","value","Object","entries","Array","isArray","forEach","item","push","JSON","stringify"],"mappings":";;;;;;;;IAcsBA,UAAU;eAAVA;;IAmENC,gBAAgB;eAAhBA;;;;wBA5ET;8BAEqC;sBACnB;+BAIlB;AAEA,eAAeD,WACpBE,OAA8B,EAC9BC,OAAwB,EACxBC,WAAmB;QA+BKC,kBA8BLA;IA3DnB,yFAAyF;IACzF,MAAM,EAAEC,kBAAkB,EAAEC,WAAW,EAAE,GAAG,MAAMC,IAAAA,oCAAqB;IAEvE,MAAMC,iBAAiBC,IAAAA,yCAA2B,EAChDP,QAAQQ,IAAI,EACZP,aACAF,QAAQU,UAAU;IAGpB,IAAI,CAACH,gBAAgB;QACnB,MAAM,IAAII,MACRC,IAAAA,oBAAY,CAAA,CAAC;oDACiC,EAAEL,eAAe;;;;;QAK7D,CAAC;IAEP;QAIUP;IAFV,MAAMG,WAAW,MAAMC,mBACrB;QACES,MAAMb,CAAAA,gBAAAA,2BAAAA,QAASa,IAAI,YAAbb,gBAAiB;QACvBc,SAAS;IACX,GACAP;IAGF,IAAI,CAACA,kBAAkB,EAACJ,6BAAAA,mBAAAA,SAAUY,MAAM,qBAAhBZ,gBAAkB,CAAC,OAAO,GAAE;YAEhDA;QADFa,cAAM,CAACC,IAAI,CAACL,IAAAA,oBAAY,CAAA,CAAC,4CAA4C,EACnET,CAAAA,iBAAAA,4BAAAA,SAAUe,IAAI,YAAdf,iBAAkBI,eACnB;;kDAE6C,EAC9CN,QAAQkB,WAAW,CACpB;QACK,CAAC;IACP;IACA,MAAMV,OACJP,gBAAgB,MACZkB,QAAQC,GAAG,KACXC,IAAAA,cAAQ,EAACrB,QAAQoB,GAAG,EAAEE,IAAAA,yBAAiB,EAACtB,QAAQQ,IAAI,EAAEP;IAE5D,MAAM,EAAEsB,QAAQ,EAAE,GAAG,MAAMC,IAAAA,sCAAuB;IAElD,MAAMC,sBAAsBF,SAAS;QACnC;WACGzB,iBAAiBC;KACrB;QAMOG;IAJR,MAAMwB,WAAW,eACZD;QACH,sEAAsE;QACtE,gEAAgE;QAChEjB,MAAMN,CAAAA,wBAAAA,SAASY,MAAM,CAACN,IAAI,YAApBN,wBAAwBM;QAC9BC,YAAYH;;QAGKJ;IAAnB,OAAOE,YAAYF,CAAAA,wBAAAA,6BAAAA,oBAAAA,SAAUY,MAAM,qBAAhBZ,iBAAkB,CAAC,OAAO,YAA1BA,wBAA8B,CAAC,GAAGwB;AACvD;AAEO,SAAS5B,iBAAiB6B,GAAwB;IACvD,MAAMC,OAAiB,EAAE;IAEzB,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIC,OAAOC,OAAO,CAACL,KAAM;QAC9C,IAAIM,MAAMC,OAAO,CAACJ,QAAQ;YACxBA,MAAMK,OAAO,CAAC,CAACC,OAASR,KAAKS,IAAI,CAAC,CAAC,EAAE,EAAER,IAAI,CAAC,EAAEO,KAAK,CAAC;QACtD,OAAO,IAAI,OAAON,UAAU,YAAYA,UAAU,MAAM;YACtDF,KAAKS,IAAI,CAAC,CAAC,EAAE,EAAER,IAAI,EAAE,EAAES,KAAKC,SAAS,CAACT,OAAO,CAAC,CAAC;QACjD,OAAO;YACLF,KAAKS,IAAI,CAAC,CAAC,EAAE,EAAER,IAAI,CAAC,EAAEC,MAAM,CAAC;QAC/B;IACF;IAEA,OAAOF;AACT"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { TargetConfiguration, Tree } from '@nx/devkit';
|
|
2
|
-
import { ViteConfigurationGeneratorSchema } from '../schema';
|
|
3
|
-
export declare function convertNonVite(tree: Tree, schema: ViteConfigurationGeneratorSchema, projectRoot: string, projectType: string, targets: {
|
|
4
|
-
[targetName: string]: TargetConfiguration<any>;
|
|
5
|
-
}): Promise<void>;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "convertNonVite", {
|
|
3
|
-
enumerable: true,
|
|
4
|
-
get: function() {
|
|
5
|
-
return convertNonVite;
|
|
6
|
-
}
|
|
7
|
-
});
|
|
8
|
-
const _devkit = require("@nx/devkit");
|
|
9
|
-
const _findviteconfig = require("../../../utils/find-vite-config");
|
|
10
|
-
const _generatorutils = require("../../../utils/generator-utils");
|
|
11
|
-
async function convertNonVite(tree, schema, projectRoot, projectType, targets) {
|
|
12
|
-
// Check if it has vite
|
|
13
|
-
const hasViteConfig = (0, _findviteconfig.findViteConfig)(tree, projectRoot);
|
|
14
|
-
const hasIndexHtmlAtRoot = tree.exists((0, _devkit.joinPathFragments)(projectRoot, 'index.html'));
|
|
15
|
-
// Check if it has webpack
|
|
16
|
-
const hasWebpackConfig = (0, _findviteconfig.findWebpackConfig)(tree, projectRoot);
|
|
17
|
-
if (hasWebpackConfig) {
|
|
18
|
-
if (projectType === 'application') {
|
|
19
|
-
(0, _generatorutils.moveAndEditIndexHtml)(tree, schema);
|
|
20
|
-
}
|
|
21
|
-
(0, _generatorutils.deleteWebpackConfig)(tree, projectRoot, hasWebpackConfig);
|
|
22
|
-
(0, _generatorutils.editTsConfig)(tree, schema);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
if (projectType === 'application' && hasViteConfig && hasIndexHtmlAtRoot && !hasWebpackConfig) {
|
|
26
|
-
throw new Error(`The project ${schema.project} is already configured to use Vite.`);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (projectType === 'library' && hasViteConfig) {
|
|
30
|
-
// continue anyway - it could need to be updated - only update vite.config.ts in any case
|
|
31
|
-
(0, _generatorutils.editTsConfig)(tree, schema);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// Does the project have js executors?
|
|
35
|
-
const { supported: jsTargetName, unsupported } = (0, _generatorutils.findExistingJsBuildTargetInProject)(targets);
|
|
36
|
-
if (jsTargetName) {
|
|
37
|
-
(0, _generatorutils.editTsConfig)(tree, schema);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (unsupported) {
|
|
41
|
-
throw new Error(`
|
|
42
|
-
Nx cannot convert your project to use vite.
|
|
43
|
-
Please try again with a different project.
|
|
44
|
-
`);
|
|
45
|
-
}
|
|
46
|
-
// If it's a library, it's most possible it's non-buildable
|
|
47
|
-
// So fix the tsconfig and return, to continue with the rest of the setup
|
|
48
|
-
if (projectType === 'library' && !hasViteConfig && !hasWebpackConfig && !jsTargetName) {
|
|
49
|
-
(0, _generatorutils.editTsConfig)(tree, schema);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* The project is an app.
|
|
54
|
-
* The project has no js executors, no webpack config, no vite config.
|
|
55
|
-
* We did not find any configuration that hints the project can
|
|
56
|
-
* definitely be converted.
|
|
57
|
-
* So, we should warn the user about it.
|
|
58
|
-
* They can choose whether to convert it or not
|
|
59
|
-
*/ await (0, _generatorutils.handleUnknownConfiguration)(schema.project);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=convert-non-vite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/generators/configuration/lib/convert-non-vite.ts"],"sourcesContent":["import {\n TargetConfiguration,\n Tree,\n joinPathFragments,\n logger,\n} from '@nx/devkit';\nimport {\n findViteConfig,\n findWebpackConfig,\n} from '../../../utils/find-vite-config';\nimport { ViteConfigurationGeneratorSchema } from '../schema';\nimport {\n deleteWebpackConfig,\n editTsConfig,\n findExistingJsBuildTargetInProject,\n handleUnknownConfiguration,\n moveAndEditIndexHtml,\n} from '../../../utils/generator-utils';\n\nexport async function convertNonVite(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema,\n projectRoot: string,\n projectType: string,\n targets: {\n [targetName: string]: TargetConfiguration<any>;\n }\n) {\n // Check if it has vite\n const hasViteConfig = findViteConfig(tree, projectRoot);\n const hasIndexHtmlAtRoot = tree.exists(\n joinPathFragments(projectRoot, 'index.html')\n );\n\n // Check if it has webpack\n const hasWebpackConfig = findWebpackConfig(tree, projectRoot);\n if (hasWebpackConfig) {\n if (projectType === 'application') {\n moveAndEditIndexHtml(tree, schema);\n }\n deleteWebpackConfig(tree, projectRoot, hasWebpackConfig);\n editTsConfig(tree, schema);\n return;\n }\n\n if (\n projectType === 'application' &&\n hasViteConfig &&\n hasIndexHtmlAtRoot &&\n !hasWebpackConfig\n ) {\n throw new Error(\n `The project ${schema.project} is already configured to use Vite.`\n );\n return;\n }\n\n if (projectType === 'library' && hasViteConfig) {\n // continue anyway - it could need to be updated - only update vite.config.ts in any case\n editTsConfig(tree, schema);\n return;\n }\n\n // Does the project have js executors?\n const { supported: jsTargetName, unsupported } =\n findExistingJsBuildTargetInProject(targets);\n if (jsTargetName) {\n editTsConfig(tree, schema);\n return;\n }\n\n if (unsupported) {\n throw new Error(`\n Nx cannot convert your project to use vite.\n Please try again with a different project.\n `);\n }\n\n // If it's a library, it's most possible it's non-buildable\n // So fix the tsconfig and return, to continue with the rest of the setup\n if (\n projectType === 'library' &&\n !hasViteConfig &&\n !hasWebpackConfig &&\n !jsTargetName\n ) {\n editTsConfig(tree, schema);\n return;\n }\n\n /**\n * The project is an app.\n * The project has no js executors, no webpack config, no vite config.\n * We did not find any configuration that hints the project can\n * definitely be converted.\n * So, we should warn the user about it.\n * They can choose whether to convert it or not\n */\n await handleUnknownConfiguration(schema.project);\n}\n"],"names":["convertNonVite","tree","schema","projectRoot","projectType","targets","hasViteConfig","findViteConfig","hasIndexHtmlAtRoot","exists","joinPathFragments","hasWebpackConfig","findWebpackConfig","moveAndEditIndexHtml","deleteWebpackConfig","editTsConfig","Error","project","supported","jsTargetName","unsupported","findExistingJsBuildTargetInProject","handleUnknownConfiguration"],"mappings":";+BAmBsBA;;;eAAAA;;;wBAdf;gCAIA;gCAQA;AAEA,eAAeA,eACpBC,IAAU,EACVC,MAAwC,EACxCC,WAAmB,EACnBC,WAAmB,EACnBC,OAEC;IAED,uBAAuB;IACvB,MAAMC,gBAAgBC,IAAAA,8BAAc,EAACN,MAAME;IAC3C,MAAMK,qBAAqBP,KAAKQ,MAAM,CACpCC,IAAAA,yBAAiB,EAACP,aAAa;IAGjC,0BAA0B;IAC1B,MAAMQ,mBAAmBC,IAAAA,iCAAiB,EAACX,MAAME;IACjD,IAAIQ,kBAAkB;QACpB,IAAIP,gBAAgB,eAAe;YACjCS,IAAAA,oCAAoB,EAACZ,MAAMC;QAC7B;QACAY,IAAAA,mCAAmB,EAACb,MAAME,aAAaQ;QACvCI,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,IACEE,gBAAgB,iBAChBE,iBACAE,sBACA,CAACG,kBACD;QACA,MAAM,IAAIK,MACR,CAAC,YAAY,EAAEd,OAAOe,OAAO,CAAC,mCAAmC,CAAC;QAEpE;IACF;IAEA,IAAIb,gBAAgB,aAAaE,eAAe;QAC9C,yFAAyF;QACzFS,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,sCAAsC;IACtC,MAAM,EAAEgB,WAAWC,YAAY,EAAEC,WAAW,EAAE,GAC5CC,IAAAA,kDAAkC,EAAChB;IACrC,IAAIc,cAAc;QAChBJ,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA,IAAIkB,aAAa;QACf,MAAM,IAAIJ,MAAM,CAAC;;;IAGjB,CAAC;IACH;IAEA,2DAA2D;IAC3D,yEAAyE;IACzE,IACEZ,gBAAgB,aAChB,CAACE,iBACD,CAACK,oBACD,CAACQ,cACD;QACAJ,IAAAA,4BAAY,EAACd,MAAMC;QACnB;IACF;IAEA;;;;;;;GAOC,GACD,MAAMoB,IAAAA,0CAA0B,EAACpB,OAAOe,OAAO;AACjD"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Tree } from '@nx/devkit';
|
|
2
|
-
import { InitGeneratorSchema } from '../schema';
|
|
3
|
-
export declare function checkDependenciesInstalled(host: Tree, schema: InitGeneratorSchema): import("@nx/devkit").GeneratorCallback;
|
|
4
|
-
export declare function moveToDevDependencies(tree: Tree): () => void;
|
|
5
|
-
export declare function createVitestConfig(tree: Tree): void;
|
|
6
|
-
export declare function addPlugin(tree: Tree): void;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function _export(target, all) {
|
|
3
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
4
|
-
enumerable: true,
|
|
5
|
-
get: all[name]
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
_export(exports, {
|
|
9
|
-
checkDependenciesInstalled: function() {
|
|
10
|
-
return checkDependenciesInstalled;
|
|
11
|
-
},
|
|
12
|
-
moveToDevDependencies: function() {
|
|
13
|
-
return moveToDevDependencies;
|
|
14
|
-
},
|
|
15
|
-
createVitestConfig: function() {
|
|
16
|
-
return createVitestConfig;
|
|
17
|
-
},
|
|
18
|
-
addPlugin: function() {
|
|
19
|
-
return addPlugin;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _devkit = require("@nx/devkit");
|
|
23
|
-
const _versions = require("../../../utils/versions");
|
|
24
|
-
function checkDependenciesInstalled(host, schema) {
|
|
25
|
-
return (0, _devkit.addDependenciesToPackageJson)(host, {}, {
|
|
26
|
-
'@nx/vite': _versions.nxVersion,
|
|
27
|
-
'@nx/web': _versions.nxVersion,
|
|
28
|
-
vite: _versions.viteVersion,
|
|
29
|
-
vitest: _versions.vitestVersion,
|
|
30
|
-
'@vitest/ui': _versions.vitestVersion
|
|
31
|
-
}, undefined, schema.keepExistingVersions);
|
|
32
|
-
}
|
|
33
|
-
function moveToDevDependencies(tree) {
|
|
34
|
-
let wasUpdated = false;
|
|
35
|
-
(0, _devkit.updateJson)(tree, 'package.json', (packageJson)=>{
|
|
36
|
-
packageJson.dependencies = packageJson.dependencies || {};
|
|
37
|
-
packageJson.devDependencies = packageJson.devDependencies || {};
|
|
38
|
-
if (packageJson.dependencies['@nx/vite']) {
|
|
39
|
-
packageJson.devDependencies['@nx/vite'] = packageJson.dependencies['@nx/vite'];
|
|
40
|
-
delete packageJson.dependencies['@nx/vite'];
|
|
41
|
-
wasUpdated = true;
|
|
42
|
-
}
|
|
43
|
-
return packageJson;
|
|
44
|
-
});
|
|
45
|
-
return wasUpdated ? ()=>(0, _devkit.installPackagesTask)(tree) : ()=>{};
|
|
46
|
-
}
|
|
47
|
-
function createVitestConfig(tree) {
|
|
48
|
-
var _nxJson_namedInputs;
|
|
49
|
-
const nxJson = (0, _devkit.readNxJson)(tree);
|
|
50
|
-
const productionFileSet = (_nxJson_namedInputs = nxJson.namedInputs) == null ? void 0 : _nxJson_namedInputs.production;
|
|
51
|
-
if (productionFileSet) {
|
|
52
|
-
productionFileSet.push('!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json');
|
|
53
|
-
nxJson.namedInputs.production = Array.from(new Set(productionFileSet));
|
|
54
|
-
}
|
|
55
|
-
(0, _devkit.updateNxJson)(tree, nxJson);
|
|
56
|
-
}
|
|
57
|
-
function addPlugin(tree) {
|
|
58
|
-
var _nxJson;
|
|
59
|
-
const nxJson = (0, _devkit.readNxJson)(tree);
|
|
60
|
-
var _plugins;
|
|
61
|
-
(_plugins = (_nxJson = nxJson).plugins) != null ? _plugins : _nxJson.plugins = [];
|
|
62
|
-
for (const plugin of nxJson.plugins){
|
|
63
|
-
if (typeof plugin === 'string' ? plugin === '@nx/vite/plugin' : plugin.plugin === '@nx/vite/plugin') {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
nxJson.plugins.push({
|
|
68
|
-
plugin: '@nx/vite/plugin',
|
|
69
|
-
options: {
|
|
70
|
-
buildTargetName: 'build',
|
|
71
|
-
previewTargetName: 'preview',
|
|
72
|
-
testTargetName: 'test',
|
|
73
|
-
serveTargetName: 'serve',
|
|
74
|
-
serveStaticTargetName: 'serve-static'
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
(0, _devkit.updateNxJson)(tree, nxJson);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/generators/init/lib/utils.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n installPackagesTask,\n readNxJson,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\nimport { nxVersion, vitestVersion, viteVersion } from '../../../utils/versions';\nimport { InitGeneratorSchema } from '../schema';\n\nexport function checkDependenciesInstalled(\n host: Tree,\n schema: InitGeneratorSchema\n) {\n return addDependenciesToPackageJson(\n host,\n {},\n {\n '@nx/vite': nxVersion,\n '@nx/web': nxVersion,\n vite: viteVersion,\n vitest: vitestVersion,\n '@vitest/ui': vitestVersion,\n },\n undefined,\n schema.keepExistingVersions\n );\n}\n\nexport function moveToDevDependencies(tree: Tree) {\n let wasUpdated = false;\n updateJson(tree, 'package.json', (packageJson) => {\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n if (packageJson.dependencies['@nx/vite']) {\n packageJson.devDependencies['@nx/vite'] =\n packageJson.dependencies['@nx/vite'];\n delete packageJson.dependencies['@nx/vite'];\n wasUpdated = true;\n }\n return packageJson;\n });\n\n return wasUpdated ? () => installPackagesTask(tree) : () => {};\n}\n\nexport function createVitestConfig(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n updateNxJson(tree, nxJson);\n}\n\nexport function addPlugin(tree: Tree) {\n const nxJson = readNxJson(tree);\n nxJson.plugins ??= [];\n\n for (const plugin of nxJson.plugins) {\n if (\n typeof plugin === 'string'\n ? plugin === '@nx/vite/plugin'\n : plugin.plugin === '@nx/vite/plugin'\n ) {\n return;\n }\n }\n\n nxJson.plugins.push({\n plugin: '@nx/vite/plugin',\n options: {\n buildTargetName: 'build',\n previewTargetName: 'preview',\n testTargetName: 'test',\n serveTargetName: 'serve',\n serveStaticTargetName: 'serve-static',\n },\n });\n updateNxJson(tree, nxJson);\n}\n"],"names":["checkDependenciesInstalled","moveToDevDependencies","createVitestConfig","addPlugin","host","schema","addDependenciesToPackageJson","nxVersion","vite","viteVersion","vitest","vitestVersion","undefined","keepExistingVersions","tree","wasUpdated","updateJson","packageJson","dependencies","devDependencies","installPackagesTask","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","updateNxJson","plugins","plugin","options","buildTargetName","previewTargetName","testTargetName","serveTargetName","serveStaticTargetName"],"mappings":";;;;;;;;IAWgBA,0BAA0B;eAA1BA;;IAmBAC,qBAAqB;eAArBA;;IAkBAC,kBAAkB;eAAlBA;;IAgBAC,SAAS;eAATA;;;wBAzDT;0BAC+C;AAG/C,SAASH,2BACdI,IAAU,EACVC,MAA2B;IAE3B,OAAOC,IAAAA,oCAA4B,EACjCF,MACA,CAAC,GACD;QACE,YAAYG,mBAAS;QACrB,WAAWA,mBAAS;QACpBC,MAAMC,qBAAW;QACjBC,QAAQC,uBAAa;QACrB,cAAcA,uBAAa;IAC7B,GACAC,WACAP,OAAOQ,oBAAoB;AAE/B;AAEO,SAASZ,sBAAsBa,IAAU;IAC9C,IAAIC,aAAa;IACjBC,IAAAA,kBAAU,EAACF,MAAM,gBAAgB,CAACG;QAChCA,YAAYC,YAAY,GAAGD,YAAYC,YAAY,IAAI,CAAC;QACxDD,YAAYE,eAAe,GAAGF,YAAYE,eAAe,IAAI,CAAC;QAE9D,IAAIF,YAAYC,YAAY,CAAC,WAAW,EAAE;YACxCD,YAAYE,eAAe,CAAC,WAAW,GACrCF,YAAYC,YAAY,CAAC,WAAW;YACtC,OAAOD,YAAYC,YAAY,CAAC,WAAW;YAC3CH,aAAa;QACf;QACA,OAAOE;IACT;IAEA,OAAOF,aAAa,IAAMK,IAAAA,2BAAmB,EAACN,QAAQ,KAAO;AAC/D;AAEO,SAASZ,mBAAmBY,IAAU;QAGjBO;IAF1B,MAAMA,SAASC,IAAAA,kBAAU,EAACR;IAE1B,MAAMS,qBAAoBF,sBAAAA,OAAOG,WAAW,qBAAlBH,oBAAoBI,UAAU;IACxD,IAAIF,mBAAmB;QACrBA,kBAAkBG,IAAI,CACpB,yDACA;QAGFL,OAAOG,WAAW,CAACC,UAAU,GAAGE,MAAMC,IAAI,CAAC,IAAIC,IAAIN;IACrD;IAEAO,IAAAA,oBAAY,EAAChB,MAAMO;AACrB;AAEO,SAASlB,UAAUW,IAAU;QAElCO;IADA,MAAMA,SAASC,IAAAA,kBAAU,EAACR;;IAC1BO,aAAAA,UAAAA,QAAOU,8BAAPV,QAAOU,UAAY,EAAE;IAErB,KAAK,MAAMC,UAAUX,OAAOU,OAAO,CAAE;QACnC,IACE,OAAOC,WAAW,WACdA,WAAW,oBACXA,OAAOA,MAAM,KAAK,mBACtB;YACA;QACF;IACF;IAEAX,OAAOU,OAAO,CAACL,IAAI,CAAC;QAClBM,QAAQ;QACRC,SAAS;YACPC,iBAAiB;YACjBC,mBAAmB;YACnBC,gBAAgB;YAChBC,iBAAiB;YACjBC,uBAAuB;QACzB;IACF;IACAR,IAAAA,oBAAY,EAAChB,MAAMO;AACrB"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "default", {
|
|
3
|
-
enumerable: true,
|
|
4
|
-
get: function() {
|
|
5
|
-
return update;
|
|
6
|
-
}
|
|
7
|
-
});
|
|
8
|
-
const _devkit = require("@nx/devkit");
|
|
9
|
-
const _executoroptionsutils = require("@nx/devkit/src/generators/executor-options-utils");
|
|
10
|
-
const _projectconfigurationutils = require("nx/src/project-graph/utils/project-configuration-utils");
|
|
11
|
-
async function update(tree) {
|
|
12
|
-
var _nxJson_targetDefaults, _nxJson_namedInputs;
|
|
13
|
-
var _nxJson, _vitestDefaults, _vitestDefaults1;
|
|
14
|
-
const nxJson = (0, _devkit.readNxJson)(tree);
|
|
15
|
-
// Don't override anything if there are already target defaults for vitest
|
|
16
|
-
if ((_nxJson_targetDefaults = nxJson.targetDefaults) == null ? void 0 : _nxJson_targetDefaults['@nx/vite:test']) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
var _targetDefaults;
|
|
20
|
-
(_targetDefaults = (_nxJson = nxJson).targetDefaults) != null ? _targetDefaults : _nxJson.targetDefaults = {};
|
|
21
|
-
/**
|
|
22
|
-
* A set of targets which does not use any other executors
|
|
23
|
-
*/ const vitestTargets = new Set();
|
|
24
|
-
const graph = await (0, _devkit.createProjectGraphAsync)();
|
|
25
|
-
const projectMap = (0, _devkit.getProjects)(tree);
|
|
26
|
-
(0, _executoroptionsutils.forEachExecutorOptionsInGraph)(graph, '@nx/vite:test', (value, proj, targetName)=>{
|
|
27
|
-
vitestTargets.add(targetName);
|
|
28
|
-
});
|
|
29
|
-
// Workspace does not use vitest
|
|
30
|
-
if (vitestTargets.size === 0) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
// Use the project graph nodes so that targets which are inferred are considered
|
|
34
|
-
const projects = graph.nodes;
|
|
35
|
-
const vitestDefaults = nxJson.targetDefaults['@nx/vite:test'] = {};
|
|
36
|
-
// All vitest targets have the same name
|
|
37
|
-
if (vitestTargets.size === 1) {
|
|
38
|
-
const targetName = Array.from(vitestTargets)[0];
|
|
39
|
-
if (nxJson.targetDefaults[targetName]) {
|
|
40
|
-
Object.assign(vitestDefaults, nxJson.targetDefaults[targetName]);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
var _cache;
|
|
44
|
-
(_cache = (_vitestDefaults = vitestDefaults).cache) != null ? _cache : _vitestDefaults.cache = true;
|
|
45
|
-
const inputs = [
|
|
46
|
-
'default'
|
|
47
|
-
];
|
|
48
|
-
inputs.push(((_nxJson_namedInputs = nxJson.namedInputs) == null ? void 0 : _nxJson_namedInputs.production) ? '^production' : '^default');
|
|
49
|
-
var _inputs;
|
|
50
|
-
(_inputs = (_vitestDefaults1 = vitestDefaults).inputs) != null ? _inputs : _vitestDefaults1.inputs = inputs;
|
|
51
|
-
// Cleanup old target defaults
|
|
52
|
-
for (const [targetDefaultKey, targetDefault] of Object.entries(nxJson.targetDefaults)){
|
|
53
|
-
if (!isTargetDefaultUsed(targetDefault, nxJson.targetDefaults, projects, projectMap)) {
|
|
54
|
-
delete nxJson.targetDefaults[targetDefaultKey];
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
(0, _devkit.updateNxJson)(tree, nxJson);
|
|
58
|
-
await (0, _devkit.formatFiles)(tree);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Checks every target on every project to see if one of them uses the target default
|
|
62
|
-
*/ function isTargetDefaultUsed(targetDefault, targetDefaults, projects, projectMap) {
|
|
63
|
-
for (const p of Object.values(projects)){
|
|
64
|
-
var _p_data;
|
|
65
|
-
var _p_data_targets;
|
|
66
|
-
for(const targetName in (_p_data_targets = (_p_data = p.data) == null ? void 0 : _p_data.targets) != null ? _p_data_targets : {}){
|
|
67
|
-
var // It might seem like we should use the graph here too but we don't want to pass an executor which was processed in the graph
|
|
68
|
-
_projectMap_get_targets_targetName, _projectMap_get_targets;
|
|
69
|
-
if ((0, _projectconfigurationutils.readTargetDefaultsForTarget)(targetName, targetDefaults, (_projectMap_get_targets = projectMap.get(p.name).targets) == null ? void 0 : (_projectMap_get_targets_targetName = _projectMap_get_targets[targetName]) == null ? void 0 : _projectMap_get_targets_targetName.executor) === targetDefault) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
//# sourceMappingURL=move-target-defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-17-1-0/move-target-defaults.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n getProjects,\n ProjectConfiguration,\n ProjectGraphProjectNode,\n readNxJson,\n TargetConfiguration,\n TargetDefaults,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { forEachExecutorOptionsInGraph } from '@nx/devkit/src/generators/executor-options-utils';\nimport { VitestExecutorOptions } from '../../executors/test/schema';\nimport { readTargetDefaultsForTarget } from 'nx/src/project-graph/utils/project-configuration-utils';\n\nexport default async function update(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n // Don't override anything if there are already target defaults for vitest\n if (nxJson.targetDefaults?.['@nx/vite:test']) {\n return;\n }\n\n nxJson.targetDefaults ??= {};\n\n /**\n * A set of targets which does not use any other executors\n */\n const vitestTargets = new Set<string>();\n const graph = await createProjectGraphAsync();\n const projectMap = getProjects(tree);\n\n forEachExecutorOptionsInGraph(\n graph,\n '@nx/vite:test',\n (value, proj, targetName) => {\n vitestTargets.add(targetName);\n }\n );\n\n // Workspace does not use vitest\n if (vitestTargets.size === 0) {\n return;\n }\n\n // Use the project graph nodes so that targets which are inferred are considered\n const projects = graph.nodes;\n\n const vitestDefaults: TargetConfiguration<Partial<VitestExecutorOptions>> =\n (nxJson.targetDefaults['@nx/vite:test'] = {});\n\n // All vitest targets have the same name\n if (vitestTargets.size === 1) {\n const targetName = Array.from(vitestTargets)[0];\n if (nxJson.targetDefaults[targetName]) {\n Object.assign(vitestDefaults, nxJson.targetDefaults[targetName]);\n }\n }\n\n vitestDefaults.cache ??= true;\n\n const inputs = ['default'];\n inputs.push(nxJson.namedInputs?.production ? '^production' : '^default');\n vitestDefaults.inputs ??= inputs;\n\n // Cleanup old target defaults\n for (const [targetDefaultKey, targetDefault] of Object.entries(\n nxJson.targetDefaults\n )) {\n if (\n !isTargetDefaultUsed(\n targetDefault,\n nxJson.targetDefaults,\n projects,\n projectMap\n )\n ) {\n delete nxJson.targetDefaults[targetDefaultKey];\n }\n }\n\n updateNxJson(tree, nxJson);\n\n await formatFiles(tree);\n}\n\n/**\n * Checks every target on every project to see if one of them uses the target default\n */\nfunction isTargetDefaultUsed(\n targetDefault: Partial<TargetConfiguration>,\n targetDefaults: TargetDefaults,\n projects: Record<string, ProjectGraphProjectNode>,\n projectMap: Map<string, ProjectConfiguration>\n) {\n for (const p of Object.values(projects)) {\n for (const targetName in p.data?.targets ?? {}) {\n if (\n readTargetDefaultsForTarget(\n targetName,\n targetDefaults,\n // It might seem like we should use the graph here too but we don't want to pass an executor which was processed in the graph\n projectMap.get(p.name).targets?.[targetName]?.executor\n ) === targetDefault\n ) {\n return true;\n }\n }\n }\n return false;\n}\n"],"names":["update","tree","nxJson","vitestDefaults","readNxJson","targetDefaults","vitestTargets","Set","graph","createProjectGraphAsync","projectMap","getProjects","forEachExecutorOptionsInGraph","value","proj","targetName","add","size","projects","nodes","Array","from","Object","assign","cache","inputs","push","namedInputs","production","targetDefaultKey","targetDefault","entries","isTargetDefaultUsed","updateNxJson","formatFiles","p","values","data","targets","readTargetDefaultsForTarget","get","name","executor"],"mappings":";+BAgBA;;;eAA8BA;;;wBALvB;sCACuC;2CAEF;AAE7B,eAAeA,OAAOC,IAAU;QAIzCC,wBA2CQA;QAvCZA,SAoCAC,iBAIAA;IA/CA,MAAMD,SAASE,IAAAA,kBAAU,EAACH;IAE1B,0EAA0E;IAC1E,KAAIC,yBAAAA,OAAOG,cAAc,qBAArBH,sBAAuB,CAAC,gBAAgB,EAAE;QAC5C;IACF;;IAEAA,oBAAAA,UAAAA,QAAOG,4CAAPH,QAAOG,iBAAmB,CAAC;IAE3B;;GAEC,GACD,MAAMC,gBAAgB,IAAIC;IAC1B,MAAMC,QAAQ,MAAMC,IAAAA,+BAAuB;IAC3C,MAAMC,aAAaC,IAAAA,mBAAW,EAACV;IAE/BW,IAAAA,mDAA6B,EAC3BJ,OACA,iBACA,CAACK,OAAOC,MAAMC;QACZT,cAAcU,GAAG,CAACD;IACpB;IAGF,gCAAgC;IAChC,IAAIT,cAAcW,IAAI,KAAK,GAAG;QAC5B;IACF;IAEA,gFAAgF;IAChF,MAAMC,WAAWV,MAAMW,KAAK;IAE5B,MAAMhB,iBACHD,OAAOG,cAAc,CAAC,gBAAgB,GAAG,CAAC;IAE7C,wCAAwC;IACxC,IAAIC,cAAcW,IAAI,KAAK,GAAG;QAC5B,MAAMF,aAAaK,MAAMC,IAAI,CAACf,cAAc,CAAC,EAAE;QAC/C,IAAIJ,OAAOG,cAAc,CAACU,WAAW,EAAE;YACrCO,OAAOC,MAAM,CAACpB,gBAAgBD,OAAOG,cAAc,CAACU,WAAW;QACjE;IACF;;IAEAZ,WAAAA,kBAAAA,gBAAeqB,0BAAfrB,gBAAeqB,QAAU;IAEzB,MAAMC,SAAS;QAAC;KAAU;IAC1BA,OAAOC,IAAI,CAACxB,EAAAA,sBAAAA,OAAOyB,WAAW,qBAAlBzB,oBAAoB0B,UAAU,IAAG,gBAAgB;;IAC7DzB,YAAAA,mBAAAA,gBAAesB,4BAAftB,iBAAesB,SAAWA;IAE1B,8BAA8B;IAC9B,KAAK,MAAM,CAACI,kBAAkBC,cAAc,IAAIR,OAAOS,OAAO,CAC5D7B,OAAOG,cAAc,EACpB;QACD,IACE,CAAC2B,oBACCF,eACA5B,OAAOG,cAAc,EACrBa,UACAR,aAEF;YACA,OAAOR,OAAOG,cAAc,CAACwB,iBAAiB;QAChD;IACF;IAEAI,IAAAA,oBAAY,EAAChC,MAAMC;IAEnB,MAAMgC,IAAAA,mBAAW,EAACjC;AACpB;AAEA;;CAEC,GACD,SAAS+B,oBACPF,aAA2C,EAC3CzB,cAA8B,EAC9Ba,QAAiD,EACjDR,UAA6C;IAE7C,KAAK,MAAMyB,KAAKb,OAAOc,MAAM,CAAClB,UAAW;YACdiB;YAAAA;QAAzB,IAAK,MAAMpB,cAAcoB,CAAAA,mBAAAA,UAAAA,EAAEE,IAAI,qBAANF,QAAQG,OAAO,YAAfH,kBAAmB,CAAC,EAAG;gBAK1C,6HAA6H;YAC7HzB,oCAAAA;YALJ,IACE6B,IAAAA,sDAA2B,EACzBxB,YACAV,iBAEAK,0BAAAA,WAAW8B,GAAG,CAACL,EAAEM,IAAI,EAAEH,OAAO,sBAA9B5B,qCAAAA,uBAAgC,CAACK,WAAW,qBAA5CL,mCAA8CgC,QAAQ,MAClDZ,eACN;gBACA,OAAO;YACT;QACF;IACF;IACA,OAAO;AACT"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "addFileReplacements", {
|
|
3
|
-
enumerable: true,
|
|
4
|
-
get: function() {
|
|
5
|
-
return addFileReplacements;
|
|
6
|
-
}
|
|
7
|
-
});
|
|
8
|
-
const _devkit = require("@nx/devkit");
|
|
9
|
-
const _tsquery = require("@phenomnomnominal/tsquery");
|
|
10
|
-
const _updateviteconfig = require("../update-vite-config");
|
|
11
|
-
function addFileReplacements(configContents, fileReplacements, configPath) {
|
|
12
|
-
var _tsquery_query, _tsquery_query1, _tsquery_query2;
|
|
13
|
-
const configNode = (0, _updateviteconfig.getConfigNode)(configContents);
|
|
14
|
-
if (!configNode) {
|
|
15
|
-
(0, _updateviteconfig.notFoundWarning)(configPath);
|
|
16
|
-
return configContents;
|
|
17
|
-
}
|
|
18
|
-
const pluginsObject = (_tsquery_query = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="plugins"])`)) == null ? void 0 : _tsquery_query[0];
|
|
19
|
-
const replaceFilesPlugin = (_tsquery_query1 = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="plugins"]) CallExpression:has(Identifier[name="replaceFiles"])`)) == null ? void 0 : _tsquery_query1[0];
|
|
20
|
-
const firstImportDeclaration = (_tsquery_query2 = _tsquery.tsquery.query(configContents, 'ImportDeclaration')) == null ? void 0 : _tsquery_query2[0];
|
|
21
|
-
if (pluginsObject) {
|
|
22
|
-
if (replaceFilesPlugin) {
|
|
23
|
-
return configContents;
|
|
24
|
-
} else {
|
|
25
|
-
return (0, _devkit.applyChangesToString)(configContents, [
|
|
26
|
-
{
|
|
27
|
-
type: _devkit.ChangeType.Insert,
|
|
28
|
-
index: pluginsObject.getStart() + `plugins: [`.length + 1,
|
|
29
|
-
text: `replaceFiles(${JSON.stringify(fileReplacements)}),`
|
|
30
|
-
},
|
|
31
|
-
firstImportDeclaration ? {
|
|
32
|
-
type: _devkit.ChangeType.Insert,
|
|
33
|
-
index: firstImportDeclaration.getStart(),
|
|
34
|
-
text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\n`
|
|
35
|
-
} : {
|
|
36
|
-
type: _devkit.ChangeType.Insert,
|
|
37
|
-
index: 0,
|
|
38
|
-
text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\n`
|
|
39
|
-
}
|
|
40
|
-
]);
|
|
41
|
-
}
|
|
42
|
-
} else {
|
|
43
|
-
var _tsquery_query3;
|
|
44
|
-
const foundDefineConfig = (_tsquery_query3 = _tsquery.tsquery.query(configContents, 'CallExpression:has(Identifier[name="defineConfig"])')) == null ? void 0 : _tsquery_query3[0];
|
|
45
|
-
if (!foundDefineConfig) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
return (0, _devkit.applyChangesToString)(configContents, [
|
|
49
|
-
{
|
|
50
|
-
type: _devkit.ChangeType.Insert,
|
|
51
|
-
index: configNode.getStart() + 1,
|
|
52
|
-
text: `plugins: [replaceFiles(${JSON.stringify(fileReplacements)})],`
|
|
53
|
-
},
|
|
54
|
-
firstImportDeclaration ? {
|
|
55
|
-
type: _devkit.ChangeType.Insert,
|
|
56
|
-
index: firstImportDeclaration.getStart(),
|
|
57
|
-
text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`
|
|
58
|
-
} : {
|
|
59
|
-
type: _devkit.ChangeType.Insert,
|
|
60
|
-
index: 0,
|
|
61
|
-
text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`
|
|
62
|
-
}
|
|
63
|
-
]);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=add-file-replacements.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/add-file-replacements.ts"],"sourcesContent":["import { ChangeType, applyChangesToString } from '@nx/devkit';\nimport { FileReplacement } from '../../../../plugins/rollup-replace-files.plugin';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function addFileReplacements(\n configContents: string,\n fileReplacements: FileReplacement[],\n configPath: string\n): string {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n const pluginsObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"plugins\"])`\n )?.[0];\n const replaceFilesPlugin = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"plugins\"]) CallExpression:has(Identifier[name=\"replaceFiles\"])`\n )?.[0];\n\n const firstImportDeclaration = tsquery.query(\n configContents,\n 'ImportDeclaration'\n )?.[0];\n\n if (pluginsObject) {\n if (replaceFilesPlugin) {\n return configContents;\n } else {\n return applyChangesToString(configContents, [\n {\n type: ChangeType.Insert,\n index: pluginsObject.getStart() + `plugins: [`.length + 1,\n text: `replaceFiles(${JSON.stringify(fileReplacements)}),`,\n },\n firstImportDeclaration\n ? {\n type: ChangeType.Insert,\n index: firstImportDeclaration.getStart(),\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\\n`,\n }\n : {\n type: ChangeType.Insert,\n index: 0,\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';\\n`,\n },\n ]);\n }\n } else {\n const foundDefineConfig = tsquery.query(\n configContents,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n )?.[0];\n\n if (!foundDefineConfig) {\n return;\n }\n return applyChangesToString(configContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `plugins: [replaceFiles(${JSON.stringify(fileReplacements)})],`,\n },\n firstImportDeclaration\n ? {\n type: ChangeType.Insert,\n index: firstImportDeclaration.getStart(),\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`,\n }\n : {\n type: ChangeType.Insert,\n index: 0,\n text: `import replaceFiles from '@nx/vite/plugins/rollup-replace-files.plugin';`,\n },\n ]);\n }\n}\n"],"names":["addFileReplacements","configContents","fileReplacements","configPath","tsquery","configNode","getConfigNode","notFoundWarning","pluginsObject","query","replaceFilesPlugin","firstImportDeclaration","applyChangesToString","type","ChangeType","Insert","index","getStart","length","text","JSON","stringify","foundDefineConfig"],"mappings":";+BAKgBA;;;eAAAA;;;wBALiC;yBAEzB;kCACuB;AAExC,SAASA,oBACdC,cAAsB,EACtBC,gBAAmC,EACnCC,UAAkB;QAOIC,gBAIKA,iBAKIA;IAd/B,MAAMC,aAAaC,IAAAA,+BAAa,EAACL;IACjC,IAAI,CAACI,YAAY;QACfE,IAAAA,iCAAe,EAACJ;QAChB,OAAOF;IACT;IACA,MAAMO,iBAAgBJ,iBAAAA,gBAAO,CAACK,KAAK,CACjCJ,YACA,CAAC,kDAAkD,CAAC,sBAFhCD,cAGnB,CAAC,EAAE;IACN,MAAMM,sBAAqBN,kBAAAA,gBAAO,CAACK,KAAK,CACtCJ,YACA,CAAC,sGAAsG,CAAC,sBAF/ED,eAGxB,CAAC,EAAE;IAEN,MAAMO,0BAAyBP,kBAAAA,gBAAO,CAACK,KAAK,CAC1CR,gBACA,yCAF6BG,eAG5B,CAAC,EAAE;IAEN,IAAII,eAAe;QACjB,IAAIE,oBAAoB;YACtB,OAAOT;QACT,OAAO;YACL,OAAOW,IAAAA,4BAAoB,EAACX,gBAAgB;gBAC1C;oBACEY,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAOR,cAAcS,QAAQ,KAAK,CAAC,UAAU,CAAC,CAACC,MAAM,GAAG;oBACxDC,MAAM,CAAC,aAAa,EAAEC,KAAKC,SAAS,CAACnB,kBAAkB,EAAE,CAAC;gBAC5D;gBACAS,yBACI;oBACEE,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAOL,uBAAuBM,QAAQ;oBACtCE,MAAM,CAAC,0EAA0E,CAAC;gBACpF,IACA;oBACEN,MAAMC,kBAAU,CAACC,MAAM;oBACvBC,OAAO;oBACPG,MAAM,CAAC,0EAA0E,CAAC;gBACpF;aACL;QACH;IACF,OAAO;YACqBf;QAA1B,MAAMkB,qBAAoBlB,kBAAAA,gBAAO,CAACK,KAAK,CACrCR,gBACA,2EAFwBG,eAGvB,CAAC,EAAE;QAEN,IAAI,CAACkB,mBAAmB;YACtB;QACF;QACA,OAAOV,IAAAA,4BAAoB,EAACX,gBAAgB;YAC1C;gBACEY,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOX,WAAWY,QAAQ,KAAK;gBAC/BE,MAAM,CAAC,uBAAuB,EAAEC,KAAKC,SAAS,CAACnB,kBAAkB,GAAG,CAAC;YACvE;YACAS,yBACI;gBACEE,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOL,uBAAuBM,QAAQ;gBACtCE,MAAM,CAAC,wEAAwE,CAAC;YAClF,IACA;gBACEN,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAO;gBACPG,MAAM,CAAC,wEAAwE,CAAC;YAClF;SACL;IACH;AACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { ProjectConfiguration, Tree } from '@nx/devkit';
|
|
2
|
-
export declare function updateBuildOutDirAndRoot(options: Record<string, any>, configContents: string, projectConfig: ProjectConfiguration, targetName: string, tree: Tree, projectName: string, configPath: string): string;
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "updateBuildOutDirAndRoot", {
|
|
3
|
-
enumerable: true,
|
|
4
|
-
get: function() {
|
|
5
|
-
return updateBuildOutDirAndRoot;
|
|
6
|
-
}
|
|
7
|
-
});
|
|
8
|
-
const _devkit = require("@nx/devkit");
|
|
9
|
-
const _tsquery = require("@phenomnomnominal/tsquery");
|
|
10
|
-
const _updateviteconfig = require("../update-vite-config");
|
|
11
|
-
const ts = require("typescript");
|
|
12
|
-
function updateBuildOutDirAndRoot(options, configContents, projectConfig, targetName, tree, projectName, configPath) {
|
|
13
|
-
var _tsquery_query;
|
|
14
|
-
const foundDefineConfig = (_tsquery_query = _tsquery.tsquery.query(configContents, 'CallExpression:has(Identifier[name="defineConfig"])')) == null ? void 0 : _tsquery_query[0];
|
|
15
|
-
if (!foundDefineConfig) {
|
|
16
|
-
(0, _updateviteconfig.notFoundWarning)(configPath);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
configContents = fixBuild(options, configContents, projectConfig, targetName, tree, projectName, configPath);
|
|
20
|
-
configContents = addRoot(configContents, configPath);
|
|
21
|
-
return configContents;
|
|
22
|
-
}
|
|
23
|
-
function fixBuild(options, configContents, projectConfig, targetName, tree, projectName, configPath) {
|
|
24
|
-
var _tsquery_query;
|
|
25
|
-
const configNode = (0, _updateviteconfig.getConfigNode)(configContents);
|
|
26
|
-
if (!configNode) {
|
|
27
|
-
(0, _updateviteconfig.notFoundWarning)(configPath);
|
|
28
|
-
return configContents;
|
|
29
|
-
}
|
|
30
|
-
let outputPath = '';
|
|
31
|
-
// In vite.config.ts, we want to keep the path relative to workspace root
|
|
32
|
-
if (options.outputPath) {
|
|
33
|
-
outputPath = (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectConfig.root), options.outputPath);
|
|
34
|
-
} else {
|
|
35
|
-
outputPath = (0, _devkit.joinPathFragments)((0, _devkit.offsetFromRoot)(projectConfig.root), 'dist', projectConfig.root);
|
|
36
|
-
}
|
|
37
|
-
// In project.json, we want to keep the path starting from workspace root
|
|
38
|
-
projectConfig.targets[targetName].options.outputPath = options.outputPath ? options.outputPath : (0, _devkit.joinPathFragments)('dist', projectConfig.root);
|
|
39
|
-
(0, _devkit.updateProjectConfiguration)(tree, projectName, projectConfig);
|
|
40
|
-
const buildObject = (_tsquery_query = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="build"])`)) == null ? void 0 : _tsquery_query[0];
|
|
41
|
-
if (buildObject) {
|
|
42
|
-
var _tsquery_query1, _tsquery_query2, _tsquery_query3;
|
|
43
|
-
const reportCompressedSizeExists = ((_tsquery_query1 = _tsquery.tsquery.query(buildObject, `PropertyAssignment:has(Identifier[name="reportCompressedSize"])`)) == null ? void 0 : _tsquery_query1.length) > 0;
|
|
44
|
-
const commonjsOptionsExists = ((_tsquery_query2 = _tsquery.tsquery.query(buildObject, `PropertyAssignment:has(Identifier[name="commonjsOptions"])`)) == null ? void 0 : _tsquery_query2.length) > 0;
|
|
45
|
-
const buildOutDir = (_tsquery_query3 = _tsquery.tsquery.query(buildObject, `PropertyAssignment:has(Identifier[name="outDir"])`)) == null ? void 0 : _tsquery_query3.length;
|
|
46
|
-
// Array to store changes
|
|
47
|
-
let changes = [];
|
|
48
|
-
// Add outDir if not present
|
|
49
|
-
if (!buildOutDir) {
|
|
50
|
-
changes.push({
|
|
51
|
-
type: _devkit.ChangeType.Insert,
|
|
52
|
-
index: buildObject.getStart() + `build: {`.length + 1,
|
|
53
|
-
text: `outDir: '${outputPath}',`
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
// Add reportCompressedSize if not present
|
|
57
|
-
if (!reportCompressedSizeExists) {
|
|
58
|
-
changes.push({
|
|
59
|
-
type: _devkit.ChangeType.Insert,
|
|
60
|
-
index: buildObject.getStart() + `build: {`.length + 1,
|
|
61
|
-
text: `reportCompressedSize: true,`
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
// Add commonjsOptions if not present
|
|
65
|
-
if (!commonjsOptionsExists) {
|
|
66
|
-
changes.push({
|
|
67
|
-
type: _devkit.ChangeType.Insert,
|
|
68
|
-
index: buildObject.getStart() + `build: {`.length + 1,
|
|
69
|
-
text: `commonjsOptions: { transformMixedEsModules: true },`
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
if (changes.length > 0) {
|
|
73
|
-
return (0, _devkit.applyChangesToString)(configContents, changes);
|
|
74
|
-
}
|
|
75
|
-
} else {
|
|
76
|
-
return addBuildProperty(configContents, outputPath, configPath);
|
|
77
|
-
}
|
|
78
|
-
return configContents;
|
|
79
|
-
}
|
|
80
|
-
function addRoot(configFileContents, configPath) {
|
|
81
|
-
var _tsquery_query;
|
|
82
|
-
const configNode = (0, _updateviteconfig.getConfigNode)(configFileContents);
|
|
83
|
-
if (!configNode) {
|
|
84
|
-
(0, _updateviteconfig.notFoundWarning)(configPath);
|
|
85
|
-
return configFileContents;
|
|
86
|
-
}
|
|
87
|
-
const rootOption = (_tsquery_query = _tsquery.tsquery.query(configNode, `PropertyAssignment:has(Identifier[name="root"]) Identifier[name="__dirname"]`)) == null ? void 0 : _tsquery_query[0];
|
|
88
|
-
if (rootOption) {
|
|
89
|
-
return configFileContents;
|
|
90
|
-
} else {
|
|
91
|
-
return (0, _devkit.applyChangesToString)(configFileContents, [
|
|
92
|
-
{
|
|
93
|
-
type: _devkit.ChangeType.Insert,
|
|
94
|
-
index: configNode.getStart() + 1,
|
|
95
|
-
text: `root: __dirname,`
|
|
96
|
-
}
|
|
97
|
-
]);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
function addBuildProperty(configFileContents, outputPath, configPath) {
|
|
101
|
-
const configNode = (0, _updateviteconfig.getConfigNode)(configFileContents);
|
|
102
|
-
if (!configNode) {
|
|
103
|
-
(0, _updateviteconfig.notFoundWarning)(configPath);
|
|
104
|
-
return configFileContents;
|
|
105
|
-
}
|
|
106
|
-
return (0, _devkit.applyChangesToString)(configFileContents, [
|
|
107
|
-
{
|
|
108
|
-
type: _devkit.ChangeType.Insert,
|
|
109
|
-
index: configNode.getStart() + 1,
|
|
110
|
-
text: `build: {
|
|
111
|
-
outDir: '${outputPath}',
|
|
112
|
-
reportCompressedSize: true,
|
|
113
|
-
commonjsOptions: {
|
|
114
|
-
transformMixedEsModules: true,
|
|
115
|
-
},
|
|
116
|
-
},`
|
|
117
|
-
}
|
|
118
|
-
]);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
//# sourceMappingURL=edit-build-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../packages/vite/src/migrations/update-17-2-0/lib/edit-build-config.ts"],"sourcesContent":["import {\n ChangeType,\n ProjectConfiguration,\n Tree,\n applyChangesToString,\n joinPathFragments,\n offsetFromRoot,\n updateProjectConfiguration,\n} from '@nx/devkit';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport ts = require('typescript');\nimport { getConfigNode, notFoundWarning } from '../update-vite-config';\n\nexport function updateBuildOutDirAndRoot(\n options: Record<string, any>,\n configContents: string,\n projectConfig: ProjectConfiguration,\n targetName: string,\n tree: Tree,\n projectName: string,\n configPath: string\n): string {\n const foundDefineConfig = tsquery.query(\n configContents,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n )?.[0];\n\n if (!foundDefineConfig) {\n notFoundWarning(configPath);\n return;\n }\n\n configContents = fixBuild(\n options,\n configContents,\n projectConfig,\n targetName,\n tree,\n projectName,\n configPath\n );\n\n configContents = addRoot(configContents, configPath);\n\n return configContents;\n}\n\nfunction fixBuild(\n options: Record<string, any>,\n configContents: string,\n projectConfig: ProjectConfiguration,\n targetName: string,\n tree: Tree,\n projectName: string,\n configPath: string\n) {\n const configNode = getConfigNode(configContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configContents;\n }\n\n let outputPath = '';\n\n // In vite.config.ts, we want to keep the path relative to workspace root\n if (options.outputPath) {\n outputPath = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n options.outputPath\n );\n } else {\n outputPath = joinPathFragments(\n offsetFromRoot(projectConfig.root),\n 'dist',\n projectConfig.root\n );\n }\n\n // In project.json, we want to keep the path starting from workspace root\n projectConfig.targets[targetName].options.outputPath = options.outputPath\n ? options.outputPath\n : joinPathFragments('dist', projectConfig.root);\n updateProjectConfiguration(tree, projectName, projectConfig);\n\n const buildObject = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"build\"])`\n )?.[0];\n\n if (buildObject) {\n const reportCompressedSizeExists =\n tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"reportCompressedSize\"])`\n )?.length > 0;\n\n const commonjsOptionsExists =\n tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"commonjsOptions\"])`\n )?.length > 0;\n\n const buildOutDir = tsquery.query(\n buildObject,\n `PropertyAssignment:has(Identifier[name=\"outDir\"])`\n )?.length;\n\n // Array to store changes\n let changes = [];\n\n // Add outDir if not present\n if (!buildOutDir) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `outDir: '${outputPath}',`,\n });\n }\n\n // Add reportCompressedSize if not present\n if (!reportCompressedSizeExists) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `reportCompressedSize: true,`,\n });\n }\n\n // Add commonjsOptions if not present\n if (!commonjsOptionsExists) {\n changes.push({\n type: ChangeType.Insert,\n index: buildObject.getStart() + `build: {`.length + 1,\n text: `commonjsOptions: { transformMixedEsModules: true },`,\n });\n }\n\n if (changes.length > 0) {\n return applyChangesToString(configContents, changes);\n }\n } else {\n return addBuildProperty(configContents, outputPath, configPath);\n }\n\n return configContents;\n}\n\nfunction addRoot(configFileContents: string, configPath: string): string {\n const configNode = getConfigNode(configFileContents);\n\n if (!configNode) {\n notFoundWarning(configPath);\n return configFileContents;\n }\n\n const rootOption = tsquery.query(\n configNode,\n `PropertyAssignment:has(Identifier[name=\"root\"]) Identifier[name=\"__dirname\"]`\n )?.[0];\n\n if (rootOption) {\n return configFileContents;\n } else {\n return applyChangesToString(configFileContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `root: __dirname,`,\n },\n ]);\n }\n}\n\nfunction addBuildProperty(\n configFileContents: string,\n outputPath: string,\n configPath: string\n): string {\n const configNode = getConfigNode(configFileContents);\n if (!configNode) {\n notFoundWarning(configPath);\n return configFileContents;\n }\n\n return applyChangesToString(configFileContents, [\n {\n type: ChangeType.Insert,\n index: configNode.getStart() + 1,\n text: `build: {\n outDir: '${outputPath}',\n reportCompressedSize: true,\n commonjsOptions: {\n transformMixedEsModules: true,\n },\n },`,\n },\n ]);\n}\n"],"names":["updateBuildOutDirAndRoot","ts","options","configContents","projectConfig","targetName","tree","projectName","configPath","tsquery","foundDefineConfig","query","notFoundWarning","fixBuild","addRoot","configNode","getConfigNode","outputPath","joinPathFragments","offsetFromRoot","root","targets","updateProjectConfiguration","buildObject","reportCompressedSizeExists","length","commonjsOptionsExists","buildOutDir","changes","push","type","ChangeType","Insert","index","getStart","text","applyChangesToString","addBuildProperty","configFileContents","rootOption"],"mappings":";+BAagBA;;;eAAAA;;;wBALT;yBACiB;kCAEuB;AAD/C,MAAOC,aAAa;AAGb,SAASD,yBACdE,OAA4B,EAC5BC,cAAsB,EACtBC,aAAmC,EACnCC,UAAkB,EAClBC,IAAU,EACVC,WAAmB,EACnBC,UAAkB;QAEQC;IAA1B,MAAMC,qBAAoBD,iBAAAA,gBAAO,CAACE,KAAK,CACrCR,gBACA,2EAFwBM,cAGvB,CAAC,EAAE;IAEN,IAAI,CAACC,mBAAmB;QACtBE,IAAAA,iCAAe,EAACJ;QAChB;IACF;IAEAL,iBAAiBU,SACfX,SACAC,gBACAC,eACAC,YACAC,MACAC,aACAC;IAGFL,iBAAiBW,QAAQX,gBAAgBK;IAEzC,OAAOL;AACT;AAEA,SAASU,SACPX,OAA4B,EAC5BC,cAAsB,EACtBC,aAAmC,EACnCC,UAAkB,EAClBC,IAAU,EACVC,WAAmB,EACnBC,UAAkB;QA8BEC;IA5BpB,MAAMM,aAAaC,IAAAA,+BAAa,EAACb;IACjC,IAAI,CAACY,YAAY;QACfH,IAAAA,iCAAe,EAACJ;QAChB,OAAOL;IACT;IAEA,IAAIc,aAAa;IAEjB,yEAAyE;IACzE,IAAIf,QAAQe,UAAU,EAAE;QACtBA,aAAaC,IAAAA,yBAAiB,EAC5BC,IAAAA,sBAAc,EAACf,cAAcgB,IAAI,GACjClB,QAAQe,UAAU;IAEtB,OAAO;QACLA,aAAaC,IAAAA,yBAAiB,EAC5BC,IAAAA,sBAAc,EAACf,cAAcgB,IAAI,GACjC,QACAhB,cAAcgB,IAAI;IAEtB;IAEA,yEAAyE;IACzEhB,cAAciB,OAAO,CAAChB,WAAW,CAACH,OAAO,CAACe,UAAU,GAAGf,QAAQe,UAAU,GACrEf,QAAQe,UAAU,GAClBC,IAAAA,yBAAiB,EAAC,QAAQd,cAAcgB,IAAI;IAChDE,IAAAA,kCAA0B,EAAChB,MAAMC,aAAaH;IAE9C,MAAMmB,eAAcd,iBAAAA,gBAAO,CAACE,KAAK,CAC/BI,YACA,CAAC,gDAAgD,CAAC,sBAFhCN,cAGjB,CAAC,EAAE;IAEN,IAAIc,aAAa;YAEbd,iBAMAA,iBAKkBA;QAZpB,MAAMe,6BACJf,EAAAA,kBAAAA,gBAAO,CAACE,KAAK,CACXY,aACA,CAAC,+DAA+D,CAAC,sBAFnEd,gBAGGgB,MAAM,IAAG;QAEd,MAAMC,wBACJjB,EAAAA,kBAAAA,gBAAO,CAACE,KAAK,CACXY,aACA,CAAC,0DAA0D,CAAC,sBAF9Dd,gBAGGgB,MAAM,IAAG;QAEd,MAAME,eAAclB,kBAAAA,gBAAO,CAACE,KAAK,CAC/BY,aACA,CAAC,iDAAiD,CAAC,sBAFjCd,gBAGjBgB,MAAM;QAET,yBAAyB;QACzB,IAAIG,UAAU,EAAE;QAEhB,4BAA4B;QAC5B,IAAI,CAACD,aAAa;YAChBC,QAAQC,IAAI,CAAC;gBACXC,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOV,YAAYW,QAAQ,KAAK,CAAC,QAAQ,CAAC,CAACT,MAAM,GAAG;gBACpDU,MAAM,CAAC,SAAS,EAAElB,WAAW,EAAE,CAAC;YAClC;QACF;QAEA,0CAA0C;QAC1C,IAAI,CAACO,4BAA4B;YAC/BI,QAAQC,IAAI,CAAC;gBACXC,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOV,YAAYW,QAAQ,KAAK,CAAC,QAAQ,CAAC,CAACT,MAAM,GAAG;gBACpDU,MAAM,CAAC,2BAA2B,CAAC;YACrC;QACF;QAEA,qCAAqC;QACrC,IAAI,CAACT,uBAAuB;YAC1BE,QAAQC,IAAI,CAAC;gBACXC,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOV,YAAYW,QAAQ,KAAK,CAAC,QAAQ,CAAC,CAACT,MAAM,GAAG;gBACpDU,MAAM,CAAC,mDAAmD,CAAC;YAC7D;QACF;QAEA,IAAIP,QAAQH,MAAM,GAAG,GAAG;YACtB,OAAOW,IAAAA,4BAAoB,EAACjC,gBAAgByB;QAC9C;IACF,OAAO;QACL,OAAOS,iBAAiBlC,gBAAgBc,YAAYT;IACtD;IAEA,OAAOL;AACT;AAEA,SAASW,QAAQwB,kBAA0B,EAAE9B,UAAkB;QAQ1CC;IAPnB,MAAMM,aAAaC,IAAAA,+BAAa,EAACsB;IAEjC,IAAI,CAACvB,YAAY;QACfH,IAAAA,iCAAe,EAACJ;QAChB,OAAO8B;IACT;IAEA,MAAMC,cAAa9B,iBAAAA,gBAAO,CAACE,KAAK,CAC9BI,YACA,CAAC,4EAA4E,CAAC,sBAF7DN,cAGhB,CAAC,EAAE;IAEN,IAAI8B,YAAY;QACd,OAAOD;IACT,OAAO;QACL,OAAOF,IAAAA,4BAAoB,EAACE,oBAAoB;YAC9C;gBACER,MAAMC,kBAAU,CAACC,MAAM;gBACvBC,OAAOlB,WAAWmB,QAAQ,KAAK;gBAC/BC,MAAM,CAAC,gBAAgB,CAAC;YAC1B;SACD;IACH;AACF;AAEA,SAASE,iBACPC,kBAA0B,EAC1BrB,UAAkB,EAClBT,UAAkB;IAElB,MAAMO,aAAaC,IAAAA,+BAAa,EAACsB;IACjC,IAAI,CAACvB,YAAY;QACfH,IAAAA,iCAAe,EAACJ;QAChB,OAAO8B;IACT;IAEA,OAAOF,IAAAA,4BAAoB,EAACE,oBAAoB;QAC9C;YACER,MAAMC,kBAAU,CAACC,MAAM;YACvBC,OAAOlB,WAAWmB,QAAQ,KAAK;YAC/BC,MAAM,CAAC;yBACY,EAAElB,WAAW;;;;;gBAKtB,CAAC;QACb;KACD;AACH"}
|