@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
|
@@ -6,75 +6,92 @@ function _export(target, all) {
|
|
|
6
6
|
});
|
|
7
7
|
}
|
|
8
8
|
_export(exports, {
|
|
9
|
-
|
|
10
|
-
return
|
|
9
|
+
createVitestConfig: function() {
|
|
10
|
+
return createVitestConfig;
|
|
11
11
|
},
|
|
12
12
|
initGenerator: function() {
|
|
13
13
|
return initGenerator;
|
|
14
14
|
},
|
|
15
|
-
initGeneratorInternal: function() {
|
|
16
|
-
return initGeneratorInternal;
|
|
17
|
-
},
|
|
18
15
|
default: function() {
|
|
19
16
|
return _default;
|
|
20
17
|
}
|
|
21
18
|
});
|
|
22
19
|
const _extends = require("@swc/helpers/_/_extends");
|
|
23
20
|
const _devkit = require("@nx/devkit");
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
const _js = require("@nx/js");
|
|
22
|
+
const _versions = require("../../utils/versions");
|
|
23
|
+
function checkDependenciesInstalled(host, schema) {
|
|
24
|
+
const packageJson = (0, _devkit.readJson)(host, 'package.json');
|
|
25
|
+
const devDependencies = {};
|
|
26
|
+
const dependencies = {};
|
|
27
|
+
packageJson.dependencies = packageJson.dependencies || {};
|
|
28
|
+
packageJson.devDependencies = packageJson.devDependencies || {};
|
|
29
|
+
// base deps
|
|
30
|
+
devDependencies['@nx/vite'] = _versions.nxVersion;
|
|
31
|
+
devDependencies['vite'] = _versions.viteVersion;
|
|
32
|
+
devDependencies['vitest'] = _versions.vitestVersion;
|
|
33
|
+
devDependencies['@vitest/ui'] = _versions.vitestUiVersion;
|
|
34
|
+
if (schema.testEnvironment === 'jsdom') {
|
|
35
|
+
devDependencies['jsdom'] = _versions.jsdomVersion;
|
|
36
|
+
} else if (schema.testEnvironment === 'happy-dom') {
|
|
37
|
+
devDependencies['happy-dom'] = _versions.happyDomVersion;
|
|
38
|
+
} else if (schema.testEnvironment === 'edge-runtime') {
|
|
39
|
+
devDependencies['@edge-runtime/vm'] = _versions.edgeRuntimeVmVersion;
|
|
40
|
+
} else if (schema.testEnvironment !== 'node' && schema.testEnvironment) {
|
|
41
|
+
_devkit.logger.info(`A custom environment was provided: ${schema.testEnvironment}. You need to install it manually.`);
|
|
42
|
+
}
|
|
43
|
+
if (schema.uiFramework === 'react') {
|
|
44
|
+
if (schema.compiler === 'swc') {
|
|
45
|
+
devDependencies['@vitejs/plugin-react-swc'] = _versions.vitePluginReactSwcVersion;
|
|
46
|
+
} else {
|
|
47
|
+
devDependencies['@vitejs/plugin-react'] = _versions.vitePluginReactVersion;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (schema.includeLib) {
|
|
51
|
+
devDependencies['vite-plugin-dts'] = _versions.vitePluginDtsVersion;
|
|
52
|
+
}
|
|
53
|
+
return (0, _devkit.addDependenciesToPackageJson)(host, dependencies, devDependencies);
|
|
54
|
+
}
|
|
55
|
+
function moveToDevDependencies(tree) {
|
|
56
|
+
(0, _devkit.updateJson)(tree, 'package.json', (packageJson)=>{
|
|
57
|
+
packageJson.dependencies = packageJson.dependencies || {};
|
|
58
|
+
packageJson.devDependencies = packageJson.devDependencies || {};
|
|
59
|
+
if (packageJson.dependencies['@nx/vite']) {
|
|
60
|
+
packageJson.devDependencies['@nx/vite'] = packageJson.dependencies['@nx/vite'];
|
|
61
|
+
delete packageJson.dependencies['@nx/vite'];
|
|
62
|
+
}
|
|
63
|
+
return packageJson;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function createVitestConfig(tree) {
|
|
67
|
+
var _nxJson_namedInputs;
|
|
68
|
+
var _nxJson, _nxJson_targetDefaults, _nxJson_targetDefaults_test;
|
|
29
69
|
const nxJson = (0, _devkit.readNxJson)(tree);
|
|
30
70
|
const productionFileSet = (_nxJson_namedInputs = nxJson.namedInputs) == null ? void 0 : _nxJson_namedInputs.production;
|
|
31
71
|
if (productionFileSet) {
|
|
32
72
|
productionFileSet.push('!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)', '!{projectRoot}/tsconfig.spec.json');
|
|
33
73
|
nxJson.namedInputs.production = Array.from(new Set(productionFileSet));
|
|
34
74
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var _inputs;
|
|
45
|
-
(_inputs = (_nxJson_targetDefaults_nxvitetest1 = nxJson.targetDefaults['@nx/vite:test']).inputs) != null ? _inputs : _nxJson_targetDefaults_nxvitetest1.inputs = [
|
|
46
|
-
'default',
|
|
47
|
-
productionFileSet ? '^production' : '^default'
|
|
48
|
-
];
|
|
49
|
-
}
|
|
75
|
+
var _targetDefaults;
|
|
76
|
+
(_targetDefaults = (_nxJson = nxJson).targetDefaults) != null ? _targetDefaults : _nxJson.targetDefaults = {};
|
|
77
|
+
var _test;
|
|
78
|
+
(_test = (_nxJson_targetDefaults = nxJson.targetDefaults).test) != null ? _test : _nxJson_targetDefaults.test = {};
|
|
79
|
+
var _inputs;
|
|
80
|
+
(_inputs = (_nxJson_targetDefaults_test = nxJson.targetDefaults.test).inputs) != null ? _inputs : _nxJson_targetDefaults_test.inputs = [
|
|
81
|
+
'default',
|
|
82
|
+
productionFileSet ? '^production' : '^default'
|
|
83
|
+
];
|
|
50
84
|
(0, _devkit.updateNxJson)(tree, nxJson);
|
|
51
85
|
}
|
|
52
|
-
function initGenerator(tree, schema) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}, schema));
|
|
56
|
-
}
|
|
57
|
-
async function initGeneratorInternal(tree, schema) {
|
|
58
|
-
var _schema;
|
|
59
|
-
const nxJson = (0, _devkit.readNxJson)(tree);
|
|
60
|
-
const addPluginDefault = process.env.NX_ADD_PLUGINS !== 'false' && nxJson.useInferencePlugins !== false;
|
|
61
|
-
var _addPlugin;
|
|
62
|
-
(_addPlugin = (_schema = schema).addPlugin) != null ? _addPlugin : _schema.addPlugin = addPluginDefault;
|
|
63
|
-
if (schema.addPlugin) {
|
|
64
|
-
(0, _utils.addPlugin)(tree);
|
|
65
|
-
}
|
|
66
|
-
updateNxJsonSettings(tree);
|
|
86
|
+
async function initGenerator(tree, schema) {
|
|
87
|
+
moveToDevDependencies(tree);
|
|
88
|
+
createVitestConfig(tree);
|
|
67
89
|
const tasks = [];
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
await (0, _updatepackagescripts.updatePackageScripts)(tree, _plugin.createNodes);
|
|
74
|
-
}
|
|
75
|
-
if (!schema.skipFormat) {
|
|
76
|
-
await (0, _devkit.formatFiles)(tree);
|
|
77
|
-
}
|
|
90
|
+
tasks.push(await (0, _js.initGenerator)(tree, _extends._({}, schema, {
|
|
91
|
+
skipFormat: true,
|
|
92
|
+
tsConfigName: schema.rootProject ? 'tsconfig.json' : 'tsconfig.base.json'
|
|
93
|
+
})));
|
|
94
|
+
tasks.push(checkDependenciesInstalled(tree, schema));
|
|
78
95
|
return (0, _devkit.runTasksInSerial)(...tasks);
|
|
79
96
|
}
|
|
80
97
|
const _default = initGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n logger,\n readJson,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\n\nimport { initGenerator as jsInitGenerator } from '@nx/js';\n\nimport {\n edgeRuntimeVmVersion,\n happyDomVersion,\n jsdomVersion,\n nxVersion,\n vitePluginDtsVersion,\n vitePluginReactSwcVersion,\n vitePluginReactVersion,\n vitestUiVersion,\n vitestVersion,\n viteVersion,\n} from '../../utils/versions';\nimport { InitGeneratorSchema } from './schema';\n\nfunction checkDependenciesInstalled(host: Tree, schema: InitGeneratorSchema) {\n const packageJson = readJson(host, 'package.json');\n const devDependencies = {};\n const dependencies = {};\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n // base deps\n devDependencies['@nx/vite'] = nxVersion;\n devDependencies['vite'] = viteVersion;\n devDependencies['vitest'] = vitestVersion;\n devDependencies['@vitest/ui'] = vitestUiVersion;\n\n if (schema.testEnvironment === 'jsdom') {\n devDependencies['jsdom'] = jsdomVersion;\n } else if (schema.testEnvironment === 'happy-dom') {\n devDependencies['happy-dom'] = happyDomVersion;\n } else if (schema.testEnvironment === 'edge-runtime') {\n devDependencies['@edge-runtime/vm'] = edgeRuntimeVmVersion;\n } else if (schema.testEnvironment !== 'node' && schema.testEnvironment) {\n logger.info(\n `A custom environment was provided: ${schema.testEnvironment}. You need to install it manually.`\n );\n }\n\n if (schema.uiFramework === 'react') {\n if (schema.compiler === 'swc') {\n devDependencies['@vitejs/plugin-react-swc'] = vitePluginReactSwcVersion;\n } else {\n devDependencies['@vitejs/plugin-react'] = vitePluginReactVersion;\n }\n }\n\n if (schema.includeLib) {\n devDependencies['vite-plugin-dts'] = vitePluginDtsVersion;\n }\n\n return addDependenciesToPackageJson(host, dependencies, devDependencies);\n}\n\nfunction moveToDevDependencies(tree: Tree) {\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 }\n return packageJson;\n });\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 nxJson.targetDefaults ??= {};\n nxJson.targetDefaults.test ??= {};\n nxJson.targetDefaults.test.inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n\n updateNxJson(tree, nxJson);\n}\n\nexport async function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n moveToDevDependencies(tree);\n createVitestConfig(tree);\n const tasks = [];\n\n tasks.push(\n await jsInitGenerator(tree, {\n ...schema,\n skipFormat: true,\n tsConfigName: schema.rootProject ? 'tsconfig.json' : 'tsconfig.base.json',\n })\n );\n\n tasks.push(checkDependenciesInstalled(tree, schema));\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["createVitestConfig","initGenerator","checkDependenciesInstalled","host","schema","packageJson","readJson","devDependencies","dependencies","nxVersion","viteVersion","vitestVersion","vitestUiVersion","testEnvironment","jsdomVersion","happyDomVersion","edgeRuntimeVmVersion","logger","info","uiFramework","compiler","vitePluginReactSwcVersion","vitePluginReactVersion","includeLib","vitePluginDtsVersion","addDependenciesToPackageJson","moveToDevDependencies","tree","updateJson","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","targetDefaults","test","inputs","updateNxJson","tasks","jsInitGenerator","skipFormat","tsConfigName","rootProject","runTasksInSerial"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export interface InitGeneratorSchema {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
uiFramework: 'react' | 'none';
|
|
3
|
+
compiler?: 'babel' | 'swc';
|
|
4
|
+
includeLib?: boolean;
|
|
5
|
+
testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;
|
|
6
|
+
rootProject?: boolean;
|
|
7
7
|
}
|
|
@@ -5,27 +5,30 @@
|
|
|
5
5
|
"$id": "init-vite-plugin",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
8
|
+
"uiFramework": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "UI Framework to use for Vite.",
|
|
11
|
+
"enum": ["react", "none"],
|
|
12
|
+
"default": "react",
|
|
13
|
+
"x-prompt": "What UI framework plugin should Vite use?"
|
|
12
14
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
15
|
+
"compiler": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Compiler to use for Vite when UI Framework is React.",
|
|
18
|
+
"enum": ["babel", "swc"],
|
|
19
|
+
"default": "babel"
|
|
17
20
|
},
|
|
18
|
-
"
|
|
21
|
+
"includeLib": {
|
|
19
22
|
"type": "boolean",
|
|
20
|
-
"
|
|
21
|
-
"description": "Keep existing dependencies versions",
|
|
23
|
+
"description": "Add dependencies needed to build libraries.",
|
|
22
24
|
"default": false
|
|
23
25
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"default":
|
|
26
|
+
"testEnvironment": {
|
|
27
|
+
"description": "The vitest environment to use. See https://vitest.dev/config/#environment.",
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": ["node", "jsdom", "happy-dom", "edge-runtime"],
|
|
30
|
+
"default": "jsdom"
|
|
29
31
|
}
|
|
30
|
-
}
|
|
32
|
+
},
|
|
33
|
+
"examplesFile": "../../../docs/init-examples.md"
|
|
31
34
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "./tsconfig.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"outDir": "
|
|
4
|
+
"outDir": "../../dist/out-tsc",
|
|
5
5
|
"types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"]
|
|
6
6
|
},
|
|
7
7
|
"include": [
|
|
8
8
|
"vite.config.ts",
|
|
9
|
-
"vitest.config.ts",
|
|
10
9
|
"src/**/*.test.ts",
|
|
11
10
|
"src/**/*.spec.ts",
|
|
12
11
|
"src/**/*.test.tsx",
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
export interface VitestGeneratorSchema {
|
|
2
2
|
project: string;
|
|
3
3
|
uiFramework: 'react' | 'none';
|
|
4
|
-
coverageProvider: 'v8' | '
|
|
4
|
+
coverageProvider: 'v8' | 'c8' | 'istanbul';
|
|
5
5
|
inSourceTests?: boolean;
|
|
6
6
|
skipViteConfig?: boolean;
|
|
7
7
|
testTarget?: string;
|
|
8
8
|
skipFormat?: boolean;
|
|
9
9
|
testEnvironment?: 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' | string;
|
|
10
|
-
addPlugin?: boolean;
|
|
11
10
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
3
|
"cli": "nx",
|
|
4
4
|
"$id": "Vitest",
|
|
5
5
|
"title": "Vitest",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"coverageProvider": {
|
|
33
33
|
"type": "string",
|
|
34
|
-
"enum": ["v8", "
|
|
34
|
+
"enum": ["v8", "c8", "istanbul"],
|
|
35
35
|
"default": "v8",
|
|
36
36
|
"description": "Coverage provider to use."
|
|
37
37
|
},
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
2
2
|
import { VitestGeneratorSchema } from './schema';
|
|
3
|
-
export declare function vitestGenerator(tree: Tree, schema: VitestGeneratorSchema
|
|
4
|
-
export declare function vitestGeneratorInternal(tree: Tree, schema: VitestGeneratorSchema, hasPlugin?: boolean): Promise<GeneratorCallback>;
|
|
3
|
+
export declare function vitestGenerator(tree: Tree, schema: VitestGeneratorSchema): Promise<GeneratorCallback>;
|
|
5
4
|
export default vitestGenerator;
|
|
@@ -9,9 +9,6 @@ _export(exports, {
|
|
|
9
9
|
vitestGenerator: function() {
|
|
10
10
|
return vitestGenerator;
|
|
11
11
|
},
|
|
12
|
-
vitestGeneratorInternal: function() {
|
|
13
|
-
return vitestGeneratorInternal;
|
|
14
|
-
},
|
|
15
12
|
default: function() {
|
|
16
13
|
return _default;
|
|
17
14
|
}
|
|
@@ -23,33 +20,17 @@ const _init = require("../init/init");
|
|
|
23
20
|
const _versions = require("../../utils/versions");
|
|
24
21
|
const _js = require("@nx/js");
|
|
25
22
|
const _path = require("path");
|
|
26
|
-
|
|
27
|
-
function vitestGenerator(tree, schema, hasPlugin = false) {
|
|
28
|
-
return vitestGeneratorInternal(tree, _extends._({
|
|
29
|
-
addPlugin: false
|
|
30
|
-
}, schema), hasPlugin);
|
|
31
|
-
}
|
|
32
|
-
async function vitestGeneratorInternal(tree, schema, hasPlugin = false) {
|
|
33
|
-
var _nxJson_plugins;
|
|
23
|
+
async function vitestGenerator(tree, schema) {
|
|
34
24
|
const tasks = [];
|
|
35
|
-
const { root, projectType } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
})));
|
|
25
|
+
const { targets, root, projectType } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
|
|
26
|
+
var _schema_testTarget, _ref;
|
|
27
|
+
let testTarget = (_ref = (_schema_testTarget = schema.testTarget) != null ? _schema_testTarget : (0, _generatorutils.findExistingTargetsInProject)(targets).validFoundTargetName.test) != null ? _ref : 'test';
|
|
28
|
+
(0, _generatorutils.addOrChangeTestTarget)(tree, schema, testTarget);
|
|
40
29
|
const initTask = await (0, _init.default)(tree, {
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
uiFramework: schema.uiFramework,
|
|
31
|
+
testEnvironment: schema.testEnvironment
|
|
43
32
|
});
|
|
44
33
|
tasks.push(initTask);
|
|
45
|
-
tasks.push((0, _ensuredependencies.ensureDependencies)(tree, schema));
|
|
46
|
-
const nxJson = (0, _devkit.readNxJson)(tree);
|
|
47
|
-
const hasPluginCheck = (_nxJson_plugins = nxJson.plugins) == null ? void 0 : _nxJson_plugins.some((p)=>(typeof p === 'string' ? p === '@nx/vite/plugin' : p.plugin === '@nx/vite/plugin') || hasPlugin);
|
|
48
|
-
if (!hasPluginCheck) {
|
|
49
|
-
var _schema_testTarget;
|
|
50
|
-
const testTarget = (_schema_testTarget = schema.testTarget) != null ? _schema_testTarget : 'test';
|
|
51
|
-
(0, _generatorutils.addOrChangeTestTarget)(tree, schema, testTarget);
|
|
52
|
-
}
|
|
53
34
|
if (!schema.skipViteConfig) {
|
|
54
35
|
if (schema.uiFramework === 'react') {
|
|
55
36
|
(0, _generatorutils.createOrEditViteConfig)(tree, {
|
|
@@ -67,8 +48,7 @@ async function vitestGeneratorInternal(tree, schema, hasPlugin = false) {
|
|
|
67
48
|
],
|
|
68
49
|
plugins: [
|
|
69
50
|
'react()'
|
|
70
|
-
]
|
|
71
|
-
coverageProvider: schema.coverageProvider
|
|
51
|
+
]
|
|
72
52
|
}, true);
|
|
73
53
|
} else {
|
|
74
54
|
(0, _generatorutils.createOrEditViteConfig)(tree, _extends._({}, schema, {
|
|
@@ -82,10 +62,6 @@ async function vitestGeneratorInternal(tree, schema, hasPlugin = false) {
|
|
|
82
62
|
const coverageProviderDependency = getCoverageProviderDependency(schema.coverageProvider);
|
|
83
63
|
const installCoverageProviderTask = (0, _devkit.addDependenciesToPackageJson)(tree, {}, coverageProviderDependency);
|
|
84
64
|
tasks.push(installCoverageProviderTask);
|
|
85
|
-
// Setup workspace config file (https://vitest.dev/guide/workspace.html)
|
|
86
|
-
if (!isRootProject && !tree.exists(`vitest.workspace.ts`) && !tree.exists(`vitest.workspace.js`) && !tree.exists(`vitest.workspace.json`) && !tree.exists(`vitest.projects.ts`) && !tree.exists(`vitest.projects.js`) && !tree.exists(`vitest.projects.json`)) {
|
|
87
|
-
tree.write('vitest.workspace.ts', `export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];`);
|
|
88
|
-
}
|
|
89
65
|
if (!schema.skipFormat) {
|
|
90
66
|
await (0, _devkit.formatFiles)(tree);
|
|
91
67
|
}
|
|
@@ -168,9 +144,9 @@ function createFiles(tree, options, projectRoot) {
|
|
|
168
144
|
}
|
|
169
145
|
function getCoverageProviderDependency(coverageProvider) {
|
|
170
146
|
switch(coverageProvider){
|
|
171
|
-
case '
|
|
147
|
+
case 'c8':
|
|
172
148
|
return {
|
|
173
|
-
'@vitest/coverage-
|
|
149
|
+
'@vitest/coverage-c8': _versions.vitestCoverageC8Version
|
|
174
150
|
};
|
|
175
151
|
case 'istanbul':
|
|
176
152
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n offsetFromRoot,\n readNxJson,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies, initGenerator as jsInitGenerator } from '@nx/js';\nimport { join } from 'path';\nimport { ensureDependencies } from '../../utils/ensure-dependencies';\n\nexport function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n return vitestGeneratorInternal(\n tree,\n { addPlugin: false, ...schema },\n hasPlugin\n );\n}\n\nexport async function vitestGeneratorInternal(\n tree: Tree,\n schema: VitestGeneratorSchema,\n hasPlugin = false\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { root, projectType } = readProjectConfiguration(tree, schema.project);\n const isRootProject = root === '.';\n\n tasks.push(await jsInitGenerator(tree, { ...schema, skipFormat: true }));\n const initTask = await initGenerator(tree, {\n skipFormat: true,\n addPlugin: schema.addPlugin,\n });\n tasks.push(initTask);\n tasks.push(ensureDependencies(tree, schema));\n\n const nxJson = readNxJson(tree);\n const hasPluginCheck = nxJson.plugins?.some(\n (p) =>\n (typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin') || hasPlugin\n );\n if (!hasPluginCheck) {\n const testTarget = schema.testTarget ?? 'test';\n addOrChangeTestTarget(tree, schema, testTarget);\n }\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: projectType === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [`import react from '@vitejs/plugin-react'`],\n plugins: ['react()'],\n coverageProvider: schema.coverageProvider,\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\n\n // Setup workspace config file (https://vitest.dev/guide/workspace.html)\n if (\n !isRootProject &&\n !tree.exists(`vitest.workspace.ts`) &&\n !tree.exists(`vitest.workspace.js`) &&\n !tree.exists(`vitest.workspace.json`) &&\n !tree.exists(`vitest.projects.ts`) &&\n !tree.exists(`vitest.projects.js`) &&\n !tree.exists(`vitest.projects.json`)\n ) {\n tree.write(\n 'vitest.workspace.ts',\n `export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];`\n );\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n if (options.inSourceTests) {\n const tsconfigLibPath = joinPathFragments(projectRoot, 'tsconfig.lib.json');\n const tsconfigAppPath = joinPathFragments(projectRoot, 'tsconfig.app.json');\n if (tree.exists(tsconfigLibPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n } else if (tree.exists(tsconfigAppPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.app.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n }\n\n addTsLibDependencies(tree);\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'v8':\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","vitestGeneratorInternal","tree","schema","hasPlugin","addPlugin","nxJson","tasks","root","projectType","readProjectConfiguration","project","isRootProject","push","jsInitGenerator","skipFormat","initTask","initGenerator","ensureDependencies","readNxJson","hasPluginCheck","plugins","some","p","plugin","testTarget","addOrChangeTestTarget","skipViteConfig","uiFramework","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","coverageProvider","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","installCoverageProviderTask","addDependenciesToPackageJson","exists","write","formatFiles","runTasksInSerial","options","projectRoot","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageV8Version","vitestCoverageIstanbulVersion"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n offsetFromRoot,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n findExistingTargetsInProject,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageC8Version,\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies } from '@nx/js';\nimport { join } from 'path';\n\nexport async function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { targets, root, projectType } = readProjectConfiguration(\n tree,\n schema.project\n );\n let testTarget =\n schema.testTarget ??\n findExistingTargetsInProject(targets).validFoundTargetName.test ??\n 'test';\n\n addOrChangeTestTarget(tree, schema, testTarget);\n\n const initTask = await initGenerator(tree, {\n uiFramework: schema.uiFramework,\n testEnvironment: schema.testEnvironment,\n });\n tasks.push(initTask);\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: projectType === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n \"'react'\",\n \"'react-dom'\",\n \"'react/jsx-runtime'\",\n ],\n imports: [`import react from '@vitejs/plugin-react'`],\n plugins: ['react()'],\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n if (options.inSourceTests) {\n const tsconfigLibPath = joinPathFragments(projectRoot, 'tsconfig.lib.json');\n const tsconfigAppPath = joinPathFragments(projectRoot, 'tsconfig.app.json');\n if (tree.exists(tsconfigLibPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n } else if (tree.exists(tsconfigAppPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.app.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n }\n\n addTsLibDependencies(tree);\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'c8':\n return {\n '@vitest/coverage-c8': vitestCoverageC8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\n"],"names":["vitestGenerator","tree","schema","tasks","targets","root","projectType","readProjectConfiguration","project","testTarget","findExistingTargetsInProject","validFoundTargetName","test","addOrChangeTestTarget","initTask","initGenerator","uiFramework","testEnvironment","push","skipViteConfig","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","imports","plugins","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","coverageProvider","installCoverageProviderTask","addDependenciesToPackageJson","skipFormat","formatFiles","runTasksInSerial","options","projectRoot","exists","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","some","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageC8Version","vitestCoverageIstanbulVersion","vitestCoverageV8Version"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-15-3-1/update-vite-tsconfig-paths.ts"],"sourcesContent":["import {\n applyChangesToString,\n ChangeType,\n formatFiles,\n readProjectConfiguration,\n Tree,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { findNodes } from '@nx/js';\nimport { normalizeViteConfigFilePathWithTree } from '../../utils/generator-utils';\nimport ts = require('typescript');\n\nexport async function removeProjectsFromViteTsConfigPaths(tree: Tree) {\n findAllProjectsWithViteConfig(tree);\n await formatFiles(tree);\n}\n\nexport default removeProjectsFromViteTsConfigPaths;\n\nfunction findAllProjectsWithViteConfig(tree: Tree): void {\n forEachExecutorOptions(tree, '@nrwl/vite:build', (options, project) => {\n const projectConfiguration = readProjectConfiguration(tree, project);\n const viteConfig = normalizeViteConfigFilePathWithTree(\n tree,\n projectConfiguration.root,\n options?.['configFile']\n );\n if (viteConfig) {\n const appFileContent = tree.read(viteConfig, 'utf-8');\n const file = tsquery.ast(appFileContent);\n let newContents = appFileContent;\n const defineConfig = tsquery.query(\n file,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n );\n let startOfProjects, endOfProjects;\n\n defineConfig?.[0]
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-15-3-1/update-vite-tsconfig-paths.ts"],"sourcesContent":["import {\n applyChangesToString,\n ChangeType,\n formatFiles,\n readProjectConfiguration,\n Tree,\n} from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { findNodes } from '@nx/js';\nimport { normalizeViteConfigFilePathWithTree } from '../../utils/generator-utils';\nimport ts = require('typescript');\n\nexport async function removeProjectsFromViteTsConfigPaths(tree: Tree) {\n findAllProjectsWithViteConfig(tree);\n await formatFiles(tree);\n}\n\nexport default removeProjectsFromViteTsConfigPaths;\n\nfunction findAllProjectsWithViteConfig(tree: Tree): void {\n forEachExecutorOptions(tree, '@nrwl/vite:build', (options, project) => {\n const projectConfiguration = readProjectConfiguration(tree, project);\n const viteConfig = normalizeViteConfigFilePathWithTree(\n tree,\n projectConfiguration.root,\n options?.['configFile']\n );\n if (viteConfig) {\n const appFileContent = tree.read(viteConfig, 'utf-8');\n const file = tsquery.ast(appFileContent);\n let newContents = appFileContent;\n const defineConfig = tsquery.query(\n file,\n 'CallExpression:has(Identifier[name=\"defineConfig\"])'\n );\n let startOfProjects, endOfProjects;\n\n defineConfig?.[0]?.getChildren().forEach((defineConfigContentNode) => {\n // Make sure it's the one we are looking for\n // We cannot assume that it's called tsConfigPaths\n // So make sure it includes `projects` and `root`\n if (\n defineConfigContentNode.getText().includes('projects') &&\n defineConfigContentNode.getText().includes('root')\n ) {\n findNodes(defineConfigContentNode, [\n ts.SyntaxKind.PropertyAssignment,\n ]).forEach((nodePA) => {\n if (nodePA.getText().startsWith('projects')) {\n startOfProjects = nodePA.getStart();\n endOfProjects = nodePA.getEnd();\n }\n });\n }\n });\n\n if (startOfProjects && endOfProjects) {\n newContents = applyChangesToString(newContents, [\n {\n type: ChangeType.Delete,\n start: startOfProjects,\n length: endOfProjects - startOfProjects + 1,\n },\n ]);\n tree.write(viteConfig, newContents);\n }\n }\n });\n}\n"],"names":["removeProjectsFromViteTsConfigPaths","ts","tree","findAllProjectsWithViteConfig","formatFiles","forEachExecutorOptions","options","project","projectConfiguration","readProjectConfiguration","viteConfig","normalizeViteConfigFilePathWithTree","root","defineConfig","appFileContent","read","file","tsquery","ast","newContents","query","startOfProjects","endOfProjects","getChildren","forEach","defineConfigContentNode","getText","includes","findNodes","SyntaxKind","PropertyAssignment","nodePA","startsWith","getStart","getEnd","applyChangesToString","type","ChangeType","Delete","start","length","write"],"mappings":";;;;;;;;IAasBA,mCAAmC;eAAnCA;;IAKtB,OAAmD;eAAnD;;;wBAZO;sCACgC;yBACf;oBACE;gCAC0B;AACpD,MAAOC,aAAa;AAEb,eAAeD,oCAAoCE,IAAU;IAClEC,8BAA8BD;IAC9B,MAAME,IAAAA,mBAAW,EAACF;AACpB;MAEA,WAAeF;AAEf,SAASG,8BAA8BD,IAAU;IAC/CG,IAAAA,4CAAsB,EAACH,MAAM,oBAAoB,CAACI,SAASC;QACzD,MAAMC,uBAAuBC,IAAAA,gCAAwB,EAACP,MAAMK;QAC5D,MAAMG,aAAaC,IAAAA,mDAAmC,EACpDT,MACAM,qBAAqBI,IAAI,EACzBN,2BAAAA,OAAS,CAAC,aAAa;QAEzB,IAAII,YAAY;gBAUdG;YATA,MAAMC,iBAAiBZ,KAAKa,IAAI,CAACL,YAAY;YAC7C,MAAMM,OAAOC,gBAAO,CAACC,GAAG,CAACJ;YACzB,IAAIK,cAAcL;YAClB,MAAMD,eAAeI,gBAAO,CAACG,KAAK,CAChCJ,MACA;YAEF,IAAIK,iBAAiBC;YAErBT,iCAAAA,iBAAAA,YAAc,CAAC,EAAE,qBAAjBA,eAAmBU,WAAW,GAAGC,OAAO,CAAC,CAACC;gBACxC,4CAA4C;gBAC5C,kDAAkD;gBAClD,iDAAiD;gBACjD,IACEA,wBAAwBC,OAAO,GAAGC,QAAQ,CAAC,eAC3CF,wBAAwBC,OAAO,GAAGC,QAAQ,CAAC,SAC3C;oBACAC,IAAAA,aAAS,EAACH,yBAAyB;wBACjCxB,GAAG4B,UAAU,CAACC,kBAAkB;qBACjC,EAAEN,OAAO,CAAC,CAACO;wBACV,IAAIA,OAAOL,OAAO,GAAGM,UAAU,CAAC,aAAa;4BAC3CX,kBAAkBU,OAAOE,QAAQ;4BACjCX,gBAAgBS,OAAOG,MAAM;wBAC/B;oBACF;gBACF;YACF;YAEA,IAAIb,mBAAmBC,eAAe;gBACpCH,cAAcgB,IAAAA,4BAAoB,EAAChB,aAAa;oBAC9C;wBACEiB,MAAMC,kBAAU,CAACC,MAAM;wBACvBC,OAAOlB;wBACPmB,QAAQlB,gBAAgBD,kBAAkB;oBAC5C;iBACD;gBACDnB,KAAKuC,KAAK,CAAC/B,YAAYS;YACzB;QACF;IACF;AACF"}
|
|
@@ -8,13 +8,12 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
const _devkit = require("@nx/devkit");
|
|
9
9
|
const _executoroptionsutils = require("@nx/devkit/src/generators/executor-options-utils");
|
|
10
10
|
const _tsquery = require("@phenomnomnominal/tsquery");
|
|
11
|
-
const _findviteconfig = require("../../utils/find-vite-config");
|
|
12
11
|
function update(tree) {
|
|
13
12
|
const projects = (0, _devkit.getProjects)(tree);
|
|
14
13
|
(0, _executoroptionsutils.forEachExecutorOptions)(tree, '@nx/vite:build', (options, projectName)=>{
|
|
15
14
|
var _oldTsConfigPathPlugin__importClause_name, _oldTsConfigPathPlugin__importClause, _oldTsConfigPathPlugin_;
|
|
16
15
|
const projectConfig = projects.get(projectName);
|
|
17
|
-
const config = options.configFile ||
|
|
16
|
+
const config = options.configFile || findViteConfig(tree, projectConfig.root);
|
|
18
17
|
if (!config || !tree.exists(config)) {
|
|
19
18
|
return;
|
|
20
19
|
}
|
|
@@ -25,7 +24,7 @@ function update(tree) {
|
|
|
25
24
|
return;
|
|
26
25
|
}
|
|
27
26
|
var _oldTsConfigPathPlugin__importClause_name_text;
|
|
28
|
-
const importName = (_oldTsConfigPathPlugin__importClause_name_text = (_oldTsConfigPathPlugin_ = oldTsConfigPathPlugin[0]) == null ? void 0 : (_oldTsConfigPathPlugin__importClause = _oldTsConfigPathPlugin_
|
|
27
|
+
const importName = (_oldTsConfigPathPlugin__importClause_name_text = (_oldTsConfigPathPlugin_ = oldTsConfigPathPlugin[0]) == null ? void 0 : (_oldTsConfigPathPlugin__importClause = _oldTsConfigPathPlugin_.importClause) == null ? void 0 : (_oldTsConfigPathPlugin__importClause_name = _oldTsConfigPathPlugin__importClause.name) == null ? void 0 : _oldTsConfigPathPlugin__importClause_name.text) != null ? _oldTsConfigPathPlugin__importClause_name_text : 'viteTsConfigPaths';
|
|
29
28
|
const updatedContent = _tsquery.tsquery.replace(configContents, `PropertyAssignment:has(Identifier[name="plugins"]) CallExpression:has(Identifier[name="${importName}"])`, ()=>{
|
|
30
29
|
return `nxViteTsPaths()`;
|
|
31
30
|
});
|
|
@@ -35,5 +34,20 @@ function update(tree) {
|
|
|
35
34
|
tree.write(config, withImportChange);
|
|
36
35
|
});
|
|
37
36
|
}
|
|
37
|
+
function findViteConfig(tree, searchRoot) {
|
|
38
|
+
const allowsExt = [
|
|
39
|
+
'js',
|
|
40
|
+
'mjs',
|
|
41
|
+
'ts',
|
|
42
|
+
'cjs',
|
|
43
|
+
'mts',
|
|
44
|
+
'cts'
|
|
45
|
+
];
|
|
46
|
+
for (const ext of allowsExt){
|
|
47
|
+
if (tree.exists((0, _devkit.joinPathFragments)(searchRoot, `vite.config.${ext}`))) {
|
|
48
|
+
return (0, _devkit.joinPathFragments)(searchRoot, `vite.config.${ext}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
38
52
|
|
|
39
53
|
//# sourceMappingURL=change-ts-paths-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.ts"],"sourcesContent":["import { Tree, getProjects, joinPathFragments } from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { ViteBuildExecutorOptions } from '../../executors/build/schema';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.ts"],"sourcesContent":["import { Tree, getProjects, joinPathFragments } from '@nx/devkit';\nimport { forEachExecutorOptions } from '@nx/devkit/src/generators/executor-options-utils';\nimport { ViteBuildExecutorOptions } from '../../executors/build/schema';\nimport { tsquery } from '@phenomnomnominal/tsquery';\nimport { ImportDeclaration } from 'typescript';\n\nexport default function update(tree: Tree) {\n const projects = getProjects(tree);\n forEachExecutorOptions<ViteBuildExecutorOptions>(\n tree,\n '@nx/vite:build',\n (options, projectName) => {\n const projectConfig = projects.get(projectName);\n const config =\n options.configFile || findViteConfig(tree, projectConfig.root);\n if (!config || !tree.exists(config)) {\n return;\n }\n\n const configContents = tree.read(config, 'utf-8');\n\n const oldTsConfigPathPlugin =\n tsquery.query<ImportDeclaration>(\n configContents,\n 'ImportDeclaration:has(StringLiteral[value=\"vite-tsconfig-paths\"])'\n ) ?? [];\n\n if (oldTsConfigPathPlugin.length === 0) {\n return;\n }\n\n const importName =\n oldTsConfigPathPlugin[0]?.importClause?.name?.text ??\n 'viteTsConfigPaths';\n const updatedContent = tsquery.replace(\n configContents,\n `PropertyAssignment:has(Identifier[name=\"plugins\"]) CallExpression:has(Identifier[name=\"${importName}\"])`,\n () => {\n return `nxViteTsPaths()`;\n }\n );\n\n const withImportChange = tsquery.replace(\n updatedContent,\n 'ImportDeclaration:has(StringLiteral[value=\"vite-tsconfig-paths\"])',\n () => {\n return \"import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\";\n }\n );\n\n tree.write(config, withImportChange);\n }\n );\n}\n\nfunction findViteConfig(tree: Tree, searchRoot: string) {\n const allowsExt = ['js', 'mjs', 'ts', 'cjs', 'mts', 'cts'];\n\n for (const ext of allowsExt) {\n if (tree.exists(joinPathFragments(searchRoot, `vite.config.${ext}`))) {\n return joinPathFragments(searchRoot, `vite.config.${ext}`);\n }\n }\n}\n"],"names":["update","tree","projects","getProjects","forEachExecutorOptions","options","projectName","oldTsConfigPathPlugin","projectConfig","get","config","configFile","findViteConfig","root","exists","configContents","read","tsquery","query","length","importName","importClause","name","text","updatedContent","replace","withImportChange","write","searchRoot","allowsExt","ext","joinPathFragments"],"mappings":";+BAMA;;;eAAwBA;;;wBAN6B;sCACd;yBAEf;AAGT,SAASA,OAAOC,IAAU;IACvC,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAC7BG,IAAAA,4CAAsB,EACpBH,MACA,kBACA,CAACI,SAASC;YAqBNC,2CAAAA,sCAAAA;QApBF,MAAMC,gBAAgBN,SAASO,GAAG,CAACH;QACnC,MAAMI,SACJL,QAAQM,UAAU,IAAIC,eAAeX,MAAMO,cAAcK,IAAI;QAC/D,IAAI,CAACH,UAAU,CAACT,KAAKa,MAAM,CAACJ,SAAS;YACnC;QACF;QAEA,MAAMK,iBAAiBd,KAAKe,IAAI,CAACN,QAAQ;YAGvCO;QADF,MAAMV,wBACJU,CAAAA,iBAAAA,gBAAO,CAACC,KAAK,CACXH,gBACA,gFAFFE,iBAGK,EAAE;QAET,IAAIV,sBAAsBY,MAAM,KAAK,GAAG;YACtC;QACF;YAGEZ;QADF,MAAMa,aACJb,CAAAA,kDAAAA,0BAAAA,qBAAqB,CAAC,EAAE,sBAAxBA,uCAAAA,wBAA0Bc,YAAY,sBAAtCd,4CAAAA,qCAAwCe,IAAI,qBAA5Cf,0CAA8CgB,IAAI,YAAlDhB,iDACA;QACF,MAAMiB,iBAAiBP,gBAAO,CAACQ,OAAO,CACpCV,gBACA,CAAC,uFAAuF,EAAEK,WAAW,GAAG,CAAC,EACzG;YACE,OAAO,CAAC,eAAe,CAAC;QAC1B;QAGF,MAAMM,mBAAmBT,gBAAO,CAACQ,OAAO,CACtCD,gBACA,qEACA;YACE,OAAO;QACT;QAGFvB,KAAK0B,KAAK,CAACjB,QAAQgB;IACrB;AAEJ;AAEA,SAASd,eAAeX,IAAU,EAAE2B,UAAkB;IACpD,MAAMC,YAAY;QAAC;QAAM;QAAO;QAAM;QAAO;QAAO;KAAM;IAE1D,KAAK,MAAMC,OAAOD,UAAW;QAC3B,IAAI5B,KAAKa,MAAM,CAACiB,IAAAA,yBAAiB,EAACH,YAAY,CAAC,YAAY,EAAEE,IAAI,CAAC,IAAI;YACpE,OAAOC,IAAAA,yBAAiB,EAACH,YAAY,CAAC,YAAY,EAAEE,IAAI,CAAC;QAC3D;IACF;AACF"}
|
|
@@ -7,5 +7,3 @@ export declare function validateTypes(opts: {
|
|
|
7
7
|
tsconfig: string;
|
|
8
8
|
}): Promise<void>;
|
|
9
9
|
export declare function createBuildableTsConfig(projectRoot: string, options: ViteBuildExecutorOptions | ViteDevServerExecutorOptions, context: ExecutorContext): void;
|
|
10
|
-
export declare function loadViteDynamicImport(): Promise<typeof import("vite")>;
|
|
11
|
-
export declare function loadVitestDynamicImport(): Promise<typeof import("vitest/node")>;
|
|
@@ -11,18 +11,11 @@ _export(exports, {
|
|
|
11
11
|
},
|
|
12
12
|
createBuildableTsConfig: function() {
|
|
13
13
|
return createBuildableTsConfig;
|
|
14
|
-
},
|
|
15
|
-
loadViteDynamicImport: function() {
|
|
16
|
-
return loadViteDynamicImport;
|
|
17
|
-
},
|
|
18
|
-
loadVitestDynamicImport: function() {
|
|
19
|
-
return loadVitestDynamicImport;
|
|
20
14
|
}
|
|
21
15
|
});
|
|
22
16
|
const _js = require("@nx/js");
|
|
23
17
|
const _path = require("path");
|
|
24
18
|
const _buildablelibsutils = require("@nx/js/src/utils/buildable-libs-utils");
|
|
25
|
-
const _optionsutils = require("./options-utils");
|
|
26
19
|
async function validateTypes(opts) {
|
|
27
20
|
const result = await (0, _js.runTypeCheck)({
|
|
28
21
|
workspaceRoot: opts.workspaceRoot,
|
|
@@ -35,25 +28,17 @@ async function validateTypes(opts) {
|
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
30
|
function createBuildableTsConfig(projectRoot, options, context) {
|
|
38
|
-
var _options
|
|
39
|
-
const tsConfig = (0,
|
|
40
|
-
var
|
|
41
|
-
(
|
|
42
|
-
if (!options
|
|
31
|
+
var _options;
|
|
32
|
+
const tsConfig = (0, _path.resolve)(projectRoot, 'tsconfig.json');
|
|
33
|
+
var _buildLibsFromSource;
|
|
34
|
+
(_buildLibsFromSource = (_options = options).buildLibsFromSource) != null ? _buildLibsFromSource : _options.buildLibsFromSource = true;
|
|
35
|
+
if (!options.buildLibsFromSource) {
|
|
43
36
|
const { dependencies } = (0, _buildablelibsutils.calculateProjectBuildableDependencies)(context.taskGraph, context.projectGraph, context.root, context.projectName, // When using incremental building and the serve target is called
|
|
44
37
|
// we need to get the deps for the 'build' target instead.
|
|
45
38
|
context.targetName === 'serve' ? 'build' : context.targetName, context.configurationName);
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
const tmpTsConfigPath = (0, _buildablelibsutils.createTmpTsConfig)(tsConfig, context.root, projectRoot, dependencies);
|
|
49
|
-
process.env.NX_TSCONFIG_PATH = tmpTsConfigPath;
|
|
39
|
+
// this tsconfig is used via the vite ts paths plugin
|
|
40
|
+
(0, _buildablelibsutils.createTmpTsConfig)(tsConfig, context.root, projectRoot, dependencies);
|
|
50
41
|
}
|
|
51
42
|
}
|
|
52
|
-
function loadViteDynamicImport() {
|
|
53
|
-
return Function('return import("vite")')();
|
|
54
|
-
}
|
|
55
|
-
function loadVitestDynamicImport() {
|
|
56
|
-
return Function('return import("vitest/node")')();
|
|
57
|
-
}
|
|
58
43
|
|
|
59
44
|
//# sourceMappingURL=executor-utils.js.map
|