@nx/vite 16.6.0-beta.2 → 16.6.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/migrations.json +6 -0
- package/package.json +9 -7
- package/plugins/nx-tsconfig-paths.plugin.d.ts +5 -0
- package/plugins/nx-tsconfig-paths.plugin.js +82 -0
- package/plugins/nx-tsconfig-paths.plugin.js.map +1 -0
- package/src/executors/build/build.impl.js +1 -1
- package/src/executors/build/build.impl.js.map +1 -1
- package/src/executors/dev-server/dev-server.impl.js +1 -1
- package/src/executors/dev-server/dev-server.impl.js.map +1 -1
- package/src/generators/init/init.js +0 -1
- package/src/generators/init/init.js.map +1 -1
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.d.ts +2 -0
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js +53 -0
- package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js.map +1 -0
- package/src/utils/executor-utils.d.ts +1 -1
- package/src/utils/executor-utils.js +5 -8
- package/src/utils/executor-utils.js.map +1 -1
- package/src/utils/generator-utils.js +3 -9
- package/src/utils/generator-utils.js.map +1 -1
- package/src/utils/versions.d.ts +0 -1
- package/src/utils/versions.js +0 -4
- package/src/utils/versions.js.map +1 -1
package/migrations.json
CHANGED
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
"description": "Changes the testFile config in the vite:test exectutor from a string to an array of strings",
|
|
30
30
|
"cli": "nx",
|
|
31
31
|
"implementation": "./src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config"
|
|
32
|
+
},
|
|
33
|
+
"16-6-0-change-ts-paths-plugin": {
|
|
34
|
+
"version": "16.6.0-beta.4",
|
|
35
|
+
"description": "Change vite-tsconfig-paths plugin for first party nx-vite-tsconfig-paths plugin",
|
|
36
|
+
"cli": "nx",
|
|
37
|
+
"implementation": "./src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin"
|
|
32
38
|
}
|
|
33
39
|
},
|
|
34
40
|
"packageJsonUpdates": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/vite",
|
|
3
|
-
"version": "16.6.0-beta.
|
|
3
|
+
"version": "16.6.0-beta.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The Nx Plugin for building and testing applications using Vite",
|
|
6
6
|
"repository": {
|
|
@@ -29,13 +29,14 @@
|
|
|
29
29
|
"migrations": "./migrations.json"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@nrwl/vite": "16.6.0-beta.
|
|
33
|
-
"@nx/devkit": "16.6.0-beta.
|
|
34
|
-
"@nx/js": "16.6.0-beta.
|
|
32
|
+
"@nrwl/vite": "16.6.0-beta.4",
|
|
33
|
+
"@nx/devkit": "16.6.0-beta.4",
|
|
34
|
+
"@nx/js": "16.6.0-beta.4",
|
|
35
35
|
"@phenomnomnominal/tsquery": "~5.0.1",
|
|
36
36
|
"@swc/helpers": "~0.5.0",
|
|
37
37
|
"dotenv": "~10.0.0",
|
|
38
|
-
"enquirer": "~2.3.6"
|
|
38
|
+
"enquirer": "~2.3.6",
|
|
39
|
+
"tsconfig-paths": "^4.1.2"
|
|
39
40
|
},
|
|
40
41
|
"peerDependencies": {
|
|
41
42
|
"vite": "^4.3.4",
|
|
@@ -57,7 +58,8 @@
|
|
|
57
58
|
"./executors": "./executors.js",
|
|
58
59
|
"./src/executors/*/schema.json": "./src/executors/*/schema.json",
|
|
59
60
|
"./src/executors/*.impl": "./src/executors/*.impl.js",
|
|
60
|
-
"./src/executors/*/compat": "./src/executors/*/compat.js"
|
|
61
|
+
"./src/executors/*/compat": "./src/executors/*/compat.js",
|
|
62
|
+
"./plugins/nx-tsconfig-paths.plugin": "./plugins/nx-tsconfig-paths.plugin.js"
|
|
61
63
|
},
|
|
62
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "b1a9ae7ce76697019b26ec9a172005840cca8da6"
|
|
63
65
|
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "nxViteTsPaths", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return nxViteTsPaths;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _devkit = require("@nx/devkit");
|
|
9
|
+
const _nodefs = require("node:fs");
|
|
10
|
+
const _nodepath = require("node:path");
|
|
11
|
+
const _tsconfigpaths = require("tsconfig-paths");
|
|
12
|
+
function nxViteTsPaths() {
|
|
13
|
+
let matchTsPathEsm;
|
|
14
|
+
let matchTsPathFallback;
|
|
15
|
+
return {
|
|
16
|
+
name: 'nx-vite-ts-paths',
|
|
17
|
+
configResolved (config) {
|
|
18
|
+
const projectRoot = config.root;
|
|
19
|
+
const projectRootFromWorkspaceRoot = (0, _nodepath.relative)(_devkit.workspaceRoot, projectRoot);
|
|
20
|
+
const foundTsConfigPath = getTsConfig((0, _nodepath.join)(_devkit.workspaceRoot, 'tmp', projectRootFromWorkspaceRoot, 'tsconfig.generated.json'));
|
|
21
|
+
if (!foundTsConfigPath) {
|
|
22
|
+
throw new Error((0, _devkit.stripIndents)`Unable to find a tsconfig in the workspace!
|
|
23
|
+
There should at least be a tsconfig.base.json or tsconfig.json in the root of the workspace ${_devkit.workspaceRoot}`);
|
|
24
|
+
}
|
|
25
|
+
const parsed = (0, _tsconfigpaths.loadConfig)(foundTsConfigPath);
|
|
26
|
+
logIt('first parsed tsconfig: ', parsed);
|
|
27
|
+
if (parsed.resultType === 'failed') {
|
|
28
|
+
throw new Error(`Failed loading tsonfig at ${foundTsConfigPath}`);
|
|
29
|
+
}
|
|
30
|
+
matchTsPathEsm = (0, _tsconfigpaths.createMatchPath)(parsed.absoluteBaseUrl, parsed.paths, [
|
|
31
|
+
[
|
|
32
|
+
'exports',
|
|
33
|
+
'.',
|
|
34
|
+
'import'
|
|
35
|
+
],
|
|
36
|
+
'module',
|
|
37
|
+
'main'
|
|
38
|
+
]);
|
|
39
|
+
const rootLevelTsConfig = getTsConfig((0, _nodepath.join)(_devkit.workspaceRoot, 'tsconfig.base.json'));
|
|
40
|
+
const rootLevelParsed = (0, _tsconfigpaths.loadConfig)(rootLevelTsConfig);
|
|
41
|
+
logIt('fallback parsed tsconfig: ', rootLevelParsed);
|
|
42
|
+
if (rootLevelParsed.resultType === 'success') {
|
|
43
|
+
matchTsPathFallback = (0, _tsconfigpaths.createMatchPath)(rootLevelParsed.absoluteBaseUrl, rootLevelParsed.paths, [
|
|
44
|
+
'main',
|
|
45
|
+
'module'
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
resolveId (source) {
|
|
50
|
+
let resolvedFile;
|
|
51
|
+
try {
|
|
52
|
+
resolvedFile = matchTsPathEsm(source);
|
|
53
|
+
} catch (e) {
|
|
54
|
+
logIt('Using fallback path matching.');
|
|
55
|
+
resolvedFile = matchTsPathFallback == null ? void 0 : matchTsPathFallback(source);
|
|
56
|
+
}
|
|
57
|
+
if (!resolvedFile) {
|
|
58
|
+
logIt(`Unable to resolve ${source} with tsconfig paths`);
|
|
59
|
+
}
|
|
60
|
+
return resolvedFile;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function getTsConfig(preferredTsConfigPath) {
|
|
65
|
+
return [
|
|
66
|
+
(0, _nodepath.resolve)(preferredTsConfigPath),
|
|
67
|
+
(0, _nodepath.resolve)((0, _nodepath.join)(_devkit.workspaceRoot, 'tsconfig.base.json')),
|
|
68
|
+
(0, _nodepath.resolve)((0, _nodepath.join)(_devkit.workspaceRoot, 'tsconfig.json'))
|
|
69
|
+
].find((tsPath)=>{
|
|
70
|
+
if ((0, _nodefs.existsSync)(tsPath)) {
|
|
71
|
+
logIt('Found tsconfig at', tsPath);
|
|
72
|
+
return tsPath;
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function logIt(...msg) {
|
|
77
|
+
if (process.env.NX_VERBOSE_LOGGING === 'true') {
|
|
78
|
+
console.debug('[Nx Vite TsPaths]', ...msg);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=nx-tsconfig-paths.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../packages/vite/plugins/nx-tsconfig-paths.plugin.ts"],"sourcesContent":["import { stripIndents, workspaceRoot } from '@nx/devkit';\nimport { existsSync } from 'node:fs';\nimport { relative, join, resolve } from 'node:path';\nimport { loadConfig, createMatchPath, MatchPath } from 'tsconfig-paths';\n\nexport function nxViteTsPaths() {\n let matchTsPathEsm: MatchPath;\n let matchTsPathFallback: MatchPath | undefined;\n\n return {\n name: 'nx-vite-ts-paths',\n configResolved(config: any) {\n const projectRoot = config.root;\n const projectRootFromWorkspaceRoot = relative(workspaceRoot, projectRoot);\n\n const foundTsConfigPath = getTsConfig(\n join(\n workspaceRoot,\n 'tmp',\n projectRootFromWorkspaceRoot,\n 'tsconfig.generated.json'\n )\n );\n if (!foundTsConfigPath) {\n throw new Error(stripIndents`Unable to find a tsconfig in the workspace! \nThere should at least be a tsconfig.base.json or tsconfig.json in the root of the workspace ${workspaceRoot}`);\n }\n const parsed = loadConfig(foundTsConfigPath);\n\n logIt('first parsed tsconfig: ', parsed);\n if (parsed.resultType === 'failed') {\n throw new Error(`Failed loading tsonfig at ${foundTsConfigPath}`);\n }\n\n matchTsPathEsm = createMatchPath(parsed.absoluteBaseUrl, parsed.paths, [\n ['exports', '.', 'import'],\n 'module',\n 'main',\n ]);\n\n const rootLevelTsConfig = getTsConfig(\n join(workspaceRoot, 'tsconfig.base.json')\n );\n const rootLevelParsed = loadConfig(rootLevelTsConfig);\n logIt('fallback parsed tsconfig: ', rootLevelParsed);\n if (rootLevelParsed.resultType === 'success') {\n matchTsPathFallback = createMatchPath(\n rootLevelParsed.absoluteBaseUrl,\n rootLevelParsed.paths,\n ['main', 'module']\n );\n }\n },\n resolveId(source: string) {\n let resolvedFile: string;\n try {\n resolvedFile = matchTsPathEsm(source);\n } catch (e) {\n logIt('Using fallback path matching.');\n resolvedFile = matchTsPathFallback?.(source);\n }\n\n if (!resolvedFile) {\n logIt(`Unable to resolve ${source} with tsconfig paths`);\n }\n\n return resolvedFile;\n },\n };\n}\n\nfunction getTsConfig(preferredTsConfigPath: string): string {\n return [\n resolve(preferredTsConfigPath),\n resolve(join(workspaceRoot, 'tsconfig.base.json')),\n resolve(join(workspaceRoot, 'tsconfig.json')),\n ].find((tsPath) => {\n if (existsSync(tsPath)) {\n logIt('Found tsconfig at', tsPath);\n return tsPath;\n }\n });\n}\n\nfunction logIt(...msg: any[]) {\n if (process.env.NX_VERBOSE_LOGGING === 'true') {\n console.debug('[Nx Vite TsPaths]', ...msg);\n }\n}\n"],"names":["nxViteTsPaths","matchTsPathEsm","matchTsPathFallback","name","configResolved","config","projectRoot","root","projectRootFromWorkspaceRoot","relative","workspaceRoot","foundTsConfigPath","getTsConfig","join","Error","stripIndents","parsed","loadConfig","logIt","resultType","createMatchPath","absoluteBaseUrl","paths","rootLevelTsConfig","rootLevelParsed","resolveId","source","resolvedFile","e","preferredTsConfigPath","resolve","find","tsPath","existsSync","msg","process","env","NX_VERBOSE_LOGGING","console","debug"],"mappings":";+BAKgBA;;;eAAAA;;;wBAL4B;wBACjB;0BACa;+BACe;AAEhD,SAASA,gBAAgB;IAC9B,IAAIC;IACJ,IAAIC;IAEJ,OAAO;QACLC,MAAM;QACNC,gBAAeC,MAAW,EAAE;YAC1B,MAAMC,cAAcD,OAAOE,IAAI;YAC/B,MAAMC,+BAA+BC,IAAAA,kBAAQ,EAACC,qBAAa,EAAEJ;YAE7D,MAAMK,oBAAoBC,YACxBC,IAAAA,cAAI,EACFH,qBAAa,EACb,OACAF,8BACA;YAGJ,IAAI,CAACG,mBAAmB;gBACtB,MAAM,IAAIG,MAAMC,IAAAA,oBAAY,CAAA,CAAC;4FACuD,EAAEL,qBAAa,CAAC,CAAC,EAAE;YACzG,CAAC;YACD,MAAMM,SAASC,IAAAA,yBAAU,EAACN;YAE1BO,MAAM,2BAA2BF;YACjC,IAAIA,OAAOG,UAAU,KAAK,UAAU;gBAClC,MAAM,IAAIL,MAAM,CAAC,0BAA0B,EAAEH,kBAAkB,CAAC,EAAE;YACpE,CAAC;YAEDV,iBAAiBmB,IAAAA,8BAAe,EAACJ,OAAOK,eAAe,EAAEL,OAAOM,KAAK,EAAE;gBACrE;oBAAC;oBAAW;oBAAK;iBAAS;gBAC1B;gBACA;aACD;YAED,MAAMC,oBAAoBX,YACxBC,IAAAA,cAAI,EAACH,qBAAa,EAAE;YAEtB,MAAMc,kBAAkBP,IAAAA,yBAAU,EAACM;YACnCL,MAAM,8BAA8BM;YACpC,IAAIA,gBAAgBL,UAAU,KAAK,WAAW;gBAC5CjB,sBAAsBkB,IAAAA,8BAAe,EACnCI,gBAAgBH,eAAe,EAC/BG,gBAAgBF,KAAK,EACrB;oBAAC;oBAAQ;iBAAS;YAEtB,CAAC;QACH;QACAG,WAAUC,MAAc,EAAE;YACxB,IAAIC;YACJ,IAAI;gBACFA,eAAe1B,eAAeyB;YAChC,EAAE,OAAOE,GAAG;gBACVV,MAAM;gBACNS,eAAezB,8BAAAA,KAAAA,IAAAA,oBAAsBwB;YACvC;YAEA,IAAI,CAACC,cAAc;gBACjBT,MAAM,CAAC,kBAAkB,EAAEQ,OAAO,oBAAoB,CAAC;YACzD,CAAC;YAED,OAAOC;QACT;IACF;AACF;AAEA,SAASf,YAAYiB,qBAA6B,EAAU;IAC1D,OAAO;QACLC,IAAAA,iBAAO,EAACD;QACRC,IAAAA,iBAAO,EAACjB,IAAAA,cAAI,EAACH,qBAAa,EAAE;QAC5BoB,IAAAA,iBAAO,EAACjB,IAAAA,cAAI,EAACH,qBAAa,EAAE;KAC7B,CAACqB,IAAI,CAAC,CAACC,SAAW;QACjB,IAAIC,IAAAA,kBAAU,EAACD,SAAS;YACtBd,MAAM,qBAAqBc;YAC3B,OAAOA;QACT,CAAC;IACH;AACF;AAEA,SAASd,MAAM,GAAGgB,GAAU,EAAE;IAC5B,IAAIC,QAAQC,GAAG,CAACC,kBAAkB,KAAK,QAAQ;QAC7CC,QAAQC,KAAK,CAAC,wBAAwBL;IACxC,CAAC;AACH"}
|
|
@@ -25,7 +25,7 @@ const _asynciterable = require("@nx/devkit/src/utils/async-iterable");
|
|
|
25
25
|
const _executorutils = require("../../utils/executor-utils");
|
|
26
26
|
async function* viteBuildExecutor(options, context) {
|
|
27
27
|
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
28
|
-
(0, _executorutils.
|
|
28
|
+
(0, _executorutils.createBuildableTsConfig)(projectRoot, options, context);
|
|
29
29
|
const normalizedOptions = normalizeOptions(options);
|
|
30
30
|
const buildConfig = (0, _vite.mergeConfig)((0, _optionsutils.getViteSharedConfig)(normalizedOptions, false, context), {
|
|
31
31
|
build: (0, _optionsutils.getViteBuildOptions)(normalizedOptions, context)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/executors/build/build.impl.ts"],"sourcesContent":["import 'dotenv/config';\nimport {\n ExecutorContext,\n logger,\n stripIndents,\n writeJsonFile,\n} from '@nx/devkit';\nimport { build, InlineConfig, mergeConfig } from 'vite';\nimport {\n getProjectTsConfigPath,\n getViteBuildOptions,\n getViteSharedConfig,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from './schema';\nimport {\n copyAssets,\n createLockFile,\n createPackageJson,\n getLockFileName,\n} from '@nx/js';\nimport { existsSync, writeFileSync } from 'fs';\nimport { resolve } from 'path';\nimport { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/executors/build/build.impl.ts"],"sourcesContent":["import 'dotenv/config';\nimport {\n ExecutorContext,\n logger,\n stripIndents,\n writeJsonFile,\n} from '@nx/devkit';\nimport { build, InlineConfig, mergeConfig } from 'vite';\nimport {\n getProjectTsConfigPath,\n getViteBuildOptions,\n getViteSharedConfig,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from './schema';\nimport {\n copyAssets,\n createLockFile,\n createPackageJson,\n getLockFileName,\n} from '@nx/js';\nimport { existsSync, writeFileSync } from 'fs';\nimport { resolve } from 'path';\nimport { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable';\nimport {\n createBuildableTsConfig,\n validateTypes,\n} from '../../utils/executor-utils';\n\nexport async function* viteBuildExecutor(\n options: ViteBuildExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n createBuildableTsConfig(projectRoot, options, context);\n\n const normalizedOptions = normalizeOptions(options);\n\n const buildConfig = mergeConfig(\n getViteSharedConfig(normalizedOptions, false, context),\n {\n build: getViteBuildOptions(normalizedOptions, context),\n }\n );\n\n if (!options.skipTypeCheck) {\n await validateTypes({\n workspaceRoot: context.root,\n projectRoot: projectRoot,\n tsconfig: getProjectTsConfigPath(projectRoot),\n });\n }\n\n const watcherOrOutput = await runInstance(buildConfig);\n\n const libraryPackageJson = resolve(projectRoot, 'package.json');\n const rootPackageJson = resolve(context.root, 'package.json');\n const distPackageJson = resolve(normalizedOptions.outputPath, 'package.json');\n\n // Generate a package.json if option has been set.\n if (options.generatePackageJson) {\n if (context.projectGraph.nodes[context.projectName].type !== 'app') {\n logger.warn(\n stripIndents`The project ${context.projectName} is using the 'generatePackageJson' option which is deprecated for library projects. It should only be used for applications.\n For libraries, configure the project to use the '@nx/dependency-checks' ESLint rule instead (https://nx.dev/packages/eslint-plugin/documents/dependency-checks).`\n );\n }\n\n const builtPackageJson = createPackageJson(\n context.projectName,\n context.projectGraph,\n {\n target: context.targetName,\n root: context.root,\n isProduction: !options.includeDevDependenciesInPackageJson, // By default we remove devDependencies since this is a production build.\n }\n );\n\n builtPackageJson.type = 'module';\n\n writeJsonFile(`${options.outputPath}/package.json`, builtPackageJson);\n\n const lockFile = createLockFile(builtPackageJson);\n writeFileSync(`${options.outputPath}/${getLockFileName()}`, lockFile, {\n encoding: 'utf-8',\n });\n }\n // For buildable libs, copy package.json if it exists.\n else if (\n !existsSync(distPackageJson) &&\n existsSync(libraryPackageJson) &&\n rootPackageJson !== libraryPackageJson\n ) {\n await copyAssets(\n {\n outputPath: normalizedOptions.outputPath,\n assets: [\n {\n input: projectRoot,\n output: '.',\n glob: 'package.json',\n },\n ],\n },\n context\n );\n }\n\n if ('on' in watcherOrOutput) {\n const iterable = createAsyncIterable<{ success: boolean }>(({ next }) => {\n let success = true;\n watcherOrOutput.on('event', (event) => {\n if (event.code === 'START') {\n success = true;\n } else if (event.code === 'ERROR') {\n success = false;\n } else if (event.code === 'END') {\n next({ success });\n }\n // result must be closed when present.\n // see https://rollupjs.org/guide/en/#rollupwatch\n if ('result' in event) {\n event.result.close();\n }\n });\n });\n yield* iterable;\n } else {\n const output = watcherOrOutput?.['output'] || watcherOrOutput?.[0]?.output;\n const fileName = output?.[0]?.fileName || 'main.cjs';\n const outfile = resolve(normalizedOptions.outputPath, fileName);\n yield { success: true, outfile };\n }\n}\n\nfunction runInstance(options: InlineConfig) {\n return build({\n ...options,\n });\n}\n\nfunction normalizeOptions(options: ViteBuildExecutorOptions) {\n const normalizedOptions = { ...options };\n\n // coerce watch to null or {} to match with Vite's watch config\n if (options.watch === false) {\n normalizedOptions.watch = null;\n } else if (options.watch === true) {\n normalizedOptions.watch = {};\n }\n\n return normalizedOptions;\n}\n\nexport default viteBuildExecutor;\n"],"names":["viteBuildExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","createBuildableTsConfig","normalizedOptions","normalizeOptions","buildConfig","mergeConfig","getViteSharedConfig","build","getViteBuildOptions","skipTypeCheck","validateTypes","workspaceRoot","tsconfig","getProjectTsConfigPath","watcherOrOutput","runInstance","libraryPackageJson","resolve","rootPackageJson","distPackageJson","outputPath","generatePackageJson","projectGraph","nodes","type","logger","warn","stripIndents","builtPackageJson","createPackageJson","target","targetName","isProduction","includeDevDependenciesInPackageJson","writeJsonFile","lockFile","createLockFile","writeFileSync","getLockFileName","encoding","existsSync","copyAssets","assets","input","output","glob","iterable","createAsyncIterable","next","success","on","event","code","result","close","fileName","outfile","watch"],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ const _optionsutils = require("../../utils/options-utils");
|
|
|
20
20
|
const _executorutils = require("../../utils/executor-utils");
|
|
21
21
|
async function* viteDevServerExecutor(options, context) {
|
|
22
22
|
const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
|
|
23
|
-
(0, _executorutils.
|
|
23
|
+
(0, _executorutils.createBuildableTsConfig)(projectRoot, options, context);
|
|
24
24
|
// Retrieve the option for the configured buildTarget.
|
|
25
25
|
const buildTargetOptions = (0, _optionsutils.getNxTargetOptions)(options.buildTarget, context);
|
|
26
26
|
// Merge the options from the build and dev-serve targets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import 'dotenv/config';\nimport { ExecutorContext } from '@nx/devkit';\nimport { createServer, InlineConfig, mergeConfig, ViteDevServer } from 'vite';\n\nimport {\n getViteSharedConfig,\n getNxTargetOptions,\n getViteServerOptions,\n getViteBuildOptions,\n} from '../../utils/options-utils';\n\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import 'dotenv/config';\nimport { ExecutorContext } from '@nx/devkit';\nimport { createServer, InlineConfig, mergeConfig, ViteDevServer } from 'vite';\n\nimport {\n getViteSharedConfig,\n getNxTargetOptions,\n getViteServerOptions,\n getViteBuildOptions,\n} from '../../utils/options-utils';\n\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { createBuildableTsConfig } from '../../utils/executor-utils';\n\nexport async function* viteDevServerExecutor(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): AsyncGenerator<{ success: boolean; baseUrl: string }> {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n createBuildableTsConfig(projectRoot, options, context);\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n // Merge the options from the build and dev-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...buildTargetOptions,\n ...options,\n };\n\n // Add the server specific configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n server: getViteServerOptions(mergedOptions, context),\n }\n );\n\n try {\n const server = await createServer(serverConfig);\n await runViteDevServer(server);\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nasync function runViteDevServer(server: ViteDevServer): Promise<void> {\n await server.listen();\n server.printUrls();\n\n const processOnExit = async () => {\n await server.close();\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n}\n\nexport default viteDevServerExecutor;\n"],"names":["viteDevServerExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","createBuildableTsConfig","buildTargetOptions","getNxTargetOptions","buildTarget","mergedOptions","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","server","getViteServerOptions","createServer","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","resolve","process","once","listen","printUrls","processOnExit","close"],"mappings":";;;;;;;;IAeuBA,qBAAqB;eAArBA;;IAuEvB,OAAqC;eAArC;;;;QAtFO;sBAEgE;8BAOhE;+BAIiC;AAEjC,gBAAgBA,sBACrBC,OAAqC,EACrCC,OAAwB,EAC+B;IACvD,MAAMC,cACJD,QAAQE,sBAAsB,CAACC,QAAQ,CAACH,QAAQI,WAAW,CAAC,CAACC,IAAI;IAEnEC,IAAAA,sCAAuB,EAACL,aAAaF,SAASC;IAE9C,sDAAsD;IACtD,MAAMO,qBAA+CC,IAAAA,gCAAkB,EACrET,QAAQU,WAAW,EACnBT;IAGF,0DAA0D;IAC1D,+BAA+B;IAC/B,MAAMU,gBAAgB,eACjBH,oBACAR;IAGL,yCAAyC;IACzC,MAAMY,eAA6BC,IAAAA,iBAAW,EAC5CC,IAAAA,iCAAmB,EAACH,eAAeX,QAAQe,WAAW,EAAEd,UACxD;QACEe,OAAOC,IAAAA,iCAAmB,EAACN,eAAeV;QAC1CiB,QAAQC,IAAAA,kCAAoB,EAACR,eAAeV;IAC9C;IAGF,IAAI;QACF,MAAMiB,SAAS,MAAME,IAAAA,kBAAY,EAACR;QAClC,MAAMS,iBAAiBH;QACvB,MAAMI,eAAe;eAChBJ,OAAOI,YAAY,CAACC,KAAK;eACzBL,OAAOI,YAAY,CAACE,OAAO;SAC/B;YAIUF;QAFX,MAAM;YACJG,SAAS,IAAI;YACbC,SAASJ,CAAAA,iBAAAA,YAAY,CAAC,EAAE,YAAfA,iBAAmB,EAAE;QAChC;IACF,EAAE,OAAOK,GAAG;QACVC,QAAQC,KAAK,CAACF;QACd,MAAM;YACJF,SAAS,KAAK;YACdC,SAAS;QACX;IACF;IAEA,MAAM,IAAII,QAAc,CAACC,UAAY;QACnCC,QAAQC,IAAI,CAAC,UAAU,IAAMF;QAC7BC,QAAQC,IAAI,CAAC,WAAW,IAAMF;QAC9BC,QAAQC,IAAI,CAAC,QAAQ,IAAMF;IAC7B;AACF;AAEA,eAAeV,iBAAiBH,MAAqB,EAAiB;IACpE,MAAMA,OAAOgB,MAAM;IACnBhB,OAAOiB,SAAS;IAEhB,MAAMC,gBAAgB,UAAY;QAChC,MAAMlB,OAAOmB,KAAK;IACpB;IAEAL,QAAQC,IAAI,CAAC,UAAUG;IACvBJ,QAAQC,IAAI,CAAC,WAAWG;IACxBJ,QAAQC,IAAI,CAAC,QAAQG;AACvB;MAEA,WAAerC"}
|
|
@@ -32,7 +32,6 @@ function checkDependenciesInstalled(host, schema) {
|
|
|
32
32
|
// base deps
|
|
33
33
|
devDependencies['@nx/vite'] = _versions.nxVersion;
|
|
34
34
|
devDependencies['vite'] = _versions.viteVersion;
|
|
35
|
-
devDependencies['vite-tsconfig-paths'] = _versions.viteTsConfigPathsVersion;
|
|
36
35
|
devDependencies['vitest'] = _versions.vitestVersion;
|
|
37
36
|
devDependencies['@vitest/ui'] = _versions.vitestUiVersion;
|
|
38
37
|
if (schema.testEnvironment === 'jsdom') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n convertNxGenerator,\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 jsdomVersion,\n nxVersion,\n vitePluginDtsVersion,\n vitePluginReactVersion,\n vitePluginReactSwcVersion,\n vitestUiVersion,\n vitestVersion,\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n convertNxGenerator,\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 jsdomVersion,\n nxVersion,\n vitePluginDtsVersion,\n vitePluginReactVersion,\n vitePluginReactSwcVersion,\n vitestUiVersion,\n vitestVersion,\n viteVersion,\n happyDomVersion,\n edgeRuntimeVmVersion,\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') {\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 })\n );\n\n tasks.push(checkDependenciesInstalled(tree, schema));\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\nexport const initSchematic = convertNxGenerator(initGenerator);\n"],"names":["createVitestConfig","initGenerator","initSchematic","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","runTasksInSerial","convertNxGenerator"],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 _tsquery = require("@phenomnomnominal/tsquery");
|
|
11
|
+
function update(tree) {
|
|
12
|
+
const projects = (0, _devkit.getProjects)(tree);
|
|
13
|
+
(0, _executoroptionsutils.forEachExecutorOptions)(tree, '@nx/vite:build', (options, projectName)=>{
|
|
14
|
+
var _oldTsConfigPathPlugin_, _oldTsConfigPathPlugin__importClause, _oldTsConfigPathPlugin__importClause_name;
|
|
15
|
+
const projectConfig = projects.get(projectName);
|
|
16
|
+
const config = options.configFile || findViteConfig(tree, projectConfig.root);
|
|
17
|
+
if (!config || !tree.exists(config)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const configContents = tree.read(config, 'utf-8');
|
|
21
|
+
var _tsquery_query;
|
|
22
|
+
const oldTsConfigPathPlugin = (_tsquery_query = _tsquery.tsquery.query(configContents, 'ImportDeclaration:has(StringLiteral[value="vite-tsconfig-paths"])')) != null ? _tsquery_query : [];
|
|
23
|
+
if (oldTsConfigPathPlugin.length === 0) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
var _oldTsConfigPathPlugin__importClause_name_text;
|
|
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';
|
|
28
|
+
const updatedContent = _tsquery.tsquery.replace(configContents, `PropertyAssignment:has(Identifier[name="plugins"]) CallExpression:has(Identifier[name="${importName}"])`, ()=>{
|
|
29
|
+
return `nxViteTsPaths()`;
|
|
30
|
+
});
|
|
31
|
+
const withImportChange = _tsquery.tsquery.replace(updatedContent, 'ImportDeclaration:has(StringLiteral[value="vite-tsconfig-paths"])', ()=>{
|
|
32
|
+
return "import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';";
|
|
33
|
+
});
|
|
34
|
+
tree.write(config, withImportChange);
|
|
35
|
+
});
|
|
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
|
+
}
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=change-ts-paths-plugin.js.map
|
|
@@ -0,0 +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 { 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,EAAE;IACzC,MAAMC,WAAWC,IAAAA,mBAAW,EAACF;IAC7BG,IAAAA,4CAAsB,EACpBH,MACA,kBACA,CAACI,SAASC,cAAgB;YAqBtBC;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,CAAC;QAED,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,CAAC;YAGCZ;QADF,MAAMa,aACJb,CAAAA,iDAAAA,CAAAA,0BAAAA,qBAAqB,CAAC,EAAE,YAAxBA,KAAAA,IAAAA,wCAAAA,wBAA0Bc,wBAA1Bd,KAAAA,IAAAA,kFAAwCe,gBAAxCf,KAAAA,8CAA8CgB,IAAR,YAAtChB,iDACA,mBAAmB;QACrB,MAAMiB,iBAAiBP,gBAAO,CAACQ,OAAO,CACpCV,gBACA,CAAC,uFAAuF,EAAEK,WAAW,GAAG,CAAC,EACzG,IAAM;YACJ,OAAO,CAAC,eAAe,CAAC;QAC1B;QAGF,MAAMM,mBAAmBT,gBAAO,CAACQ,OAAO,CACtCD,gBACA,qEACA,IAAM;YACJ,OAAO;QACT;QAGFvB,KAAK0B,KAAK,CAACjB,QAAQgB;IACrB;AAEJ;AAEA,SAASd,eAAeX,IAAU,EAAE2B,UAAkB,EAAE;IACtD,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,CAAC;IACH;AACF"}
|
|
@@ -6,4 +6,4 @@ export declare function validateTypes(opts: {
|
|
|
6
6
|
projectRoot: string;
|
|
7
7
|
tsconfig: string;
|
|
8
8
|
}): Promise<void>;
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function createBuildableTsConfig(projectRoot: string, options: ViteBuildExecutorOptions | ViteDevServerExecutorOptions, context: ExecutorContext): void;
|
|
@@ -9,14 +9,13 @@ _export(exports, {
|
|
|
9
9
|
validateTypes: function() {
|
|
10
10
|
return validateTypes;
|
|
11
11
|
},
|
|
12
|
-
|
|
13
|
-
return
|
|
12
|
+
createBuildableTsConfig: function() {
|
|
13
|
+
return createBuildableTsConfig;
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
const _js = require("@nx/js");
|
|
17
17
|
const _path = require("path");
|
|
18
18
|
const _buildablelibsutils = require("@nx/js/src/utils/buildable-libs-utils");
|
|
19
|
-
const _internal = require("@nx/js/src/internal");
|
|
20
19
|
async function validateTypes(opts) {
|
|
21
20
|
const result = await (0, _js.runTypeCheck)({
|
|
22
21
|
workspaceRoot: opts.workspaceRoot,
|
|
@@ -28,17 +27,15 @@ async function validateTypes(opts) {
|
|
|
28
27
|
throw new Error('Found type errors. See above.');
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
|
-
function
|
|
30
|
+
function createBuildableTsConfig(projectRoot, options, context) {
|
|
32
31
|
var _options;
|
|
33
32
|
const tsConfig = (0, _path.resolve)(projectRoot, 'tsconfig.json');
|
|
34
33
|
var _buildLibsFromSource;
|
|
35
34
|
(_buildLibsFromSource = (_options = options).buildLibsFromSource) != null ? _buildLibsFromSource : _options.buildLibsFromSource = true;
|
|
36
35
|
if (!options.buildLibsFromSource) {
|
|
37
36
|
const { dependencies } = (0, _buildablelibsutils.calculateProjectDependencies)(context.projectGraph, context.root, context.projectName, context.targetName, context.configurationName);
|
|
38
|
-
|
|
39
|
-
(0,
|
|
40
|
-
} else {
|
|
41
|
-
(0, _internal.registerTsConfigPaths)(tsConfig);
|
|
37
|
+
// this tsconfig is used via the vite ts paths plugin
|
|
38
|
+
(0, _buildablelibsutils.createTmpTsConfig)(tsConfig, context.root, projectRoot, dependencies);
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/vite/src/utils/executor-utils.ts"],"sourcesContent":["import { printDiagnostics, runTypeCheck } from '@nx/js';\nimport { join, resolve } from 'path';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\nimport { ExecutorContext } from '@nx/devkit';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport {\n calculateProjectDependencies,\n createTmpTsConfig,\n} from '@nx/js/src/utils/buildable-libs-utils';\
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/vite/src/utils/executor-utils.ts"],"sourcesContent":["import { printDiagnostics, runTypeCheck } from '@nx/js';\nimport { join, resolve } from 'path';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\nimport { ExecutorContext } from '@nx/devkit';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport {\n calculateProjectDependencies,\n createTmpTsConfig,\n} from '@nx/js/src/utils/buildable-libs-utils';\n\nexport async function validateTypes(opts: {\n workspaceRoot: string;\n projectRoot: string;\n tsconfig: string;\n}): Promise<void> {\n const result = await runTypeCheck({\n workspaceRoot: opts.workspaceRoot,\n tsConfigPath: join(opts.workspaceRoot, opts.tsconfig),\n mode: 'noEmit',\n });\n\n await printDiagnostics(result.errors, result.warnings);\n\n if (result.errors.length > 0) {\n throw new Error('Found type errors. See above.');\n }\n}\n\nexport function createBuildableTsConfig(\n projectRoot: string,\n options: ViteBuildExecutorOptions | ViteDevServerExecutorOptions,\n context: ExecutorContext\n) {\n const tsConfig = resolve(projectRoot, 'tsconfig.json');\n options.buildLibsFromSource ??= true;\n\n if (!options.buildLibsFromSource) {\n const { dependencies } = calculateProjectDependencies(\n context.projectGraph,\n context.root,\n context.projectName,\n context.targetName,\n context.configurationName\n );\n // this tsconfig is used via the vite ts paths plugin\n createTmpTsConfig(tsConfig, context.root, projectRoot, dependencies);\n }\n}\n"],"names":["validateTypes","createBuildableTsConfig","opts","result","runTypeCheck","workspaceRoot","tsConfigPath","join","tsconfig","mode","printDiagnostics","errors","warnings","length","Error","projectRoot","options","context","tsConfig","resolve","buildLibsFromSource","dependencies","calculateProjectDependencies","projectGraph","root","projectName","targetName","configurationName","createTmpTsConfig"],"mappings":";;;;;;;;IAUsBA,aAAa;eAAbA;;IAkBNC,uBAAuB;eAAvBA;;;oBA5B+B;sBACjB;oCAOvB;AAEA,eAAeD,cAAcE,IAInC,EAAiB;IAChB,MAAMC,SAAS,MAAMC,IAAAA,gBAAY,EAAC;QAChCC,eAAeH,KAAKG,aAAa;QACjCC,cAAcC,IAAAA,UAAI,EAACL,KAAKG,aAAa,EAAEH,KAAKM,QAAQ;QACpDC,MAAM;IACR;IAEA,MAAMC,IAAAA,oBAAgB,EAACP,OAAOQ,MAAM,EAAER,OAAOS,QAAQ;IAErD,IAAIT,OAAOQ,MAAM,CAACE,MAAM,GAAG,GAAG;QAC5B,MAAM,IAAIC,MAAM,iCAAiC;IACnD,CAAC;AACH;AAEO,SAASb,wBACdc,WAAmB,EACnBC,OAAgE,EAChEC,OAAwB,EACxB;QAEAD;IADA,MAAME,WAAWC,IAAAA,aAAO,EAACJ,aAAa;;IACtCC,yBAAAA,WAAAA,SAAQI,sDAARJ,SAAQI,sBAAwB,IAAI;IAEpC,IAAI,CAACJ,QAAQI,mBAAmB,EAAE;QAChC,MAAM,EAAEC,aAAY,EAAE,GAAGC,IAAAA,gDAA4B,EACnDL,QAAQM,YAAY,EACpBN,QAAQO,IAAI,EACZP,QAAQQ,WAAW,EACnBR,QAAQS,UAAU,EAClBT,QAAQU,iBAAiB;QAE3B,qDAAqD;QACrDC,IAAAA,qCAAiB,EAACV,UAAUD,QAAQO,IAAI,EAAET,aAAaM;IACzD,CAAC;AACH"}
|
|
@@ -452,19 +452,13 @@ function createOrEditViteConfig(tree, options, onlyVitest, projectAlreadyHasVite
|
|
|
452
452
|
plugins: [
|
|
453
453
|
${dtsPlugin}
|
|
454
454
|
${reactPlugin}
|
|
455
|
-
|
|
456
|
-
root: '${(0, _devkit.offsetFromRoot)(projectConfig.root)}',
|
|
457
|
-
}),
|
|
455
|
+
nxViteTsPaths(),
|
|
458
456
|
],
|
|
459
457
|
`;
|
|
460
458
|
const workerOption = `
|
|
461
459
|
// Uncomment this if you are using workers.
|
|
462
460
|
// worker: {
|
|
463
|
-
// plugins: [
|
|
464
|
-
// viteTsConfigPaths({
|
|
465
|
-
// root: '${(0, _devkit.offsetFromRoot)(projectConfig.root)}',
|
|
466
|
-
// }),
|
|
467
|
-
// ],
|
|
461
|
+
// plugins: [ nxViteTsPaths() ],
|
|
468
462
|
// },`;
|
|
469
463
|
const cacheDir = `cacheDir: '${(0, _devkit.offsetFromRoot)(projectConfig.root)}node_modules/.vite/${options.project}',`;
|
|
470
464
|
if (tree.exists(viteConfigPath)) {
|
|
@@ -475,7 +469,7 @@ function createOrEditViteConfig(tree, options, onlyVitest, projectAlreadyHasVite
|
|
|
475
469
|
/// <reference types="vitest" />
|
|
476
470
|
import { defineConfig } from 'vite';
|
|
477
471
|
${reactPluginImportLine}
|
|
478
|
-
import
|
|
472
|
+
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
|
479
473
|
${dtsImportLine}
|
|
480
474
|
|
|
481
475
|
export default defineConfig({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/vite/src/utils/generator-utils.ts"],"sourcesContent":["import {\n joinPathFragments,\n logger,\n offsetFromRoot,\n readJson,\n readProjectConfiguration,\n TargetConfiguration,\n Tree,\n updateProjectConfiguration,\n writeJson,\n} from '@nx/devkit';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport { VitePreviewServerExecutorOptions } from '../executors/preview-server/schema';\nimport { VitestExecutorOptions } from '../executors/test/schema';\nimport { ViteConfigurationGeneratorSchema } from '../generators/configuration/schema';\nimport { ensureViteConfigIsCorrect } from './vite-config-edit-utils';\n\nexport type Target = 'build' | 'serve' | 'test' | 'preview';\nexport type TargetFlags = Partial<Record<Target, boolean>>;\nexport type UserProvidedTargetName = Partial<Record<Target, string>>;\nexport type ValidFoundTargetName = Partial<Record<Target, string>>;\n\nexport function findExistingTargetsInProject(\n targets: {\n [targetName: string]: TargetConfiguration;\n },\n userProvidedTargets?: UserProvidedTargetName\n): {\n validFoundTargetName: ValidFoundTargetName;\n projectContainsUnsupportedExecutor: boolean;\n userProvidedTargetIsUnsupported: TargetFlags;\n alreadyHasNxViteTargets: TargetFlags;\n} {\n const output: ReturnType<typeof findExistingTargetsInProject> = {\n validFoundTargetName: {},\n projectContainsUnsupportedExecutor: false,\n userProvidedTargetIsUnsupported: {},\n alreadyHasNxViteTargets: {},\n };\n\n const supportedExecutors = {\n build: [\n '@nxext/vite:build',\n '@nx/js:babel',\n '@nx/js:swc',\n '@nx/webpack:webpack',\n '@nx/rollup:rollup',\n '@nrwl/js:babel',\n '@nrwl/js:swc',\n '@nrwl/webpack:webpack',\n '@nrwl/rollup:rollup',\n '@nrwl/web:rollup',\n ],\n serve: [\n '@nxext/vite:dev',\n '@nx/webpack:dev-server',\n '@nrwl/webpack:dev-server',\n ],\n test: ['@nx/jest:jest', '@nrwl/jest:jest', '@nxext/vitest:vitest'],\n };\n\n const unsupportedExecutors = [\n '@nx/angular:ng-packagr-lite',\n '@nx/angular:package',\n '@nx/angular:webpack-browser',\n '@nx/esbuild:esbuild',\n '@nx/react-native:run-ios',\n '@nx/react-native:start',\n '@nx/react-native:run-android',\n '@nx/react-native:bundle',\n '@nx/react-native:build-android',\n '@nx/react-native:bundle',\n '@nx/next:build',\n '@nx/next:server',\n '@nx/js:tsc',\n '@nrwl/angular:ng-packagr-lite',\n '@nrwl/angular:package',\n '@nrwl/angular:webpack-browser',\n '@nrwl/esbuild:esbuild',\n '@nrwl/react-native:run-ios',\n '@nrwl/react-native:start',\n '@nrwl/react-native:run-android',\n '@nrwl/react-native:bundle',\n '@nrwl/react-native:build-android',\n '@nrwl/react-native:bundle',\n '@nrwl/next:build',\n '@nrwl/next:server',\n '@nrwl/js:tsc',\n '@angular-devkit/build-angular:browser',\n '@angular-devkit/build-angular:dev-server',\n ];\n\n // First, we check if the user has provided a target\n // If they have, we check if the executor the target is using is supported\n // If it's not supported, then we set the unsupported flag to true for that target\n\n function checkUserProvidedTarget(target: Target) {\n if (userProvidedTargets?.[target]) {\n if (\n supportedExecutors[target].includes(\n targets[userProvidedTargets[target]]?.executor\n )\n ) {\n output.validFoundTargetName[target] = userProvidedTargets[target];\n } else {\n output.userProvidedTargetIsUnsupported[target] = true;\n }\n }\n }\n\n checkUserProvidedTarget('build');\n checkUserProvidedTarget('serve');\n checkUserProvidedTarget('test');\n\n // Returns early when we have a build, serve, and test targets.\n if (\n output.validFoundTargetName.build &&\n output.validFoundTargetName.serve &&\n output.validFoundTargetName.test\n ) {\n return output;\n }\n\n // We try to find the targets that are using the supported executors\n // for build, serve and test, since these are the ones we will be converting\n for (const target in targets) {\n const executorName = targets[target].executor;\n\n const hasViteTargets = output.alreadyHasNxViteTargets;\n hasViteTargets.build ||=\n executorName === '@nx/vite:build' || executorName === '@nrwl/vite:build';\n hasViteTargets.serve ||=\n executorName === '@nx/vite:dev-server' ||\n executorName === '@nrwl/vite:dev-server';\n hasViteTargets.test ||=\n executorName === '@nx/vite:test' || executorName === '@nrwl/vite:test';\n hasViteTargets.preview ||=\n executorName === '@nx/vite:preview-server' ||\n executorName === '@nrwl/vite:preview-server';\n\n const foundTargets = output.validFoundTargetName;\n if (\n !foundTargets.build &&\n supportedExecutors.build.includes(executorName)\n ) {\n foundTargets.build = target;\n }\n if (\n !foundTargets.serve &&\n supportedExecutors.serve.includes(executorName)\n ) {\n foundTargets.serve = target;\n }\n if (!foundTargets.test && supportedExecutors.test.includes(executorName)) {\n foundTargets.test = target;\n }\n\n output.projectContainsUnsupportedExecutor ||=\n unsupportedExecutors.includes(executorName);\n }\n\n return output;\n}\n\nexport function addOrChangeTestTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const coveragePath = joinPathFragments(\n 'coverage',\n project.root === '.' ? options.project : project.root\n );\n const testOptions: VitestExecutorOptions = {\n passWithNoTests: true,\n // vitest runs in the project root so we have to offset to the workspaceRoot\n reportsDirectory: joinPathFragments(\n offsetFromRoot(project.root),\n coveragePath\n ),\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n project.targets[target].executor = '@nx/vite:test';\n delete project.targets[target].options?.jestConfig;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:test',\n outputs: [coveragePath],\n options: testOptions,\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addOrChangeBuildTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n const buildOptions: ViteBuildExecutorOptions = {\n outputPath: joinPathFragments(\n 'dist',\n project.root != '.' ? project.root : options.project\n ),\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n buildOptions.fileReplacements =\n project.targets[target].options?.fileReplacements;\n\n if (project.targets[target].executor === '@nxext/vite:build') {\n buildOptions.base = project.targets[target].options?.baseHref;\n buildOptions.sourcemap = project.targets[target].options?.sourcemaps;\n }\n project.targets[target].options = { ...buildOptions };\n project.targets[target].executor = '@nx/vite:build';\n } else {\n project.targets[target] = {\n executor: '@nx/vite:build',\n outputs: ['{options.outputPath}'],\n defaultConfiguration: 'production',\n options: buildOptions,\n configurations: {\n development: {\n mode: 'development',\n },\n production: {\n mode: 'production',\n },\n },\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addOrChangeServeTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n const serveTarget = project.targets[target];\n const serveOptions: ViteDevServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n https: project.targets[target].options?.https,\n hmr: project.targets[target].options?.hmr,\n open: project.targets[target].options?.open,\n };\n if (serveTarget.executor === '@nxext/vite:dev') {\n serveOptions.proxyConfig = project.targets[target].options.proxyConfig;\n }\n serveTarget.executor = '@nx/vite:dev-server';\n serveTarget.options = serveOptions;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:dev-server',\n defaultConfiguration: 'development',\n options: {\n buildTarget: `${options.project}:build`,\n },\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n hmr: true,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n hmr: false,\n },\n },\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\n/**\n * Adds a target for the preview server.\n *\n * @param tree\n * @param options\n * @param serveTarget An existing serve target.\n * @param previewTarget The preview target to create.\n */\nexport function addPreviewTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n serveTarget: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const previewOptions: VitePreviewServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n };\n\n project.targets ??= {};\n\n // Update the options from the passed serve target.\n if (project.targets[serveTarget]) {\n const target = project.targets[serveTarget];\n if (target.executor === '@nxext/vite:dev') {\n previewOptions.proxyConfig = target.options.proxyConfig;\n }\n previewOptions.https = target.options?.https;\n previewOptions.open = target.options?.open;\n }\n\n // Adds a preview target.\n project.targets.preview = {\n executor: '@nx/vite:preview-server',\n defaultConfiguration: 'development',\n options: previewOptions,\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n },\n },\n };\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function editTsConfig(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const config = readJson(tree, `${projectConfig.root}/tsconfig.json`);\n\n const commonCompilerOptions = {\n target: 'ESNext',\n useDefineForClassFields: true,\n module: 'ESNext',\n strict: true,\n moduleResolution: 'Node',\n resolveJsonModule: true,\n isolatedModules: true,\n types: ['vite/client'],\n noEmit: true,\n };\n\n switch (options.uiFramework) {\n case 'react':\n config.compilerOptions = {\n ...commonCompilerOptions,\n lib: ['DOM', 'DOM.Iterable', 'ESNext'],\n allowJs: false,\n esModuleInterop: false,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n };\n config.include = [...config.include, 'src'];\n break;\n case 'none':\n config.compilerOptions = {\n ...commonCompilerOptions,\n lib: ['ESNext', 'DOM'],\n skipLibCheck: true,\n esModuleInterop: true,\n strict: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n noImplicitReturns: true,\n };\n config.include = [...config.include, 'src'];\n break;\n default:\n break;\n }\n\n writeJson(tree, `${projectConfig.root}/tsconfig.json`, config);\n}\n\nexport function deleteWebpackConfig(\n tree: Tree,\n projectRoot: string,\n webpackConfigFilePath?: string\n) {\n const webpackConfigPath =\n webpackConfigFilePath && tree.exists(webpackConfigFilePath)\n ? webpackConfigFilePath\n : tree.exists(`${projectRoot}/webpack.config.js`)\n ? `${projectRoot}/webpack.config.js`\n : tree.exists(`${projectRoot}/webpack.config.ts`)\n ? `${projectRoot}/webpack.config.ts`\n : null;\n if (webpackConfigPath) {\n tree.delete(webpackConfigPath);\n }\n}\n\nexport function moveAndEditIndexHtml(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n buildTarget: string\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n let indexHtmlPath =\n projectConfig.targets?.[buildTarget]?.options?.index ??\n `${projectConfig.root}/src/index.html`;\n let mainPath =\n projectConfig.targets?.[buildTarget]?.options?.main ??\n `${projectConfig.root}/src/main.ts${\n options.uiFramework === 'react' ? 'x' : ''\n }`;\n\n if (projectConfig.root !== '.') {\n mainPath = mainPath.replace(projectConfig.root, '');\n }\n\n if (\n !tree.exists(indexHtmlPath) &&\n tree.exists(`${projectConfig.root}/index.html`)\n ) {\n indexHtmlPath = `${projectConfig.root}/index.html`;\n }\n\n if (tree.exists(indexHtmlPath)) {\n const indexHtmlContent = tree.read(indexHtmlPath, 'utf8');\n if (\n !indexHtmlContent.includes(\n `<script type=\"module\" src=\"${mainPath}\"></script>`\n )\n ) {\n tree.write(\n `${projectConfig.root}/index.html`,\n indexHtmlContent.replace(\n '</body>',\n `<script type=\"module\" src=\"${mainPath}\"></script>\n </body>`\n )\n );\n\n if (tree.exists(`${projectConfig.root}/src/index.html`)) {\n tree.delete(`${projectConfig.root}/src/index.html`);\n }\n }\n } else {\n tree.write(\n `${projectConfig.root}/index.html`,\n `<!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <link rel=\"icon\" href=\"/favicon.ico\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Vite</title>\n </head>\n <body>\n <div id=\"root\"></div>\n <script type=\"module\" src=\"${mainPath}\"></script>\n </body>\n </html>`\n );\n }\n}\n\nexport function createOrEditViteConfig(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n onlyVitest: boolean,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const viteConfigPath = `${projectConfig.root}/vite.config.ts`;\n\n const buildOption = onlyVitest\n ? ''\n : options.includeLib\n ? `\n // Configuration for building your library.\n // See: https://vitejs.dev/guide/build.html#library-mode\n build: {\n lib: {\n // Could also be a dictionary or array of multiple entry points.\n entry: 'src/index.ts',\n name: '${options.project}',\n fileName: 'index',\n // Change this to the formats you want to support.\n // Don't forget to update your package.json as well.\n formats: ['es', 'cjs']\n },\n rollupOptions: {\n // External packages that should not be bundled into your library.\n external: [${\n options.uiFramework === 'react'\n ? \"'react', 'react-dom', 'react/jsx-runtime'\"\n : ''\n }]\n }\n },`\n : ``;\n\n const dtsPlugin = onlyVitest\n ? ''\n : options.includeLib\n ? `dts({\n entryRoot: 'src',\n tsConfigFilePath: path.join(__dirname, 'tsconfig.lib.json'),\n skipDiagnostics: true,\n }),`\n : '';\n\n const dtsImportLine = onlyVitest\n ? ''\n : options.includeLib\n ? `import dts from 'vite-plugin-dts';\\nimport * as path from 'path';`\n : '';\n\n let viteConfigContent = '';\n\n const testOption = options.includeVitest\n ? `test: {\n globals: true,\n cache: {\n dir: '${offsetFromRoot(projectConfig.root)}node_modules/.vitest'\n },\n environment: '${options.testEnvironment ?? 'jsdom'}',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n ${\n options.inSourceTests\n ? `includeSource: ['src/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']`\n : ''\n }\n },`\n : '';\n\n const defineOption = options.inSourceTests\n ? `define: {\n 'import.meta.vitest': undefined\n },`\n : '';\n\n const reactPluginImportLine =\n options.uiFramework === 'react'\n ? options.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc';`\n : `import react from '@vitejs/plugin-react';`\n : '';\n\n const reactPlugin = options.uiFramework === 'react' ? `react(),` : '';\n\n const devServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n server:{\n port: 4200,\n host: 'localhost',\n },`;\n\n const previewServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n preview:{\n port: 4300,\n host: 'localhost',\n },`;\n\n const pluginOption = `\n plugins: [\n ${dtsPlugin}\n ${reactPlugin}\n viteTsConfigPaths({\n root: '${offsetFromRoot(projectConfig.root)}',\n }),\n ],\n `;\n\n const workerOption = `\n // Uncomment this if you are using workers. \n // worker: {\n // plugins: [\n // viteTsConfigPaths({\n // root: '${offsetFromRoot(projectConfig.root)}',\n // }),\n // ],\n // },`;\n\n const cacheDir = `cacheDir: '${offsetFromRoot(\n projectConfig.root\n )}node_modules/.vite/${options.project}',`;\n\n if (tree.exists(viteConfigPath)) {\n handleViteConfigFileExists(\n tree,\n viteConfigPath,\n options,\n buildOption,\n dtsPlugin,\n dtsImportLine,\n pluginOption,\n testOption,\n cacheDir,\n offsetFromRoot(projectConfig.root),\n projectAlreadyHasViteTargets\n );\n return;\n }\n\n viteConfigContent = `\n /// <reference types=\"vitest\" />\n import { defineConfig } from 'vite';\n ${reactPluginImportLine}\n import viteTsConfigPaths from 'vite-tsconfig-paths';\n ${dtsImportLine}\n \n export default defineConfig({\n ${cacheDir}\n ${devServerOption}\n ${previewServerOption}\n ${pluginOption}\n ${workerOption}\n ${buildOption}\n ${defineOption}\n ${testOption}\n });`;\n\n tree.write(viteConfigPath, viteConfigContent);\n}\n\nexport function normalizeViteConfigFilePathWithTree(\n tree: Tree,\n projectRoot: string,\n configFile?: string\n): string {\n return configFile && tree.exists(configFile)\n ? configFile\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.ts`))\n ? joinPathFragments(`${projectRoot}/vite.config.ts`)\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.js`))\n ? joinPathFragments(`${projectRoot}/vite.config.js`)\n : undefined;\n}\n\nexport function getViteConfigPathForProject(\n tree: Tree,\n projectName: string,\n target?: string\n) {\n let viteConfigPath: string | undefined;\n const { targets, root } = readProjectConfiguration(tree, projectName);\n if (target) {\n viteConfigPath = targets?.[target]?.options?.configFile;\n } else {\n const config = Object.values(targets).find(\n (config) =>\n config.executor === '@nrwl/nx:build' ||\n config.executor === '@nrwl/vite:build'\n );\n viteConfigPath = config?.options?.configFile;\n }\n\n return normalizeViteConfigFilePathWithTree(tree, root, viteConfigPath);\n}\n\nexport async function handleUnsupportedUserProvidedTargets(\n userProvidedTargetIsUnsupported: TargetFlags,\n userProvidedTargetName: UserProvidedTargetName,\n validFoundTargetName: ValidFoundTargetName\n) {\n if (userProvidedTargetIsUnsupported.build && validFoundTargetName.build) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.build,\n validFoundTargetName.build,\n 'build',\n 'build'\n );\n }\n\n if (userProvidedTargetIsUnsupported.serve && validFoundTargetName.serve) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.serve,\n validFoundTargetName.serve,\n 'serve',\n 'dev-server'\n );\n }\n\n if (userProvidedTargetIsUnsupported.test && validFoundTargetName.test) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.test,\n validFoundTargetName.test,\n 'test',\n 'test'\n );\n }\n}\n\nasync function handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName: string,\n validFoundTargetName: string,\n target: Target,\n executor: 'build' | 'dev-server' | 'test'\n) {\n logger.warn(\n `The custom ${target} target you provided (${userProvidedTargetName}) cannot be converted to use the @nx/vite:${executor} executor.\n However, we found the following ${target} target in your project that can be converted: ${validFoundTargetName}\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should we convert the ${validFoundTargetName} target to use the @nx/vite:${executor} executor?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(\n `The ${target} target ${userProvidedTargetName} cannot be converted to use the @nx/vite:${executor} executor.\n Please try again, either by providing a different ${target} target or by not providing a target at all (Nx will\n convert the first one it finds, most probably this one: ${validFoundTargetName})\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n }\n}\n\nexport async function handleUnknownExecutors(projectName: string) {\n logger.warn(\n `\n We could not find any targets in project ${projectName} that use executors which \n can be converted to the @nx/vite executors.\n\n This either means that your project may not have a target \n for building, serving, or testing at all, or that your targets are \n using executors that are not known to Nx.\n \n If you still want to convert your project to use the @nx/vite executors,\n please make sure to commit your changes before running this generator.\n `\n );\n\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should Nx convert your project to use the @nx/vite executors?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(`\n Nx could not verify that the executors you are using can be converted to the @nx/vite executors.\n Please try again with a different project.\n `);\n }\n}\n\nfunction handleViteConfigFileExists(\n tree: Tree,\n viteConfigPath: string,\n options: ViteConfigurationGeneratorSchema,\n buildOption: string,\n dtsPlugin: string,\n dtsImportLine: string,\n pluginOption: string,\n testOption: string,\n cacheDir: string,\n offsetFromRoot: string,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n if (projectAlreadyHasViteTargets.build && projectAlreadyHasViteTargets.test) {\n return;\n }\n\n logger.info(`vite.config.ts already exists for project ${options.project}.`);\n const buildOptionObject = {\n lib: {\n entry: 'src/index.ts',\n name: options.project,\n fileName: 'index',\n formats: ['es', 'cjs'],\n },\n rollupOptions: {\n external:\n options.uiFramework === 'react'\n ? ['react', 'react-dom', 'react/jsx-runtime']\n : [],\n },\n };\n\n const testOptionObject = {\n globals: true,\n cache: {\n dir: `${offsetFromRoot}node_modules/.vitest`,\n },\n environment: 'jsdom',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n };\n\n const changed = ensureViteConfigIsCorrect(\n tree,\n viteConfigPath,\n buildOption,\n buildOptionObject,\n dtsPlugin,\n dtsImportLine,\n pluginOption,\n testOption,\n testOptionObject,\n cacheDir,\n projectAlreadyHasViteTargets\n );\n\n if (!changed) {\n logger.warn(\n `Make sure the following setting exists in your Vite configuration file (${viteConfigPath}):\n \n ${buildOption}\n \n `\n );\n } else {\n logger.info(`\n Vite configuration file (${viteConfigPath}) has been updated with the required settings for the new target(s).\n `);\n }\n}\n"],"names":["findExistingTargetsInProject","addOrChangeTestTarget","addOrChangeBuildTarget","addOrChangeServeTarget","addPreviewTarget","editTsConfig","deleteWebpackConfig","moveAndEditIndexHtml","createOrEditViteConfig","normalizeViteConfigFilePathWithTree","getViteConfigPathForProject","handleUnsupportedUserProvidedTargets","handleUnknownExecutors","targets","userProvidedTargets","output","validFoundTargetName","projectContainsUnsupportedExecutor","userProvidedTargetIsUnsupported","alreadyHasNxViteTargets","supportedExecutors","build","serve","test","unsupportedExecutors","checkUserProvidedTarget","target","includes","executor","hasViteTargets","executorName","preview","foundTargets","tree","options","project","readProjectConfiguration","coveragePath","joinPathFragments","root","testOptions","passWithNoTests","reportsDirectory","offsetFromRoot","jestConfig","outputs","updateProjectConfiguration","buildOptions","outputPath","fileReplacements","base","baseHref","sourcemap","sourcemaps","defaultConfiguration","configurations","development","mode","production","serveTarget","serveOptions","buildTarget","https","hmr","open","proxyConfig","previewOptions","projectConfig","config","readJson","commonCompilerOptions","useDefineForClassFields","module","strict","moduleResolution","resolveJsonModule","isolatedModules","types","noEmit","uiFramework","compilerOptions","lib","allowJs","esModuleInterop","skipLibCheck","allowSyntheticDefaultImports","forceConsistentCasingInFileNames","jsx","include","noUnusedLocals","noUnusedParameters","noImplicitReturns","writeJson","projectRoot","webpackConfigFilePath","webpackConfigPath","exists","delete","indexHtmlPath","index","mainPath","main","replace","indexHtmlContent","read","write","onlyVitest","projectAlreadyHasViteTargets","viteConfigPath","buildOption","includeLib","dtsPlugin","dtsImportLine","viteConfigContent","testOption","includeVitest","testEnvironment","inSourceTests","defineOption","reactPluginImportLine","compiler","reactPlugin","devServerOption","previewServerOption","pluginOption","workerOption","cacheDir","handleViteConfigFileExists","configFile","undefined","projectName","Object","values","find","userProvidedTargetName","handleUnsupportedUserProvidedTargetsErrors","logger","warn","Confirm","require","prompt","name","message","initial","shouldConvert","run","Error","info","buildOptionObject","entry","fileName","formats","rollupOptions","external","testOptionObject","globals","cache","dir","environment","changed","ensureViteConfigIsCorrect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/vite/src/utils/generator-utils.ts"],"sourcesContent":["import {\n joinPathFragments,\n logger,\n offsetFromRoot,\n readJson,\n readProjectConfiguration,\n TargetConfiguration,\n Tree,\n updateProjectConfiguration,\n writeJson,\n} from '@nx/devkit';\nimport { ViteBuildExecutorOptions } from '../executors/build/schema';\nimport { ViteDevServerExecutorOptions } from '../executors/dev-server/schema';\nimport { VitePreviewServerExecutorOptions } from '../executors/preview-server/schema';\nimport { VitestExecutorOptions } from '../executors/test/schema';\nimport { ViteConfigurationGeneratorSchema } from '../generators/configuration/schema';\nimport { ensureViteConfigIsCorrect } from './vite-config-edit-utils';\n\nexport type Target = 'build' | 'serve' | 'test' | 'preview';\nexport type TargetFlags = Partial<Record<Target, boolean>>;\nexport type UserProvidedTargetName = Partial<Record<Target, string>>;\nexport type ValidFoundTargetName = Partial<Record<Target, string>>;\n\nexport function findExistingTargetsInProject(\n targets: {\n [targetName: string]: TargetConfiguration;\n },\n userProvidedTargets?: UserProvidedTargetName\n): {\n validFoundTargetName: ValidFoundTargetName;\n projectContainsUnsupportedExecutor: boolean;\n userProvidedTargetIsUnsupported: TargetFlags;\n alreadyHasNxViteTargets: TargetFlags;\n} {\n const output: ReturnType<typeof findExistingTargetsInProject> = {\n validFoundTargetName: {},\n projectContainsUnsupportedExecutor: false,\n userProvidedTargetIsUnsupported: {},\n alreadyHasNxViteTargets: {},\n };\n\n const supportedExecutors = {\n build: [\n '@nxext/vite:build',\n '@nx/js:babel',\n '@nx/js:swc',\n '@nx/webpack:webpack',\n '@nx/rollup:rollup',\n '@nrwl/js:babel',\n '@nrwl/js:swc',\n '@nrwl/webpack:webpack',\n '@nrwl/rollup:rollup',\n '@nrwl/web:rollup',\n ],\n serve: [\n '@nxext/vite:dev',\n '@nx/webpack:dev-server',\n '@nrwl/webpack:dev-server',\n ],\n test: ['@nx/jest:jest', '@nrwl/jest:jest', '@nxext/vitest:vitest'],\n };\n\n const unsupportedExecutors = [\n '@nx/angular:ng-packagr-lite',\n '@nx/angular:package',\n '@nx/angular:webpack-browser',\n '@nx/esbuild:esbuild',\n '@nx/react-native:run-ios',\n '@nx/react-native:start',\n '@nx/react-native:run-android',\n '@nx/react-native:bundle',\n '@nx/react-native:build-android',\n '@nx/react-native:bundle',\n '@nx/next:build',\n '@nx/next:server',\n '@nx/js:tsc',\n '@nrwl/angular:ng-packagr-lite',\n '@nrwl/angular:package',\n '@nrwl/angular:webpack-browser',\n '@nrwl/esbuild:esbuild',\n '@nrwl/react-native:run-ios',\n '@nrwl/react-native:start',\n '@nrwl/react-native:run-android',\n '@nrwl/react-native:bundle',\n '@nrwl/react-native:build-android',\n '@nrwl/react-native:bundle',\n '@nrwl/next:build',\n '@nrwl/next:server',\n '@nrwl/js:tsc',\n '@angular-devkit/build-angular:browser',\n '@angular-devkit/build-angular:dev-server',\n ];\n\n // First, we check if the user has provided a target\n // If they have, we check if the executor the target is using is supported\n // If it's not supported, then we set the unsupported flag to true for that target\n\n function checkUserProvidedTarget(target: Target) {\n if (userProvidedTargets?.[target]) {\n if (\n supportedExecutors[target].includes(\n targets[userProvidedTargets[target]]?.executor\n )\n ) {\n output.validFoundTargetName[target] = userProvidedTargets[target];\n } else {\n output.userProvidedTargetIsUnsupported[target] = true;\n }\n }\n }\n\n checkUserProvidedTarget('build');\n checkUserProvidedTarget('serve');\n checkUserProvidedTarget('test');\n\n // Returns early when we have a build, serve, and test targets.\n if (\n output.validFoundTargetName.build &&\n output.validFoundTargetName.serve &&\n output.validFoundTargetName.test\n ) {\n return output;\n }\n\n // We try to find the targets that are using the supported executors\n // for build, serve and test, since these are the ones we will be converting\n for (const target in targets) {\n const executorName = targets[target].executor;\n\n const hasViteTargets = output.alreadyHasNxViteTargets;\n hasViteTargets.build ||=\n executorName === '@nx/vite:build' || executorName === '@nrwl/vite:build';\n hasViteTargets.serve ||=\n executorName === '@nx/vite:dev-server' ||\n executorName === '@nrwl/vite:dev-server';\n hasViteTargets.test ||=\n executorName === '@nx/vite:test' || executorName === '@nrwl/vite:test';\n hasViteTargets.preview ||=\n executorName === '@nx/vite:preview-server' ||\n executorName === '@nrwl/vite:preview-server';\n\n const foundTargets = output.validFoundTargetName;\n if (\n !foundTargets.build &&\n supportedExecutors.build.includes(executorName)\n ) {\n foundTargets.build = target;\n }\n if (\n !foundTargets.serve &&\n supportedExecutors.serve.includes(executorName)\n ) {\n foundTargets.serve = target;\n }\n if (!foundTargets.test && supportedExecutors.test.includes(executorName)) {\n foundTargets.test = target;\n }\n\n output.projectContainsUnsupportedExecutor ||=\n unsupportedExecutors.includes(executorName);\n }\n\n return output;\n}\n\nexport function addOrChangeTestTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const coveragePath = joinPathFragments(\n 'coverage',\n project.root === '.' ? options.project : project.root\n );\n const testOptions: VitestExecutorOptions = {\n passWithNoTests: true,\n // vitest runs in the project root so we have to offset to the workspaceRoot\n reportsDirectory: joinPathFragments(\n offsetFromRoot(project.root),\n coveragePath\n ),\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n project.targets[target].executor = '@nx/vite:test';\n delete project.targets[target].options?.jestConfig;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:test',\n outputs: [coveragePath],\n options: testOptions,\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addOrChangeBuildTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n const buildOptions: ViteBuildExecutorOptions = {\n outputPath: joinPathFragments(\n 'dist',\n project.root != '.' ? project.root : options.project\n ),\n };\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n buildOptions.fileReplacements =\n project.targets[target].options?.fileReplacements;\n\n if (project.targets[target].executor === '@nxext/vite:build') {\n buildOptions.base = project.targets[target].options?.baseHref;\n buildOptions.sourcemap = project.targets[target].options?.sourcemaps;\n }\n project.targets[target].options = { ...buildOptions };\n project.targets[target].executor = '@nx/vite:build';\n } else {\n project.targets[target] = {\n executor: '@nx/vite:build',\n outputs: ['{options.outputPath}'],\n defaultConfiguration: 'production',\n options: buildOptions,\n configurations: {\n development: {\n mode: 'development',\n },\n production: {\n mode: 'production',\n },\n },\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function addOrChangeServeTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n target: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n project.targets ??= {};\n\n if (project.targets[target]) {\n const serveTarget = project.targets[target];\n const serveOptions: ViteDevServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n https: project.targets[target].options?.https,\n hmr: project.targets[target].options?.hmr,\n open: project.targets[target].options?.open,\n };\n if (serveTarget.executor === '@nxext/vite:dev') {\n serveOptions.proxyConfig = project.targets[target].options.proxyConfig;\n }\n serveTarget.executor = '@nx/vite:dev-server';\n serveTarget.options = serveOptions;\n } else {\n project.targets[target] = {\n executor: '@nx/vite:dev-server',\n defaultConfiguration: 'development',\n options: {\n buildTarget: `${options.project}:build`,\n },\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n hmr: true,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n hmr: false,\n },\n },\n };\n }\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\n/**\n * Adds a target for the preview server.\n *\n * @param tree\n * @param options\n * @param serveTarget An existing serve target.\n * @param previewTarget The preview target to create.\n */\nexport function addPreviewTarget(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n serveTarget: string\n) {\n const project = readProjectConfiguration(tree, options.project);\n\n const previewOptions: VitePreviewServerExecutorOptions = {\n buildTarget: `${options.project}:build`,\n };\n\n project.targets ??= {};\n\n // Update the options from the passed serve target.\n if (project.targets[serveTarget]) {\n const target = project.targets[serveTarget];\n if (target.executor === '@nxext/vite:dev') {\n previewOptions.proxyConfig = target.options.proxyConfig;\n }\n previewOptions.https = target.options?.https;\n previewOptions.open = target.options?.open;\n }\n\n // Adds a preview target.\n project.targets.preview = {\n executor: '@nx/vite:preview-server',\n defaultConfiguration: 'development',\n options: previewOptions,\n configurations: {\n development: {\n buildTarget: `${options.project}:build:development`,\n },\n production: {\n buildTarget: `${options.project}:build:production`,\n },\n },\n };\n\n updateProjectConfiguration(tree, options.project, project);\n}\n\nexport function editTsConfig(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const config = readJson(tree, `${projectConfig.root}/tsconfig.json`);\n\n const commonCompilerOptions = {\n target: 'ESNext',\n useDefineForClassFields: true,\n module: 'ESNext',\n strict: true,\n moduleResolution: 'Node',\n resolveJsonModule: true,\n isolatedModules: true,\n types: ['vite/client'],\n noEmit: true,\n };\n\n switch (options.uiFramework) {\n case 'react':\n config.compilerOptions = {\n ...commonCompilerOptions,\n lib: ['DOM', 'DOM.Iterable', 'ESNext'],\n allowJs: false,\n esModuleInterop: false,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n };\n config.include = [...config.include, 'src'];\n break;\n case 'none':\n config.compilerOptions = {\n ...commonCompilerOptions,\n lib: ['ESNext', 'DOM'],\n skipLibCheck: true,\n esModuleInterop: true,\n strict: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n noImplicitReturns: true,\n };\n config.include = [...config.include, 'src'];\n break;\n default:\n break;\n }\n\n writeJson(tree, `${projectConfig.root}/tsconfig.json`, config);\n}\n\nexport function deleteWebpackConfig(\n tree: Tree,\n projectRoot: string,\n webpackConfigFilePath?: string\n) {\n const webpackConfigPath =\n webpackConfigFilePath && tree.exists(webpackConfigFilePath)\n ? webpackConfigFilePath\n : tree.exists(`${projectRoot}/webpack.config.js`)\n ? `${projectRoot}/webpack.config.js`\n : tree.exists(`${projectRoot}/webpack.config.ts`)\n ? `${projectRoot}/webpack.config.ts`\n : null;\n if (webpackConfigPath) {\n tree.delete(webpackConfigPath);\n }\n}\n\nexport function moveAndEditIndexHtml(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n buildTarget: string\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n let indexHtmlPath =\n projectConfig.targets?.[buildTarget]?.options?.index ??\n `${projectConfig.root}/src/index.html`;\n let mainPath =\n projectConfig.targets?.[buildTarget]?.options?.main ??\n `${projectConfig.root}/src/main.ts${\n options.uiFramework === 'react' ? 'x' : ''\n }`;\n\n if (projectConfig.root !== '.') {\n mainPath = mainPath.replace(projectConfig.root, '');\n }\n\n if (\n !tree.exists(indexHtmlPath) &&\n tree.exists(`${projectConfig.root}/index.html`)\n ) {\n indexHtmlPath = `${projectConfig.root}/index.html`;\n }\n\n if (tree.exists(indexHtmlPath)) {\n const indexHtmlContent = tree.read(indexHtmlPath, 'utf8');\n if (\n !indexHtmlContent.includes(\n `<script type=\"module\" src=\"${mainPath}\"></script>`\n )\n ) {\n tree.write(\n `${projectConfig.root}/index.html`,\n indexHtmlContent.replace(\n '</body>',\n `<script type=\"module\" src=\"${mainPath}\"></script>\n </body>`\n )\n );\n\n if (tree.exists(`${projectConfig.root}/src/index.html`)) {\n tree.delete(`${projectConfig.root}/src/index.html`);\n }\n }\n } else {\n tree.write(\n `${projectConfig.root}/index.html`,\n `<!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <link rel=\"icon\" href=\"/favicon.ico\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Vite</title>\n </head>\n <body>\n <div id=\"root\"></div>\n <script type=\"module\" src=\"${mainPath}\"></script>\n </body>\n </html>`\n );\n }\n}\n\nexport function createOrEditViteConfig(\n tree: Tree,\n options: ViteConfigurationGeneratorSchema,\n onlyVitest: boolean,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n const projectConfig = readProjectConfiguration(tree, options.project);\n\n const viteConfigPath = `${projectConfig.root}/vite.config.ts`;\n\n const buildOption = onlyVitest\n ? ''\n : options.includeLib\n ? `\n // Configuration for building your library.\n // See: https://vitejs.dev/guide/build.html#library-mode\n build: {\n lib: {\n // Could also be a dictionary or array of multiple entry points.\n entry: 'src/index.ts',\n name: '${options.project}',\n fileName: 'index',\n // Change this to the formats you want to support.\n // Don't forget to update your package.json as well.\n formats: ['es', 'cjs']\n },\n rollupOptions: {\n // External packages that should not be bundled into your library.\n external: [${\n options.uiFramework === 'react'\n ? \"'react', 'react-dom', 'react/jsx-runtime'\"\n : ''\n }]\n }\n },`\n : ``;\n\n const dtsPlugin = onlyVitest\n ? ''\n : options.includeLib\n ? `dts({\n entryRoot: 'src',\n tsConfigFilePath: path.join(__dirname, 'tsconfig.lib.json'),\n skipDiagnostics: true,\n }),`\n : '';\n\n const dtsImportLine = onlyVitest\n ? ''\n : options.includeLib\n ? `import dts from 'vite-plugin-dts';\\nimport * as path from 'path';`\n : '';\n\n let viteConfigContent = '';\n\n const testOption = options.includeVitest\n ? `test: {\n globals: true,\n cache: {\n dir: '${offsetFromRoot(projectConfig.root)}node_modules/.vitest'\n },\n environment: '${options.testEnvironment ?? 'jsdom'}',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n ${\n options.inSourceTests\n ? `includeSource: ['src/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}']`\n : ''\n }\n },`\n : '';\n\n const defineOption = options.inSourceTests\n ? `define: {\n 'import.meta.vitest': undefined\n },`\n : '';\n\n const reactPluginImportLine =\n options.uiFramework === 'react'\n ? options.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc';`\n : `import react from '@vitejs/plugin-react';`\n : '';\n\n const reactPlugin = options.uiFramework === 'react' ? `react(),` : '';\n\n const devServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n server:{\n port: 4200,\n host: 'localhost',\n },`;\n\n const previewServerOption = onlyVitest\n ? ''\n : options.includeLib\n ? ''\n : `\n preview:{\n port: 4300,\n host: 'localhost',\n },`;\n\n const pluginOption = `\n plugins: [\n ${dtsPlugin}\n ${reactPlugin}\n nxViteTsPaths(),\n ],\n `;\n\n const workerOption = `\n // Uncomment this if you are using workers. \n // worker: {\n // plugins: [ nxViteTsPaths() ],\n // },`;\n\n const cacheDir = `cacheDir: '${offsetFromRoot(\n projectConfig.root\n )}node_modules/.vite/${options.project}',`;\n\n if (tree.exists(viteConfigPath)) {\n handleViteConfigFileExists(\n tree,\n viteConfigPath,\n options,\n buildOption,\n dtsPlugin,\n dtsImportLine,\n pluginOption,\n testOption,\n cacheDir,\n offsetFromRoot(projectConfig.root),\n projectAlreadyHasViteTargets\n );\n return;\n }\n\n viteConfigContent = `\n /// <reference types=\"vitest\" />\n import { defineConfig } from 'vite';\n ${reactPluginImportLine}\n import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';\n ${dtsImportLine}\n \n export default defineConfig({\n ${cacheDir}\n ${devServerOption}\n ${previewServerOption}\n ${pluginOption}\n ${workerOption}\n ${buildOption}\n ${defineOption}\n ${testOption}\n });`;\n\n tree.write(viteConfigPath, viteConfigContent);\n}\n\nexport function normalizeViteConfigFilePathWithTree(\n tree: Tree,\n projectRoot: string,\n configFile?: string\n): string {\n return configFile && tree.exists(configFile)\n ? configFile\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.ts`))\n ? joinPathFragments(`${projectRoot}/vite.config.ts`)\n : tree.exists(joinPathFragments(`${projectRoot}/vite.config.js`))\n ? joinPathFragments(`${projectRoot}/vite.config.js`)\n : undefined;\n}\n\nexport function getViteConfigPathForProject(\n tree: Tree,\n projectName: string,\n target?: string\n) {\n let viteConfigPath: string | undefined;\n const { targets, root } = readProjectConfiguration(tree, projectName);\n if (target) {\n viteConfigPath = targets?.[target]?.options?.configFile;\n } else {\n const config = Object.values(targets).find(\n (config) =>\n config.executor === '@nrwl/nx:build' ||\n config.executor === '@nrwl/vite:build'\n );\n viteConfigPath = config?.options?.configFile;\n }\n\n return normalizeViteConfigFilePathWithTree(tree, root, viteConfigPath);\n}\n\nexport async function handleUnsupportedUserProvidedTargets(\n userProvidedTargetIsUnsupported: TargetFlags,\n userProvidedTargetName: UserProvidedTargetName,\n validFoundTargetName: ValidFoundTargetName\n) {\n if (userProvidedTargetIsUnsupported.build && validFoundTargetName.build) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.build,\n validFoundTargetName.build,\n 'build',\n 'build'\n );\n }\n\n if (userProvidedTargetIsUnsupported.serve && validFoundTargetName.serve) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.serve,\n validFoundTargetName.serve,\n 'serve',\n 'dev-server'\n );\n }\n\n if (userProvidedTargetIsUnsupported.test && validFoundTargetName.test) {\n await handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName.test,\n validFoundTargetName.test,\n 'test',\n 'test'\n );\n }\n}\n\nasync function handleUnsupportedUserProvidedTargetsErrors(\n userProvidedTargetName: string,\n validFoundTargetName: string,\n target: Target,\n executor: 'build' | 'dev-server' | 'test'\n) {\n logger.warn(\n `The custom ${target} target you provided (${userProvidedTargetName}) cannot be converted to use the @nx/vite:${executor} executor.\n However, we found the following ${target} target in your project that can be converted: ${validFoundTargetName}\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should we convert the ${validFoundTargetName} target to use the @nx/vite:${executor} executor?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(\n `The ${target} target ${userProvidedTargetName} cannot be converted to use the @nx/vite:${executor} executor.\n Please try again, either by providing a different ${target} target or by not providing a target at all (Nx will\n convert the first one it finds, most probably this one: ${validFoundTargetName})\n\n Please note that converting a potentially non-compatible project to use Vite.js may result in unexpected behavior. Always commit\n your changes before converting a project to use Vite.js, and test the converted project thoroughly before deploying it.\n `\n );\n }\n}\n\nexport async function handleUnknownExecutors(projectName: string) {\n logger.warn(\n `\n We could not find any targets in project ${projectName} that use executors which \n can be converted to the @nx/vite executors.\n\n This either means that your project may not have a target \n for building, serving, or testing at all, or that your targets are \n using executors that are not known to Nx.\n \n If you still want to convert your project to use the @nx/vite executors,\n please make sure to commit your changes before running this generator.\n `\n );\n\n const { Confirm } = require('enquirer');\n const prompt = new Confirm({\n name: 'question',\n message: `Should Nx convert your project to use the @nx/vite executors?`,\n initial: true,\n });\n const shouldConvert = await prompt.run();\n if (!shouldConvert) {\n throw new Error(`\n Nx could not verify that the executors you are using can be converted to the @nx/vite executors.\n Please try again with a different project.\n `);\n }\n}\n\nfunction handleViteConfigFileExists(\n tree: Tree,\n viteConfigPath: string,\n options: ViteConfigurationGeneratorSchema,\n buildOption: string,\n dtsPlugin: string,\n dtsImportLine: string,\n pluginOption: string,\n testOption: string,\n cacheDir: string,\n offsetFromRoot: string,\n projectAlreadyHasViteTargets?: TargetFlags\n) {\n if (projectAlreadyHasViteTargets.build && projectAlreadyHasViteTargets.test) {\n return;\n }\n\n logger.info(`vite.config.ts already exists for project ${options.project}.`);\n const buildOptionObject = {\n lib: {\n entry: 'src/index.ts',\n name: options.project,\n fileName: 'index',\n formats: ['es', 'cjs'],\n },\n rollupOptions: {\n external:\n options.uiFramework === 'react'\n ? ['react', 'react-dom', 'react/jsx-runtime']\n : [],\n },\n };\n\n const testOptionObject = {\n globals: true,\n cache: {\n dir: `${offsetFromRoot}node_modules/.vitest`,\n },\n environment: 'jsdom',\n include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],\n };\n\n const changed = ensureViteConfigIsCorrect(\n tree,\n viteConfigPath,\n buildOption,\n buildOptionObject,\n dtsPlugin,\n dtsImportLine,\n pluginOption,\n testOption,\n testOptionObject,\n cacheDir,\n projectAlreadyHasViteTargets\n );\n\n if (!changed) {\n logger.warn(\n `Make sure the following setting exists in your Vite configuration file (${viteConfigPath}):\n \n ${buildOption}\n \n `\n );\n } else {\n logger.info(`\n Vite configuration file (${viteConfigPath}) has been updated with the required settings for the new target(s).\n `);\n }\n}\n"],"names":["findExistingTargetsInProject","addOrChangeTestTarget","addOrChangeBuildTarget","addOrChangeServeTarget","addPreviewTarget","editTsConfig","deleteWebpackConfig","moveAndEditIndexHtml","createOrEditViteConfig","normalizeViteConfigFilePathWithTree","getViteConfigPathForProject","handleUnsupportedUserProvidedTargets","handleUnknownExecutors","targets","userProvidedTargets","output","validFoundTargetName","projectContainsUnsupportedExecutor","userProvidedTargetIsUnsupported","alreadyHasNxViteTargets","supportedExecutors","build","serve","test","unsupportedExecutors","checkUserProvidedTarget","target","includes","executor","hasViteTargets","executorName","preview","foundTargets","tree","options","project","readProjectConfiguration","coveragePath","joinPathFragments","root","testOptions","passWithNoTests","reportsDirectory","offsetFromRoot","jestConfig","outputs","updateProjectConfiguration","buildOptions","outputPath","fileReplacements","base","baseHref","sourcemap","sourcemaps","defaultConfiguration","configurations","development","mode","production","serveTarget","serveOptions","buildTarget","https","hmr","open","proxyConfig","previewOptions","projectConfig","config","readJson","commonCompilerOptions","useDefineForClassFields","module","strict","moduleResolution","resolveJsonModule","isolatedModules","types","noEmit","uiFramework","compilerOptions","lib","allowJs","esModuleInterop","skipLibCheck","allowSyntheticDefaultImports","forceConsistentCasingInFileNames","jsx","include","noUnusedLocals","noUnusedParameters","noImplicitReturns","writeJson","projectRoot","webpackConfigFilePath","webpackConfigPath","exists","delete","indexHtmlPath","index","mainPath","main","replace","indexHtmlContent","read","write","onlyVitest","projectAlreadyHasViteTargets","viteConfigPath","buildOption","includeLib","dtsPlugin","dtsImportLine","viteConfigContent","testOption","includeVitest","testEnvironment","inSourceTests","defineOption","reactPluginImportLine","compiler","reactPlugin","devServerOption","previewServerOption","pluginOption","workerOption","cacheDir","handleViteConfigFileExists","configFile","undefined","projectName","Object","values","find","userProvidedTargetName","handleUnsupportedUserProvidedTargetsErrors","logger","warn","Confirm","require","prompt","name","message","initial","shouldConvert","run","Error","info","buildOptionObject","entry","fileName","formats","rollupOptions","external","testOptionObject","globals","cache","dir","environment","changed","ensureViteConfigIsCorrect"],"mappings":"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"}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export declare const vitestVersion = "~0.32.0";
|
|
|
4
4
|
export declare const vitestUiVersion = "~0.32.0";
|
|
5
5
|
export declare const vitePluginReactVersion = "~4.0.0";
|
|
6
6
|
export declare const vitePluginReactSwcVersion = "~3.3.2";
|
|
7
|
-
export declare const viteTsConfigPathsVersion = "~4.2.0";
|
|
8
7
|
export declare const jsdomVersion = "~22.1.0";
|
|
9
8
|
export declare const vitePluginDtsVersion = "~2.3.0";
|
|
10
9
|
export declare const happyDomVersion = "~9.20.3";
|
package/src/utils/versions.js
CHANGED
|
@@ -24,9 +24,6 @@ _export(exports, {
|
|
|
24
24
|
vitePluginReactSwcVersion: function() {
|
|
25
25
|
return vitePluginReactSwcVersion;
|
|
26
26
|
},
|
|
27
|
-
viteTsConfigPathsVersion: function() {
|
|
28
|
-
return viteTsConfigPathsVersion;
|
|
29
|
-
},
|
|
30
27
|
jsdomVersion: function() {
|
|
31
28
|
return jsdomVersion;
|
|
32
29
|
},
|
|
@@ -52,7 +49,6 @@ const vitestVersion = '~0.32.0';
|
|
|
52
49
|
const vitestUiVersion = '~0.32.0';
|
|
53
50
|
const vitePluginReactVersion = '~4.0.0';
|
|
54
51
|
const vitePluginReactSwcVersion = '~3.3.2';
|
|
55
|
-
const viteTsConfigPathsVersion = '~4.2.0';
|
|
56
52
|
const jsdomVersion = '~22.1.0';
|
|
57
53
|
const vitePluginDtsVersion = '~2.3.0';
|
|
58
54
|
const happyDomVersion = '~9.20.3';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../packages/vite/src/utils/versions.ts"],"sourcesContent":["export const nxVersion = require('../../package.json').version;\nexport const viteVersion = '~4.3.9';\nexport const vitestVersion = '~0.32.0';\nexport const vitestUiVersion = '~0.32.0';\nexport const vitePluginReactVersion = '~4.0.0';\nexport const vitePluginReactSwcVersion = '~3.3.2';\nexport const
|
|
1
|
+
{"version":3,"sources":["../../../../../packages/vite/src/utils/versions.ts"],"sourcesContent":["export const nxVersion = require('../../package.json').version;\nexport const viteVersion = '~4.3.9';\nexport const vitestVersion = '~0.32.0';\nexport const vitestUiVersion = '~0.32.0';\nexport const vitePluginReactVersion = '~4.0.0';\nexport const vitePluginReactSwcVersion = '~3.3.2';\nexport const jsdomVersion = '~22.1.0';\nexport const vitePluginDtsVersion = '~2.3.0';\nexport const happyDomVersion = '~9.20.3';\nexport const edgeRuntimeVmVersion = '~3.0.2';\n\n// Coverage providers\nexport const vitestCoverageC8Version = '~0.32.0';\nexport const vitestCoverageIstanbulVersion = '~0.32.0';\n"],"names":["nxVersion","viteVersion","vitestVersion","vitestUiVersion","vitePluginReactVersion","vitePluginReactSwcVersion","jsdomVersion","vitePluginDtsVersion","happyDomVersion","edgeRuntimeVmVersion","vitestCoverageC8Version","vitestCoverageIstanbulVersion","require","version"],"mappings":";;;;;;;;IAAaA,SAAS;eAATA;;IACAC,WAAW;eAAXA;;IACAC,aAAa;eAAbA;;IACAC,eAAe;eAAfA;;IACAC,sBAAsB;eAAtBA;;IACAC,yBAAyB;eAAzBA;;IACAC,YAAY;eAAZA;;IACAC,oBAAoB;eAApBA;;IACAC,eAAe;eAAfA;;IACAC,oBAAoB;eAApBA;;IAGAC,uBAAuB;eAAvBA;;IACAC,6BAA6B;eAA7BA;;;AAbN,MAAMX,YAAYY,QAAQ,sBAAsBC,OAAO;AACvD,MAAMZ,cAAc;AACpB,MAAMC,gBAAgB;AACtB,MAAMC,kBAAkB;AACxB,MAAMC,yBAAyB;AAC/B,MAAMC,4BAA4B;AAClC,MAAMC,eAAe;AACrB,MAAMC,uBAAuB;AAC7B,MAAMC,kBAAkB;AACxB,MAAMC,uBAAuB;AAG7B,MAAMC,0BAA0B;AAChC,MAAMC,gCAAgC"}
|