@nx/vite 20.3.2 → 20.4.0-beta.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/vite",
3
- "version": "20.3.2",
3
+ "version": "20.4.0-beta.1",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for building and testing applications using Vite",
6
6
  "repository": {
@@ -30,11 +30,11 @@
30
30
  "migrations": "./migrations.json"
31
31
  },
32
32
  "dependencies": {
33
- "@nx/devkit": "20.3.2",
33
+ "@nx/devkit": "20.4.0-beta.1",
34
34
  "@phenomnomnominal/tsquery": "~5.0.1",
35
35
  "@swc/helpers": "~0.5.0",
36
36
  "enquirer": "~2.3.6",
37
- "@nx/js": "20.3.2",
37
+ "@nx/js": "20.4.0-beta.1",
38
38
  "tsconfig-paths": "^4.1.2",
39
39
  "minimatch": "9.0.3"
40
40
  },
@@ -79,6 +79,11 @@ async function initGeneratorInternal(tree, schema) {
79
79
  'vite:serve',
80
80
  'vite-serve'
81
81
  ],
82
+ devTargetName: [
83
+ 'dev',
84
+ 'vite:dev',
85
+ 'vite-dev'
86
+ ],
82
87
  previewTargetName: [
83
88
  'preview',
84
89
  'vite:preview',
@@ -93,6 +98,16 @@ async function initGeneratorInternal(tree, schema) {
93
98
  'typecheck',
94
99
  'vite:typecheck',
95
100
  'vite-typecheck'
101
+ ],
102
+ buildDepsTargetName: [
103
+ 'build-deps',
104
+ 'vite:build-deps',
105
+ 'vite-build-deps'
106
+ ],
107
+ watchDepsTargetName: [
108
+ 'watch-deps',
109
+ 'vite:watch-deps',
110
+ 'vite-watch-deps'
96
111
  ]
97
112
  }, schema.updatePackageScripts);
98
113
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n GeneratorCallback,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { addPlugin } from '@nx/devkit/src/utils/add-plugin';\n\nimport { setupPathsPlugin } from '../setup-paths-plugin/setup-paths-plugin';\nimport { createNodesV2 } from '../../plugins/plugin';\nimport { InitGeneratorSchema } from './schema';\nimport { checkDependenciesInstalled, moveToDevDependencies } from './lib/utils';\nimport { addViteTempFilesToGitIgnore } from '../../utils/add-vite-temp-files-to-gitignore';\n\nexport function updateNxJsonSettings(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 '!{projectRoot}/src/test-setup.[jt]s'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults['@nx/vite:test'] ??= {};\n nxJson.targetDefaults['@nx/vite:test'].cache ??= true;\n nxJson.targetDefaults['@nx/vite:test'].inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n }\n\n updateNxJson(tree, nxJson);\n}\n\nexport function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n return initGeneratorInternal(tree, { addPlugin: false, ...schema });\n}\n\nexport async function initGeneratorInternal(\n tree: Tree,\n schema: InitGeneratorSchema\n) {\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n if (schema.addPlugin) {\n await addPlugin(\n tree,\n await createProjectGraphAsync(),\n '@nx/vite/plugin',\n createNodesV2,\n {\n buildTargetName: ['build', 'vite:build', 'vite-build'],\n testTargetName: ['test', 'vite:test', 'vite-test'],\n serveTargetName: ['serve', 'vite:serve', 'vite-serve'],\n previewTargetName: ['preview', 'vite:preview', 'vite-preview'],\n serveStaticTargetName: [\n 'serve-static',\n 'vite:serve-static',\n 'vite-serve-static',\n ],\n typecheckTargetName: ['typecheck', 'vite:typecheck', 'vite-typecheck'],\n },\n schema.updatePackageScripts\n );\n }\n\n updateNxJsonSettings(tree);\n addViteTempFilesToGitIgnore(tree);\n\n if (schema.setupPathsPlugin) {\n await setupPathsPlugin(tree, { skipFormat: true });\n }\n\n const tasks: GeneratorCallback[] = [];\n if (!schema.skipPackageJson) {\n tasks.push(moveToDevDependencies(tree));\n tasks.push(checkDependenciesInstalled(tree, schema));\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["initGenerator","initGeneratorInternal","updateNxJsonSettings","tree","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","hasPlugin","plugins","some","p","plugin","targetDefaults","cache","inputs","updateNxJson","schema","addPlugin","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","createProjectGraphAsync","createNodesV2","buildTargetName","testTargetName","serveTargetName","previewTargetName","serveStaticTargetName","typecheckTargetName","updatePackageScripts","addViteTempFilesToGitIgnore","setupPathsPlugin","skipFormat","tasks","skipPackageJson","moveToDevDependencies","checkDependenciesInstalled","formatFiles","runTasksInSerial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;IA0GA,OAA6B;eAA7B;;IAxDgBA,aAAa;eAAbA;;IAIMC,qBAAqB;eAArBA;;IArCNC,oBAAoB;eAApBA;;;;wBATT;2BACmB;kCAEO;wBACH;uBAEoC;6CACtB;AAErC,SAASA,qBAAqBC,IAAU;QAGnBC,qBAWRA;IAblB,MAAMA,SAASC,IAAAA,kBAAU,EAACF;IAE1B,MAAMG,qBAAoBF,sBAAAA,OAAOG,WAAW,qBAAlBH,oBAAoBI,UAAU;IACxD,IAAIF,mBAAmB;QACrBA,kBAAkBG,IAAI,CACpB,yDACA,qCACA;QAGFL,OAAOG,WAAW,CAACC,UAAU,GAAGE,MAAMC,IAAI,CAAC,IAAIC,IAAIN;IACrD;IAEA,MAAMO,aAAYT,kBAAAA,OAAOU,OAAO,qBAAdV,gBAAgBW,IAAI,CAAC,CAACC,IACtC,OAAOA,MAAM,WACTA,MAAM,oBACNA,EAAEC,MAAM,KAAK;IAGnB,IAAI,CAACJ,WAAW;YACdT,SACAA,wBAAsB,aACtBA,mCACAA;;QAHAA,oBAAAA,UAAAA,QAAOc,4CAAPd,QAAOc,iBAAmB,CAAC;;QAC3Bd,MAAAA,yBAAAA,OAAOc,cAAc,CAAA,CAAC,cAAA,gBAAgB,gBAAtCd,sBAAqB,CAAC,YAAgB,GAAK,CAAC;;QAC5CA,WAAAA,oCAAAA,OAAOc,cAAc,CAAC,gBAAgB,EAACC,0BAAvCf,kCAAuCe,QAAU;;QACjDf,YAAAA,qCAAAA,OAAOc,cAAc,CAAC,gBAAgB,EAACE,4BAAvChB,mCAAuCgB,SAAW;YAChD;YACAd,oBAAoB,gBAAgB;SACrC;IACH;IAEAe,IAAAA,oBAAY,EAAClB,MAAMC;AACrB;AAEO,SAASJ,cAAcG,IAAU,EAAEmB,MAA2B;IACnE,OAAOrB,sBAAsBE,MAAM;QAAEoB,WAAW;OAAUD;AAC5D;AAEO,eAAerB,sBACpBE,IAAU,EACVmB,MAA2B;QAM3BA;IAJA,MAAMlB,SAASC,IAAAA,kBAAU,EAACF;IAC1B,MAAMqB,mBACJC,QAAQC,GAAG,CAACC,cAAc,KAAK,WAC/BvB,OAAOwB,mBAAmB,KAAK;;IACjCN,eAAAA,UAAAA,QAAOC,kCAAPD,QAAOC,YAAcC;IAErB,IAAIF,OAAOC,SAAS,EAAE;QACpB,MAAMA,IAAAA,oBAAS,EACbpB,MACA,MAAM0B,IAAAA,+BAAuB,KAC7B,mBACAC,qBAAa,EACb;YACEC,iBAAiB;gBAAC;gBAAS;gBAAc;aAAa;YACtDC,gBAAgB;gBAAC;gBAAQ;gBAAa;aAAY;YAClDC,iBAAiB;gBAAC;gBAAS;gBAAc;aAAa;YACtDC,mBAAmB;gBAAC;gBAAW;gBAAgB;aAAe;YAC9DC,uBAAuB;gBACrB;gBACA;gBACA;aACD;YACDC,qBAAqB;gBAAC;gBAAa;gBAAkB;aAAiB;QACxE,GACAd,OAAOe,oBAAoB;IAE/B;IAEAnC,qBAAqBC;IACrBmC,IAAAA,wDAA2B,EAACnC;IAE5B,IAAImB,OAAOiB,gBAAgB,EAAE;QAC3B,MAAMA,IAAAA,kCAAgB,EAACpC,MAAM;YAAEqC,YAAY;QAAK;IAClD;IAEA,MAAMC,QAA6B,EAAE;IACrC,IAAI,CAACnB,OAAOoB,eAAe,EAAE;QAC3BD,MAAMhC,IAAI,CAACkC,IAAAA,4BAAqB,EAACxC;QACjCsC,MAAMhC,IAAI,CAACmC,IAAAA,iCAA0B,EAACzC,MAAMmB;IAC9C;IAEA,IAAI,CAACA,OAAOkB,UAAU,EAAE;QACtB,MAAMK,IAAAA,mBAAW,EAAC1C;IACpB;IAEA,OAAO2C,IAAAA,wBAAgB,KAAIL;AAC7B;MAEA,WAAezC"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n createProjectGraphAsync,\n formatFiles,\n GeneratorCallback,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateNxJson,\n} from '@nx/devkit';\nimport { addPlugin } from '@nx/devkit/src/utils/add-plugin';\n\nimport { setupPathsPlugin } from '../setup-paths-plugin/setup-paths-plugin';\nimport { createNodesV2 } from '../../plugins/plugin';\nimport { InitGeneratorSchema } from './schema';\nimport { checkDependenciesInstalled, moveToDevDependencies } from './lib/utils';\nimport { addViteTempFilesToGitIgnore } from '../../utils/add-vite-temp-files-to-gitignore';\n\nexport function updateNxJsonSettings(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 '!{projectRoot}/src/test-setup.[jt]s'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n const hasPlugin = nxJson.plugins?.some((p) =>\n typeof p === 'string'\n ? p === '@nx/vite/plugin'\n : p.plugin === '@nx/vite/plugin'\n );\n\n if (!hasPlugin) {\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults['@nx/vite:test'] ??= {};\n nxJson.targetDefaults['@nx/vite:test'].cache ??= true;\n nxJson.targetDefaults['@nx/vite:test'].inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n }\n\n updateNxJson(tree, nxJson);\n}\n\nexport function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n return initGeneratorInternal(tree, { addPlugin: false, ...schema });\n}\n\nexport async function initGeneratorInternal(\n tree: Tree,\n schema: InitGeneratorSchema\n) {\n const nxJson = readNxJson(tree);\n const addPluginDefault =\n process.env.NX_ADD_PLUGINS !== 'false' &&\n nxJson.useInferencePlugins !== false;\n schema.addPlugin ??= addPluginDefault;\n\n if (schema.addPlugin) {\n await addPlugin(\n tree,\n await createProjectGraphAsync(),\n '@nx/vite/plugin',\n createNodesV2,\n {\n buildTargetName: ['build', 'vite:build', 'vite-build'],\n testTargetName: ['test', 'vite:test', 'vite-test'],\n serveTargetName: ['serve', 'vite:serve', 'vite-serve'],\n devTargetName: ['dev', 'vite:dev', 'vite-dev'],\n previewTargetName: ['preview', 'vite:preview', 'vite-preview'],\n serveStaticTargetName: [\n 'serve-static',\n 'vite:serve-static',\n 'vite-serve-static',\n ],\n typecheckTargetName: ['typecheck', 'vite:typecheck', 'vite-typecheck'],\n buildDepsTargetName: [\n 'build-deps',\n 'vite:build-deps',\n 'vite-build-deps',\n ],\n watchDepsTargetName: [\n 'watch-deps',\n 'vite:watch-deps',\n 'vite-watch-deps',\n ],\n },\n schema.updatePackageScripts\n );\n }\n\n updateNxJsonSettings(tree);\n addViteTempFilesToGitIgnore(tree);\n\n if (schema.setupPathsPlugin) {\n await setupPathsPlugin(tree, { skipFormat: true });\n }\n\n const tasks: GeneratorCallback[] = [];\n if (!schema.skipPackageJson) {\n tasks.push(moveToDevDependencies(tree));\n tasks.push(checkDependenciesInstalled(tree, schema));\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\n"],"names":["initGenerator","initGeneratorInternal","updateNxJsonSettings","tree","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","hasPlugin","plugins","some","p","plugin","targetDefaults","cache","inputs","updateNxJson","schema","addPlugin","addPluginDefault","process","env","NX_ADD_PLUGINS","useInferencePlugins","createProjectGraphAsync","createNodesV2","buildTargetName","testTargetName","serveTargetName","devTargetName","previewTargetName","serveStaticTargetName","typecheckTargetName","buildDepsTargetName","watchDepsTargetName","updatePackageScripts","addViteTempFilesToGitIgnore","setupPathsPlugin","skipFormat","tasks","skipPackageJson","moveToDevDependencies","checkDependenciesInstalled","formatFiles","runTasksInSerial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -2,10 +2,16 @@ import { CreateDependencies, CreateNodes, CreateNodesV2 } from '@nx/devkit';
2
2
  export interface VitePluginOptions {
3
3
  buildTargetName?: string;
4
4
  testTargetName?: string;
5
+ /**
6
+ * @deprecated Use devTargetName instead. This option will be removed in Nx 22.
7
+ */
5
8
  serveTargetName?: string;
9
+ devTargetName?: string;
6
10
  previewTargetName?: string;
7
11
  serveStaticTargetName?: string;
8
12
  typecheckTargetName?: string;
13
+ watchDepsTargetName?: string;
14
+ buildDepsTargetName?: string;
9
15
  }
10
16
  /**
11
17
  * @deprecated The 'createDependencies' function is now a no-op. This functionality is included in 'createNodesV2'.
@@ -16,6 +16,7 @@ _export(exports, {
16
16
  return createNodesV2;
17
17
  }
18
18
  });
19
+ const _extends = require("@swc/helpers/_/_extends");
19
20
  const _object_without_properties_loose = require("@swc/helpers/_/_object_without_properties_loose");
20
21
  const _devkit = require("@nx/devkit");
21
22
  const _path = require("path");
@@ -28,6 +29,7 @@ const _executorutils = require("../utils/executor-utils");
28
29
  const _filehasher = require("nx/src/hasher/file-hasher");
29
30
  const _minimatch = require("minimatch");
30
31
  const _tssolutionsetup = require("@nx/js/src/utils/typescript/ts-solution-setup");
32
+ const _util = require("@nx/js/src/plugins/typescript/util");
31
33
  const pmc = (0, _devkit.getPackageManagerCommand)();
32
34
  function readTargetsCache(cachePath) {
33
35
  return process.env.NX_CACHE_PROJECT_GRAPH !== 'false' && (0, _fs.existsSync)(cachePath) ? (0, _devkit.readJsonFile)(cachePath) : {};
@@ -124,7 +126,13 @@ async function buildViteTargets(configFilePath, projectRoot, options, tsConfigFi
124
126
  targets[options.buildTargetName] = await buildTarget(options.buildTargetName, namedInputs, buildOutputs, projectRoot, isUsingTsSolutionSetup);
125
127
  // If running in library mode, then there is nothing to serve.
126
128
  if (!((_viteBuildConfig_build1 = viteBuildConfig.build) == null ? void 0 : _viteBuildConfig_build1.lib) || hasServeConfig) {
127
- targets[options.serveTargetName] = serveTarget(projectRoot, isUsingTsSolutionSetup);
129
+ const devTarget = serveTarget(projectRoot, isUsingTsSolutionSetup);
130
+ targets[options.serveTargetName] = _extends._({}, devTarget, {
131
+ metadata: _extends._({}, devTarget.metadata, {
132
+ deprecated: 'Use devTargetName instead. This option will be removed in Nx 22.'
133
+ })
134
+ });
135
+ targets[options.devTargetName] = devTarget;
128
136
  targets[options.previewTargetName] = previewTarget(projectRoot, options.buildTargetName);
129
137
  targets[options.serveStaticTargetName] = serveStaticTarget(options, isUsingTsSolutionSetup);
130
138
  }
@@ -178,6 +186,7 @@ async function buildViteTargets(configFilePath, projectRoot, options, tsConfigFi
178
186
  if (configFilePath.includes('vitest.config') || hasTest) {
179
187
  targets[options.testTargetName] = await testTarget(namedInputs, testOutputs, projectRoot);
180
188
  }
189
+ (0, _util.addBuildAndWatchDepsTargets)(context.workspaceRoot, projectRoot, targets, options, pmc);
181
190
  const metadata = {};
182
191
  return {
183
192
  targets,
@@ -235,7 +244,7 @@ async function buildTarget(buildTargetName, namedInputs, outputs, projectRoot, i
235
244
  }
236
245
  function serveTarget(projectRoot, isUsingTsSolutionSetup) {
237
246
  const targetConfig = {
238
- command: `vite serve`,
247
+ command: `vite`,
239
248
  options: {
240
249
  cwd: (0, _devkit.joinPathFragments)(projectRoot)
241
250
  },
@@ -383,20 +392,22 @@ function normalizeOutputPath(outputPath, projectRoot, workspaceRoot, path) {
383
392
  }
384
393
  }
385
394
  function normalizeOptions(options) {
386
- var _options, _options1, _options2, _options3, _options4, _options5;
395
+ var _options, _options1, _options2, _options3, _options4, _options5, _options6;
387
396
  options != null ? options : options = {};
388
397
  var _buildTargetName;
389
398
  (_buildTargetName = (_options = options).buildTargetName) != null ? _buildTargetName : _options.buildTargetName = 'build';
390
399
  var _serveTargetName;
391
400
  (_serveTargetName = (_options1 = options).serveTargetName) != null ? _serveTargetName : _options1.serveTargetName = 'serve';
401
+ var _devTargetName;
402
+ (_devTargetName = (_options2 = options).devTargetName) != null ? _devTargetName : _options2.devTargetName = 'dev';
392
403
  var _previewTargetName;
393
- (_previewTargetName = (_options2 = options).previewTargetName) != null ? _previewTargetName : _options2.previewTargetName = 'preview';
404
+ (_previewTargetName = (_options3 = options).previewTargetName) != null ? _previewTargetName : _options3.previewTargetName = 'preview';
394
405
  var _testTargetName;
395
- (_testTargetName = (_options3 = options).testTargetName) != null ? _testTargetName : _options3.testTargetName = 'test';
406
+ (_testTargetName = (_options4 = options).testTargetName) != null ? _testTargetName : _options4.testTargetName = 'test';
396
407
  var _serveStaticTargetName;
397
- (_serveStaticTargetName = (_options4 = options).serveStaticTargetName) != null ? _serveStaticTargetName : _options4.serveStaticTargetName = 'serve-static';
408
+ (_serveStaticTargetName = (_options5 = options).serveStaticTargetName) != null ? _serveStaticTargetName : _options5.serveStaticTargetName = 'serve-static';
398
409
  var _typecheckTargetName;
399
- (_typecheckTargetName = (_options5 = options).typecheckTargetName) != null ? _typecheckTargetName : _options5.typecheckTargetName = 'typecheck';
410
+ (_typecheckTargetName = (_options6 = options).typecheckTargetName) != null ? _typecheckTargetName : _options6.typecheckTargetName = 'typecheck';
400
411
  return options;
401
412
  }
402
413
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/vite/src/plugins/plugin.ts"],"sourcesContent":["import {\n CreateDependencies,\n CreateNodes,\n CreateNodesContext,\n createNodesFromFiles,\n CreateNodesV2,\n detectPackageManager,\n getPackageManagerCommand,\n joinPathFragments,\n logger,\n ProjectConfiguration,\n readJsonFile,\n TargetConfiguration,\n writeJsonFile,\n} from '@nx/devkit';\nimport { dirname, isAbsolute, join, relative } from 'path';\nimport { getNamedInputs } from '@nx/devkit/src/utils/get-named-inputs';\nimport { existsSync, readdirSync } from 'fs';\nimport { calculateHashForCreateNodes } from '@nx/devkit/src/utils/calculate-hash-for-create-nodes';\nimport { workspaceDataDirectory } from 'nx/src/utils/cache-directory';\nimport { getLockFileName } from '@nx/js';\nimport { loadViteDynamicImport } from '../utils/executor-utils';\nimport { hashObject } from 'nx/src/hasher/file-hasher';\nimport { minimatch } from 'minimatch';\nimport { isUsingTsSolutionSetup as _isUsingTsSolutionSetup } from '@nx/js/src/utils/typescript/ts-solution-setup';\n\nconst pmc = getPackageManagerCommand();\n\nexport interface VitePluginOptions {\n buildTargetName?: string;\n testTargetName?: string;\n serveTargetName?: string;\n previewTargetName?: string;\n serveStaticTargetName?: string;\n typecheckTargetName?: string;\n}\n\ntype ViteTargets = Pick<ProjectConfiguration, 'targets' | 'metadata'>;\n\nfunction readTargetsCache(cachePath: string): Record<string, ViteTargets> {\n return process.env.NX_CACHE_PROJECT_GRAPH !== 'false' && existsSync(cachePath)\n ? readJsonFile(cachePath)\n : {};\n}\n\nfunction writeTargetsToCache(cachePath, results?: Record<string, ViteTargets>) {\n writeJsonFile(cachePath, results);\n}\n\n/**\n * @deprecated The 'createDependencies' function is now a no-op. This functionality is included in 'createNodesV2'.\n */\nexport const createDependencies: CreateDependencies = () => {\n return [];\n};\n\nconst viteVitestConfigGlob = '**/{vite,vitest}.config.{js,ts,mjs,mts,cjs,cts}';\n\nexport const createNodesV2: CreateNodesV2<VitePluginOptions> = [\n viteVitestConfigGlob,\n async (configFilePaths, options, context) => {\n const optionsHash = hashObject(options);\n const cachePath = join(workspaceDataDirectory, `vite-${optionsHash}.hash`);\n const targetsCache = readTargetsCache(cachePath);\n const isUsingTsSolutionSetup = _isUsingTsSolutionSetup();\n try {\n return await createNodesFromFiles(\n (configFile, options, context) =>\n createNodesInternal(\n configFile,\n options,\n context,\n targetsCache,\n isUsingTsSolutionSetup\n ),\n configFilePaths,\n options,\n context\n );\n } finally {\n writeTargetsToCache(cachePath, targetsCache);\n }\n },\n];\n\nexport const createNodes: CreateNodes<VitePluginOptions> = [\n viteVitestConfigGlob,\n async (configFilePath, options, context) => {\n logger.warn(\n '`createNodes` is deprecated. Update your plugin to utilize createNodesV2 instead. In Nx 20, this will change to the createNodesV2 API.'\n );\n return createNodesInternal(\n configFilePath,\n options,\n context,\n {},\n _isUsingTsSolutionSetup()\n );\n },\n];\n\nasync function createNodesInternal(\n configFilePath: string,\n options: VitePluginOptions,\n context: CreateNodesContext,\n targetsCache: Record<string, ViteTargets>,\n isUsingTsSolutionSetup: boolean\n) {\n const projectRoot = dirname(configFilePath);\n // Do not create a project if package.json and project.json isn't there.\n const siblingFiles = readdirSync(join(context.workspaceRoot, projectRoot));\n if (\n !siblingFiles.includes('package.json') &&\n !siblingFiles.includes('project.json')\n ) {\n return {};\n }\n\n const tsConfigFiles =\n siblingFiles.filter((p) => minimatch(p, 'tsconfig*{.json,.*.json}')) ?? [];\n\n const normalizedOptions = normalizeOptions(options);\n\n // We do not want to alter how the hash is calculated, so appending the config file path to the hash\n // to prevent vite/vitest files overwriting the target cache created by the other\n const hash =\n (await calculateHashForCreateNodes(\n projectRoot,\n normalizedOptions,\n context,\n [getLockFileName(detectPackageManager(context.workspaceRoot))]\n )) + configFilePath;\n\n const { isLibrary, ...viteTargets } = await buildViteTargets(\n configFilePath,\n projectRoot,\n normalizedOptions,\n tsConfigFiles,\n isUsingTsSolutionSetup,\n context\n );\n targetsCache[hash] ??= viteTargets;\n\n const { targets, metadata } = targetsCache[hash];\n const project: ProjectConfiguration = {\n root: projectRoot,\n targets,\n metadata,\n };\n\n // If project is buildable, then the project type.\n // If it is not buildable, then leave it to other plugins/project.json to set the project type.\n if (project.targets[options.buildTargetName]) {\n project.projectType = isLibrary ? 'library' : 'application';\n }\n\n return {\n projects: {\n [projectRoot]: project,\n },\n };\n}\n\nasync function buildViteTargets(\n configFilePath: string,\n projectRoot: string,\n options: VitePluginOptions,\n tsConfigFiles: string[],\n isUsingTsSolutionSetup: boolean,\n context: CreateNodesContext\n): Promise<ViteTargets & { isLibrary: boolean }> {\n const absoluteConfigFilePath = joinPathFragments(\n context.workspaceRoot,\n configFilePath\n );\n // Workaround for the `build$3 is not a function` error that we sometimes see in agents.\n // This should be removed later once we address the issue properly\n try {\n const importEsbuild = () => new Function('return import(\"esbuild\")')();\n await importEsbuild();\n } catch {\n // do nothing\n }\n const { resolveConfig } = await loadViteDynamicImport();\n const viteBuildConfig = await resolveConfig(\n {\n configFile: absoluteConfigFilePath,\n mode: 'development',\n },\n 'build'\n );\n\n const { buildOutputs, testOutputs, hasTest, isBuildable, hasServeConfig } =\n getOutputs(viteBuildConfig, projectRoot, context.workspaceRoot);\n\n const namedInputs = getNamedInputs(projectRoot, context);\n\n const targets: Record<string, TargetConfiguration> = {};\n\n // If file is not vitest.config and buildable, create targets for build, serve, preview and serve-static\n const hasRemixPlugin =\n viteBuildConfig.plugins &&\n viteBuildConfig.plugins.some((p) => p.name === 'remix');\n if (\n !configFilePath.includes('vitest.config') &&\n !hasRemixPlugin &&\n isBuildable\n ) {\n targets[options.buildTargetName] = await buildTarget(\n options.buildTargetName,\n namedInputs,\n buildOutputs,\n projectRoot,\n isUsingTsSolutionSetup\n );\n\n // If running in library mode, then there is nothing to serve.\n if (!viteBuildConfig.build?.lib || hasServeConfig) {\n targets[options.serveTargetName] = serveTarget(\n projectRoot,\n isUsingTsSolutionSetup\n );\n targets[options.previewTargetName] = previewTarget(\n projectRoot,\n options.buildTargetName\n );\n targets[options.serveStaticTargetName] = serveStaticTarget(\n options,\n isUsingTsSolutionSetup\n );\n }\n }\n\n if (tsConfigFiles.length) {\n const tsConfigToUse =\n ['tsconfig.app.json', 'tsconfig.lib.json', 'tsconfig.json'].find((t) =>\n tsConfigFiles.includes(t)\n ) ?? tsConfigFiles[0];\n targets[options.typecheckTargetName] = {\n cache: true,\n inputs: [\n ...('production' in namedInputs\n ? ['production', '^production']\n : ['default', '^default']),\n { externalDependencies: ['typescript'] },\n ],\n command: isUsingTsSolutionSetup\n ? `tsc --build --emitDeclarationOnly --pretty --verbose`\n : `tsc --noEmit -p ${tsConfigToUse}`,\n options: { cwd: joinPathFragments(projectRoot) },\n metadata: {\n description: `Run Typechecking`,\n help: {\n command: `${pmc.exec} tsc --help -p ${tsConfigToUse}`,\n example: {\n options: {\n noEmit: true,\n },\n },\n },\n },\n };\n\n if (isUsingTsSolutionSetup) {\n targets[options.typecheckTargetName].syncGenerators = [\n '@nx/js:typescript-sync',\n ];\n }\n }\n\n // if file is vitest.config or vite.config has definition for test, create target for test\n if (configFilePath.includes('vitest.config') || hasTest) {\n targets[options.testTargetName] = await testTarget(\n namedInputs,\n testOutputs,\n projectRoot\n );\n }\n\n const metadata = {};\n return { targets, metadata, isLibrary: Boolean(viteBuildConfig.build?.lib) };\n}\n\nasync function buildTarget(\n buildTargetName: string,\n namedInputs: {\n [inputName: string]: any[];\n },\n outputs: string[],\n projectRoot: string,\n isUsingTsSolutionSetup: boolean\n) {\n const buildTarget: TargetConfiguration = {\n command: `vite build`,\n options: { cwd: joinPathFragments(projectRoot) },\n cache: true,\n dependsOn: [`^${buildTargetName}`],\n inputs: [\n ...('production' in namedInputs\n ? ['production', '^production']\n : ['default', '^default']),\n {\n externalDependencies: ['vite'],\n },\n ],\n outputs,\n metadata: {\n technologies: ['vite'],\n description: `Run Vite build`,\n help: {\n command: `${pmc.exec} vite build --help`,\n example: {\n options: {\n sourcemap: true,\n manifest: 'manifest.json',\n },\n },\n },\n },\n };\n\n if (isUsingTsSolutionSetup) {\n buildTarget.syncGenerators = ['@nx/js:typescript-sync'];\n }\n\n return buildTarget;\n}\n\nfunction serveTarget(projectRoot: string, isUsingTsSolutionSetup: boolean) {\n const targetConfig: TargetConfiguration = {\n command: `vite serve`,\n options: {\n cwd: joinPathFragments(projectRoot),\n },\n metadata: {\n technologies: ['vite'],\n description: `Starts Vite dev server`,\n help: {\n command: `${pmc.exec} vite --help`,\n example: {\n options: {\n port: 3000,\n },\n },\n },\n },\n };\n\n if (isUsingTsSolutionSetup) {\n targetConfig.syncGenerators = ['@nx/js:typescript-sync'];\n }\n\n return targetConfig;\n}\n\nfunction previewTarget(projectRoot: string, buildTargetName) {\n const targetConfig: TargetConfiguration = {\n command: `vite preview`,\n dependsOn: [buildTargetName],\n options: {\n cwd: joinPathFragments(projectRoot),\n },\n metadata: {\n technologies: ['vite'],\n description: `Locally preview Vite production build`,\n help: {\n command: `${pmc.exec} vite preview --help`,\n example: {\n options: {\n port: 3000,\n },\n },\n },\n },\n };\n\n return targetConfig;\n}\n\nasync function testTarget(\n namedInputs: {\n [inputName: string]: any[];\n },\n outputs: string[],\n projectRoot: string\n) {\n return {\n command: `vitest`,\n options: { cwd: joinPathFragments(projectRoot) },\n cache: true,\n inputs: [\n ...('production' in namedInputs\n ? ['default', '^production']\n : ['default', '^default']),\n {\n externalDependencies: ['vitest'],\n },\n { env: 'CI' },\n ],\n outputs,\n metadata: {\n technologies: ['vite'],\n description: `Run Vite tests`,\n help: {\n command: `${pmc.exec} vitest --help`,\n example: {\n options: {\n bail: 1,\n coverage: true,\n },\n },\n },\n },\n };\n}\n\nfunction serveStaticTarget(\n options: VitePluginOptions,\n isUsingTsSolutionSetup: boolean\n) {\n const targetConfig: TargetConfiguration = {\n executor: '@nx/web:file-server',\n options: {\n buildTarget: `${options.buildTargetName}`,\n spa: true,\n },\n };\n\n if (isUsingTsSolutionSetup) {\n targetConfig.syncGenerators = ['@nx/js:typescript-sync'];\n }\n\n return targetConfig;\n}\n\nfunction getOutputs(\n viteBuildConfig: Record<string, any> | undefined,\n projectRoot: string,\n workspaceRoot: string\n): {\n buildOutputs: string[];\n testOutputs: string[];\n hasTest: boolean;\n isBuildable: boolean;\n hasServeConfig: boolean;\n} {\n const { build, test, server } = viteBuildConfig;\n\n const buildOutputPath = normalizeOutputPath(\n build?.outDir,\n projectRoot,\n workspaceRoot,\n 'dist'\n );\n\n const isBuildable =\n build?.lib ||\n build?.rollupOptions?.input ||\n existsSync(join(workspaceRoot, projectRoot, 'index.html'));\n\n const hasServeConfig = Boolean(server);\n\n const reportsDirectoryPath = normalizeOutputPath(\n test?.coverage?.reportsDirectory,\n projectRoot,\n workspaceRoot,\n 'coverage'\n );\n\n return {\n buildOutputs: [buildOutputPath],\n testOutputs: [reportsDirectoryPath],\n hasTest: !!test,\n isBuildable,\n hasServeConfig,\n };\n}\n\nfunction normalizeOutputPath(\n outputPath: string | undefined,\n projectRoot: string,\n workspaceRoot: string,\n path: 'coverage' | 'dist'\n): string | undefined {\n if (!outputPath) {\n if (projectRoot === '.') {\n return `{projectRoot}/${path}`;\n } else {\n return `{workspaceRoot}/${path}/{projectRoot}`;\n }\n } else {\n if (isAbsolute(outputPath)) {\n return `{workspaceRoot}/${relative(workspaceRoot, outputPath)}`;\n } else {\n if (outputPath.startsWith('..')) {\n return join('{workspaceRoot}', join(projectRoot, outputPath));\n } else {\n return join('{projectRoot}', outputPath);\n }\n }\n }\n}\n\nfunction normalizeOptions(options: VitePluginOptions): VitePluginOptions {\n options ??= {};\n options.buildTargetName ??= 'build';\n options.serveTargetName ??= 'serve';\n options.previewTargetName ??= 'preview';\n options.testTargetName ??= 'test';\n options.serveStaticTargetName ??= 'serve-static';\n options.typecheckTargetName ??= 'typecheck';\n return options;\n}\n"],"names":["createDependencies","createNodes","createNodesV2","pmc","getPackageManagerCommand","readTargetsCache","cachePath","process","env","NX_CACHE_PROJECT_GRAPH","existsSync","readJsonFile","writeTargetsToCache","results","writeJsonFile","viteVitestConfigGlob","configFilePaths","options","context","optionsHash","hashObject","join","workspaceDataDirectory","targetsCache","isUsingTsSolutionSetup","_isUsingTsSolutionSetup","createNodesFromFiles","configFile","createNodesInternal","configFilePath","logger","warn","hash","projectRoot","dirname","siblingFiles","readdirSync","workspaceRoot","includes","tsConfigFiles","filter","p","minimatch","normalizedOptions","normalizeOptions","calculateHashForCreateNodes","getLockFileName","detectPackageManager","buildViteTargets","isLibrary","viteTargets","targets","metadata","project","root","buildTargetName","projectType","projects","viteBuildConfig","absoluteConfigFilePath","joinPathFragments","importEsbuild","Function","resolveConfig","loadViteDynamicImport","mode","buildOutputs","testOutputs","hasTest","isBuildable","hasServeConfig","getOutputs","namedInputs","getNamedInputs","hasRemixPlugin","plugins","some","name","buildTarget","build","lib","serveTargetName","serveTarget","previewTargetName","previewTarget","serveStaticTargetName","serveStaticTarget","length","tsConfigToUse","find","t","typecheckTargetName","cache","inputs","externalDependencies","command","cwd","description","help","exec","example","noEmit","syncGenerators","testTargetName","testTarget","Boolean","outputs","dependsOn","technologies","sourcemap","manifest","targetConfig","port","bail","coverage","executor","spa","test","server","buildOutputPath","normalizeOutputPath","outDir","rollupOptions","input","reportsDirectoryPath","reportsDirectory","outputPath","path","isAbsolute","relative","startsWith"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/vite/src/plugins/plugin.ts"],"sourcesContent":["import {\n CreateDependencies,\n CreateNodes,\n CreateNodesContext,\n createNodesFromFiles,\n CreateNodesV2,\n detectPackageManager,\n getPackageManagerCommand,\n joinPathFragments,\n logger,\n ProjectConfiguration,\n readJsonFile,\n TargetConfiguration,\n writeJsonFile,\n} from '@nx/devkit';\nimport { dirname, isAbsolute, join, relative } from 'path';\nimport { getNamedInputs } from '@nx/devkit/src/utils/get-named-inputs';\nimport { existsSync, readdirSync } from 'fs';\nimport { calculateHashForCreateNodes } from '@nx/devkit/src/utils/calculate-hash-for-create-nodes';\nimport { workspaceDataDirectory } from 'nx/src/utils/cache-directory';\nimport { getLockFileName } from '@nx/js';\nimport { loadViteDynamicImport } from '../utils/executor-utils';\nimport { hashObject } from 'nx/src/hasher/file-hasher';\nimport { minimatch } from 'minimatch';\nimport { isUsingTsSolutionSetup as _isUsingTsSolutionSetup } from '@nx/js/src/utils/typescript/ts-solution-setup';\nimport { addBuildAndWatchDepsTargets } from '@nx/js/src/plugins/typescript/util';\n\nconst pmc = getPackageManagerCommand();\n\nexport interface VitePluginOptions {\n buildTargetName?: string;\n testTargetName?: string;\n /**\n * @deprecated Use devTargetName instead. This option will be removed in Nx 22.\n */\n serveTargetName?: string;\n devTargetName?: string;\n previewTargetName?: string;\n serveStaticTargetName?: string;\n typecheckTargetName?: string;\n watchDepsTargetName?: string;\n buildDepsTargetName?: string;\n}\n\ntype ViteTargets = Pick<ProjectConfiguration, 'targets' | 'metadata'>;\n\nfunction readTargetsCache(cachePath: string): Record<string, ViteTargets> {\n return process.env.NX_CACHE_PROJECT_GRAPH !== 'false' && existsSync(cachePath)\n ? readJsonFile(cachePath)\n : {};\n}\n\nfunction writeTargetsToCache(cachePath, results?: Record<string, ViteTargets>) {\n writeJsonFile(cachePath, results);\n}\n\n/**\n * @deprecated The 'createDependencies' function is now a no-op. This functionality is included in 'createNodesV2'.\n */\nexport const createDependencies: CreateDependencies = () => {\n return [];\n};\n\nconst viteVitestConfigGlob = '**/{vite,vitest}.config.{js,ts,mjs,mts,cjs,cts}';\n\nexport const createNodesV2: CreateNodesV2<VitePluginOptions> = [\n viteVitestConfigGlob,\n async (configFilePaths, options, context) => {\n const optionsHash = hashObject(options);\n const cachePath = join(workspaceDataDirectory, `vite-${optionsHash}.hash`);\n const targetsCache = readTargetsCache(cachePath);\n const isUsingTsSolutionSetup = _isUsingTsSolutionSetup();\n try {\n return await createNodesFromFiles(\n (configFile, options, context) =>\n createNodesInternal(\n configFile,\n options,\n context,\n targetsCache,\n isUsingTsSolutionSetup\n ),\n configFilePaths,\n options,\n context\n );\n } finally {\n writeTargetsToCache(cachePath, targetsCache);\n }\n },\n];\n\nexport const createNodes: CreateNodes<VitePluginOptions> = [\n viteVitestConfigGlob,\n async (configFilePath, options, context) => {\n logger.warn(\n '`createNodes` is deprecated. Update your plugin to utilize createNodesV2 instead. In Nx 20, this will change to the createNodesV2 API.'\n );\n return createNodesInternal(\n configFilePath,\n options,\n context,\n {},\n _isUsingTsSolutionSetup()\n );\n },\n];\n\nasync function createNodesInternal(\n configFilePath: string,\n options: VitePluginOptions,\n context: CreateNodesContext,\n targetsCache: Record<string, ViteTargets>,\n isUsingTsSolutionSetup: boolean\n) {\n const projectRoot = dirname(configFilePath);\n // Do not create a project if package.json and project.json isn't there.\n const siblingFiles = readdirSync(join(context.workspaceRoot, projectRoot));\n if (\n !siblingFiles.includes('package.json') &&\n !siblingFiles.includes('project.json')\n ) {\n return {};\n }\n\n const tsConfigFiles =\n siblingFiles.filter((p) => minimatch(p, 'tsconfig*{.json,.*.json}')) ?? [];\n\n const normalizedOptions = normalizeOptions(options);\n\n // We do not want to alter how the hash is calculated, so appending the config file path to the hash\n // to prevent vite/vitest files overwriting the target cache created by the other\n const hash =\n (await calculateHashForCreateNodes(\n projectRoot,\n normalizedOptions,\n context,\n [getLockFileName(detectPackageManager(context.workspaceRoot))]\n )) + configFilePath;\n\n const { isLibrary, ...viteTargets } = await buildViteTargets(\n configFilePath,\n projectRoot,\n normalizedOptions,\n tsConfigFiles,\n isUsingTsSolutionSetup,\n context\n );\n targetsCache[hash] ??= viteTargets;\n\n const { targets, metadata } = targetsCache[hash];\n const project: ProjectConfiguration = {\n root: projectRoot,\n targets,\n metadata,\n };\n\n // If project is buildable, then the project type.\n // If it is not buildable, then leave it to other plugins/project.json to set the project type.\n if (project.targets[options.buildTargetName]) {\n project.projectType = isLibrary ? 'library' : 'application';\n }\n\n return {\n projects: {\n [projectRoot]: project,\n },\n };\n}\n\nasync function buildViteTargets(\n configFilePath: string,\n projectRoot: string,\n options: VitePluginOptions,\n tsConfigFiles: string[],\n isUsingTsSolutionSetup: boolean,\n context: CreateNodesContext\n): Promise<ViteTargets & { isLibrary: boolean }> {\n const absoluteConfigFilePath = joinPathFragments(\n context.workspaceRoot,\n configFilePath\n );\n // Workaround for the `build$3 is not a function` error that we sometimes see in agents.\n // This should be removed later once we address the issue properly\n try {\n const importEsbuild = () => new Function('return import(\"esbuild\")')();\n await importEsbuild();\n } catch {\n // do nothing\n }\n const { resolveConfig } = await loadViteDynamicImport();\n const viteBuildConfig = await resolveConfig(\n {\n configFile: absoluteConfigFilePath,\n mode: 'development',\n },\n 'build'\n );\n\n const { buildOutputs, testOutputs, hasTest, isBuildable, hasServeConfig } =\n getOutputs(viteBuildConfig, projectRoot, context.workspaceRoot);\n\n const namedInputs = getNamedInputs(projectRoot, context);\n\n const targets: Record<string, TargetConfiguration> = {};\n\n // If file is not vitest.config and buildable, create targets for build, serve, preview and serve-static\n const hasRemixPlugin =\n viteBuildConfig.plugins &&\n viteBuildConfig.plugins.some((p) => p.name === 'remix');\n if (\n !configFilePath.includes('vitest.config') &&\n !hasRemixPlugin &&\n isBuildable\n ) {\n targets[options.buildTargetName] = await buildTarget(\n options.buildTargetName,\n namedInputs,\n buildOutputs,\n projectRoot,\n isUsingTsSolutionSetup\n );\n\n // If running in library mode, then there is nothing to serve.\n if (!viteBuildConfig.build?.lib || hasServeConfig) {\n const devTarget = serveTarget(projectRoot, isUsingTsSolutionSetup);\n\n targets[options.serveTargetName] = {\n ...devTarget,\n metadata: {\n ...devTarget.metadata,\n deprecated:\n 'Use devTargetName instead. This option will be removed in Nx 22.',\n },\n };\n targets[options.devTargetName] = devTarget;\n targets[options.previewTargetName] = previewTarget(\n projectRoot,\n options.buildTargetName\n );\n targets[options.serveStaticTargetName] = serveStaticTarget(\n options,\n isUsingTsSolutionSetup\n );\n }\n }\n\n if (tsConfigFiles.length) {\n const tsConfigToUse =\n ['tsconfig.app.json', 'tsconfig.lib.json', 'tsconfig.json'].find((t) =>\n tsConfigFiles.includes(t)\n ) ?? tsConfigFiles[0];\n targets[options.typecheckTargetName] = {\n cache: true,\n inputs: [\n ...('production' in namedInputs\n ? ['production', '^production']\n : ['default', '^default']),\n { externalDependencies: ['typescript'] },\n ],\n command: isUsingTsSolutionSetup\n ? `tsc --build --emitDeclarationOnly --pretty --verbose`\n : `tsc --noEmit -p ${tsConfigToUse}`,\n options: { cwd: joinPathFragments(projectRoot) },\n metadata: {\n description: `Run Typechecking`,\n help: {\n command: `${pmc.exec} tsc --help -p ${tsConfigToUse}`,\n example: {\n options: {\n noEmit: true,\n },\n },\n },\n },\n };\n\n if (isUsingTsSolutionSetup) {\n targets[options.typecheckTargetName].syncGenerators = [\n '@nx/js:typescript-sync',\n ];\n }\n }\n\n // if file is vitest.config or vite.config has definition for test, create target for test\n if (configFilePath.includes('vitest.config') || hasTest) {\n targets[options.testTargetName] = await testTarget(\n namedInputs,\n testOutputs,\n projectRoot\n );\n }\n\n addBuildAndWatchDepsTargets(\n context.workspaceRoot,\n projectRoot,\n targets,\n options,\n pmc\n );\n\n const metadata = {};\n return { targets, metadata, isLibrary: Boolean(viteBuildConfig.build?.lib) };\n}\n\nasync function buildTarget(\n buildTargetName: string,\n namedInputs: {\n [inputName: string]: any[];\n },\n outputs: string[],\n projectRoot: string,\n isUsingTsSolutionSetup: boolean\n) {\n const buildTarget: TargetConfiguration = {\n command: `vite build`,\n options: { cwd: joinPathFragments(projectRoot) },\n cache: true,\n dependsOn: [`^${buildTargetName}`],\n inputs: [\n ...('production' in namedInputs\n ? ['production', '^production']\n : ['default', '^default']),\n {\n externalDependencies: ['vite'],\n },\n ],\n outputs,\n metadata: {\n technologies: ['vite'],\n description: `Run Vite build`,\n help: {\n command: `${pmc.exec} vite build --help`,\n example: {\n options: {\n sourcemap: true,\n manifest: 'manifest.json',\n },\n },\n },\n },\n };\n\n if (isUsingTsSolutionSetup) {\n buildTarget.syncGenerators = ['@nx/js:typescript-sync'];\n }\n\n return buildTarget;\n}\n\nfunction serveTarget(projectRoot: string, isUsingTsSolutionSetup: boolean) {\n const targetConfig: TargetConfiguration = {\n command: `vite`,\n options: {\n cwd: joinPathFragments(projectRoot),\n },\n metadata: {\n technologies: ['vite'],\n description: `Starts Vite dev server`,\n help: {\n command: `${pmc.exec} vite --help`,\n example: {\n options: {\n port: 3000,\n },\n },\n },\n },\n };\n\n if (isUsingTsSolutionSetup) {\n targetConfig.syncGenerators = ['@nx/js:typescript-sync'];\n }\n\n return targetConfig;\n}\n\nfunction previewTarget(projectRoot: string, buildTargetName) {\n const targetConfig: TargetConfiguration = {\n command: `vite preview`,\n dependsOn: [buildTargetName],\n options: {\n cwd: joinPathFragments(projectRoot),\n },\n metadata: {\n technologies: ['vite'],\n description: `Locally preview Vite production build`,\n help: {\n command: `${pmc.exec} vite preview --help`,\n example: {\n options: {\n port: 3000,\n },\n },\n },\n },\n };\n\n return targetConfig;\n}\n\nasync function testTarget(\n namedInputs: {\n [inputName: string]: any[];\n },\n outputs: string[],\n projectRoot: string\n) {\n return {\n command: `vitest`,\n options: { cwd: joinPathFragments(projectRoot) },\n cache: true,\n inputs: [\n ...('production' in namedInputs\n ? ['default', '^production']\n : ['default', '^default']),\n {\n externalDependencies: ['vitest'],\n },\n { env: 'CI' },\n ],\n outputs,\n metadata: {\n technologies: ['vite'],\n description: `Run Vite tests`,\n help: {\n command: `${pmc.exec} vitest --help`,\n example: {\n options: {\n bail: 1,\n coverage: true,\n },\n },\n },\n },\n };\n}\n\nfunction serveStaticTarget(\n options: VitePluginOptions,\n isUsingTsSolutionSetup: boolean\n) {\n const targetConfig: TargetConfiguration = {\n executor: '@nx/web:file-server',\n options: {\n buildTarget: `${options.buildTargetName}`,\n spa: true,\n },\n };\n\n if (isUsingTsSolutionSetup) {\n targetConfig.syncGenerators = ['@nx/js:typescript-sync'];\n }\n\n return targetConfig;\n}\n\nfunction getOutputs(\n viteBuildConfig: Record<string, any> | undefined,\n projectRoot: string,\n workspaceRoot: string\n): {\n buildOutputs: string[];\n testOutputs: string[];\n hasTest: boolean;\n isBuildable: boolean;\n hasServeConfig: boolean;\n} {\n const { build, test, server } = viteBuildConfig;\n\n const buildOutputPath = normalizeOutputPath(\n build?.outDir,\n projectRoot,\n workspaceRoot,\n 'dist'\n );\n\n const isBuildable =\n build?.lib ||\n build?.rollupOptions?.input ||\n existsSync(join(workspaceRoot, projectRoot, 'index.html'));\n\n const hasServeConfig = Boolean(server);\n\n const reportsDirectoryPath = normalizeOutputPath(\n test?.coverage?.reportsDirectory,\n projectRoot,\n workspaceRoot,\n 'coverage'\n );\n\n return {\n buildOutputs: [buildOutputPath],\n testOutputs: [reportsDirectoryPath],\n hasTest: !!test,\n isBuildable,\n hasServeConfig,\n };\n}\n\nfunction normalizeOutputPath(\n outputPath: string | undefined,\n projectRoot: string,\n workspaceRoot: string,\n path: 'coverage' | 'dist'\n): string | undefined {\n if (!outputPath) {\n if (projectRoot === '.') {\n return `{projectRoot}/${path}`;\n } else {\n return `{workspaceRoot}/${path}/{projectRoot}`;\n }\n } else {\n if (isAbsolute(outputPath)) {\n return `{workspaceRoot}/${relative(workspaceRoot, outputPath)}`;\n } else {\n if (outputPath.startsWith('..')) {\n return join('{workspaceRoot}', join(projectRoot, outputPath));\n } else {\n return join('{projectRoot}', outputPath);\n }\n }\n }\n}\n\nfunction normalizeOptions(options: VitePluginOptions): VitePluginOptions {\n options ??= {};\n options.buildTargetName ??= 'build';\n options.serveTargetName ??= 'serve';\n options.devTargetName ??= 'dev';\n options.previewTargetName ??= 'preview';\n options.testTargetName ??= 'test';\n options.serveStaticTargetName ??= 'serve-static';\n options.typecheckTargetName ??= 'typecheck';\n return options;\n}\n"],"names":["createDependencies","createNodes","createNodesV2","pmc","getPackageManagerCommand","readTargetsCache","cachePath","process","env","NX_CACHE_PROJECT_GRAPH","existsSync","readJsonFile","writeTargetsToCache","results","writeJsonFile","viteVitestConfigGlob","configFilePaths","options","context","optionsHash","hashObject","join","workspaceDataDirectory","targetsCache","isUsingTsSolutionSetup","_isUsingTsSolutionSetup","createNodesFromFiles","configFile","createNodesInternal","configFilePath","logger","warn","hash","projectRoot","dirname","siblingFiles","readdirSync","workspaceRoot","includes","tsConfigFiles","filter","p","minimatch","normalizedOptions","normalizeOptions","calculateHashForCreateNodes","getLockFileName","detectPackageManager","buildViteTargets","isLibrary","viteTargets","targets","metadata","project","root","buildTargetName","projectType","projects","viteBuildConfig","absoluteConfigFilePath","joinPathFragments","importEsbuild","Function","resolveConfig","loadViteDynamicImport","mode","buildOutputs","testOutputs","hasTest","isBuildable","hasServeConfig","getOutputs","namedInputs","getNamedInputs","hasRemixPlugin","plugins","some","name","buildTarget","build","lib","devTarget","serveTarget","serveTargetName","deprecated","devTargetName","previewTargetName","previewTarget","serveStaticTargetName","serveStaticTarget","length","tsConfigToUse","find","t","typecheckTargetName","cache","inputs","externalDependencies","command","cwd","description","help","exec","example","noEmit","syncGenerators","testTargetName","testTarget","addBuildAndWatchDepsTargets","Boolean","outputs","dependsOn","technologies","sourcemap","manifest","targetConfig","port","bail","coverage","executor","spa","test","server","buildOutputPath","normalizeOutputPath","outDir","rollupOptions","input","reportsDirectoryPath","reportsDirectory","outputPath","path","isAbsolute","relative","startsWith"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -8,20 +8,21 @@ Object.defineProperty(exports, "getViteE2EWebServerInfo", {
8
8
  const _devkit = require("@nx/devkit");
9
9
  const _e2ewebserverinfoutils = require("@nx/devkit/src/generators/e2e-web-server-info-utils");
10
10
  async function getViteE2EWebServerInfo(tree, projectName, configFilePath, isPluginBeingAdded, e2ePortOverride) {
11
- var _nxJson_targetDefaults, _nxJson_targetDefaults_serve_options, _nxJson_targetDefaults1;
11
+ var _nxJson_targetDefaults, _nxJson_targetDefaults_dev_options, _nxJson_targetDefaults1, _nxJson_targetDefaults2, _nxJson_targetDefaults_serve_options, _nxJson_targetDefaults3;
12
12
  const nxJson = (0, _devkit.readNxJson)(tree);
13
13
  let e2ePort = e2ePortOverride != null ? e2ePortOverride : 4200;
14
- if (((_nxJson_targetDefaults = nxJson.targetDefaults) == null ? void 0 : _nxJson_targetDefaults['serve']) && ((_nxJson_targetDefaults1 = nxJson.targetDefaults) == null ? void 0 : (_nxJson_targetDefaults_serve_options = _nxJson_targetDefaults1['serve'].options) == null ? void 0 : _nxJson_targetDefaults_serve_options.port)) {
15
- var _nxJson_targetDefaults_serve_options1, _nxJson_targetDefaults2;
16
- e2ePort = (_nxJson_targetDefaults2 = nxJson.targetDefaults) == null ? void 0 : (_nxJson_targetDefaults_serve_options1 = _nxJson_targetDefaults2['serve'].options) == null ? void 0 : _nxJson_targetDefaults_serve_options1.port;
14
+ if (((_nxJson_targetDefaults = nxJson.targetDefaults) == null ? void 0 : _nxJson_targetDefaults['dev']) && ((_nxJson_targetDefaults1 = nxJson.targetDefaults) == null ? void 0 : (_nxJson_targetDefaults_dev_options = _nxJson_targetDefaults1['dev'].options) == null ? void 0 : _nxJson_targetDefaults_dev_options.port) || ((_nxJson_targetDefaults2 = nxJson.targetDefaults) == null ? void 0 : _nxJson_targetDefaults2['serve']) && ((_nxJson_targetDefaults3 = nxJson.targetDefaults) == null ? void 0 : (_nxJson_targetDefaults_serve_options = _nxJson_targetDefaults3['serve'].options) == null ? void 0 : _nxJson_targetDefaults_serve_options.port)) {
15
+ var _nxJson_targetDefaults_dev_options1, _nxJson_targetDefaults4, _nxJson_targetDefaults_serve_options1, _nxJson_targetDefaults5;
16
+ var _nxJson_targetDefaults_dev_options_port;
17
+ e2ePort = (_nxJson_targetDefaults_dev_options_port = (_nxJson_targetDefaults4 = nxJson.targetDefaults) == null ? void 0 : (_nxJson_targetDefaults_dev_options1 = _nxJson_targetDefaults4['dev'].options) == null ? void 0 : _nxJson_targetDefaults_dev_options1.port) != null ? _nxJson_targetDefaults_dev_options_port : (_nxJson_targetDefaults5 = nxJson.targetDefaults) == null ? void 0 : (_nxJson_targetDefaults_serve_options1 = _nxJson_targetDefaults5['serve'].options) == null ? void 0 : _nxJson_targetDefaults_serve_options1.port;
17
18
  }
18
19
  return (0, _e2ewebserverinfoutils.getE2EWebServerInfo)(tree, projectName, {
19
20
  plugin: '@nx/vite/plugin',
20
- serveTargetName: 'serveTargetName',
21
+ serveTargetName: 'devTargetName',
21
22
  serveStaticTargetName: 'previewTargetName',
22
23
  configFilePath
23
24
  }, {
24
- defaultServeTargetName: 'serve',
25
+ defaultServeTargetName: 'dev',
25
26
  defaultServeStaticTargetName: 'preview',
26
27
  defaultE2EWebServerAddress: `http://localhost:${e2ePort}`,
27
28
  defaultE2ECiBaseUrl: 'http://localhost:4300',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/vite/src/utils/e2e-web-server-info-utils.ts"],"sourcesContent":["import { type Tree, readNxJson } from '@nx/devkit';\nimport { getE2EWebServerInfo } from '@nx/devkit/src/generators/e2e-web-server-info-utils';\n\nexport async function getViteE2EWebServerInfo(\n tree: Tree,\n projectName: string,\n configFilePath: string,\n isPluginBeingAdded: boolean,\n e2ePortOverride?: number\n) {\n const nxJson = readNxJson(tree);\n let e2ePort = e2ePortOverride ?? 4200;\n\n if (\n nxJson.targetDefaults?.['serve'] &&\n nxJson.targetDefaults?.['serve'].options?.port\n ) {\n e2ePort = nxJson.targetDefaults?.['serve'].options?.port;\n }\n\n return getE2EWebServerInfo(\n tree,\n projectName,\n {\n plugin: '@nx/vite/plugin',\n serveTargetName: 'serveTargetName',\n serveStaticTargetName: 'previewTargetName',\n configFilePath,\n },\n {\n defaultServeTargetName: 'serve',\n defaultServeStaticTargetName: 'preview',\n defaultE2EWebServerAddress: `http://localhost:${e2ePort}`,\n defaultE2ECiBaseUrl: 'http://localhost:4300',\n defaultE2EPort: e2ePort,\n },\n isPluginBeingAdded\n );\n}\n"],"names":["getViteE2EWebServerInfo","tree","projectName","configFilePath","isPluginBeingAdded","e2ePortOverride","nxJson","readNxJson","e2ePort","targetDefaults","options","port","getE2EWebServerInfo","plugin","serveTargetName","serveStaticTargetName","defaultServeTargetName","defaultServeStaticTargetName","defaultE2EWebServerAddress","defaultE2ECiBaseUrl","defaultE2EPort"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAGsBA;;;eAAAA;;;wBAHgB;uCACF;AAE7B,eAAeA,wBACpBC,IAAU,EACVC,WAAmB,EACnBC,cAAsB,EACtBC,kBAA2B,EAC3BC,eAAwB;QAMtBC,wBACAA,sCAAAA;IALF,MAAMA,SAASC,IAAAA,kBAAU,EAACN;IAC1B,IAAIO,UAAUH,0BAAAA,kBAAmB;IAEjC,IACEC,EAAAA,yBAAAA,OAAOG,cAAc,qBAArBH,sBAAuB,CAAC,QAAQ,OAChCA,0BAAAA,OAAOG,cAAc,sBAArBH,uCAAAA,uBAAuB,CAAC,QAAQ,CAACI,OAAO,qBAAxCJ,qCAA0CK,IAAI,GAC9C;YACUL,uCAAAA;QAAVE,WAAUF,0BAAAA,OAAOG,cAAc,sBAArBH,wCAAAA,uBAAuB,CAAC,QAAQ,CAACI,OAAO,qBAAxCJ,sCAA0CK,IAAI;IAC1D;IAEA,OAAOC,IAAAA,0CAAmB,EACxBX,MACAC,aACA;QACEW,QAAQ;QACRC,iBAAiB;QACjBC,uBAAuB;QACvBZ;IACF,GACA;QACEa,wBAAwB;QACxBC,8BAA8B;QAC9BC,4BAA4B,CAAC,iBAAiB,EAAEV,QAAQ,CAAC;QACzDW,qBAAqB;QACrBC,gBAAgBZ;IAClB,GACAJ;AAEJ"}
1
+ {"version":3,"sources":["../../../../../packages/vite/src/utils/e2e-web-server-info-utils.ts"],"sourcesContent":["import { type Tree, readNxJson } from '@nx/devkit';\nimport { getE2EWebServerInfo } from '@nx/devkit/src/generators/e2e-web-server-info-utils';\n\nexport async function getViteE2EWebServerInfo(\n tree: Tree,\n projectName: string,\n configFilePath: string,\n isPluginBeingAdded: boolean,\n e2ePortOverride?: number\n) {\n const nxJson = readNxJson(tree);\n let e2ePort = e2ePortOverride ?? 4200;\n\n if (\n (nxJson.targetDefaults?.['dev'] &&\n nxJson.targetDefaults?.['dev'].options?.port) ||\n (nxJson.targetDefaults?.['serve'] &&\n nxJson.targetDefaults?.['serve'].options?.port)\n ) {\n e2ePort =\n nxJson.targetDefaults?.['dev'].options?.port ??\n nxJson.targetDefaults?.['serve'].options?.port;\n }\n\n return getE2EWebServerInfo(\n tree,\n projectName,\n {\n plugin: '@nx/vite/plugin',\n serveTargetName: 'devTargetName',\n serveStaticTargetName: 'previewTargetName',\n configFilePath,\n },\n {\n defaultServeTargetName: 'dev',\n defaultServeStaticTargetName: 'preview',\n defaultE2EWebServerAddress: `http://localhost:${e2ePort}`,\n defaultE2ECiBaseUrl: 'http://localhost:4300',\n defaultE2EPort: e2ePort,\n },\n isPluginBeingAdded\n );\n}\n"],"names":["getViteE2EWebServerInfo","tree","projectName","configFilePath","isPluginBeingAdded","e2ePortOverride","nxJson","readNxJson","e2ePort","targetDefaults","options","port","getE2EWebServerInfo","plugin","serveTargetName","serveStaticTargetName","defaultServeTargetName","defaultServeStaticTargetName","defaultE2EWebServerAddress","defaultE2ECiBaseUrl","defaultE2EPort"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";+BAGsBA;;;eAAAA;;;wBAHgB;uCACF;AAE7B,eAAeA,wBACpBC,IAAU,EACVC,WAAmB,EACnBC,cAAsB,EACtBC,kBAA2B,EAC3BC,eAAwB;QAMrBC,wBACCA,oCAAAA,yBACDA,yBACCA,sCAAAA;IAPJ,MAAMA,SAASC,IAAAA,kBAAU,EAACN;IAC1B,IAAIO,UAAUH,0BAAAA,kBAAmB;IAEjC,IACE,EAACC,yBAAAA,OAAOG,cAAc,qBAArBH,sBAAuB,CAAC,MAAM,OAC7BA,0BAAAA,OAAOG,cAAc,sBAArBH,qCAAAA,uBAAuB,CAAC,MAAM,CAACI,OAAO,qBAAtCJ,mCAAwCK,IAAI,KAC7CL,EAAAA,0BAAAA,OAAOG,cAAc,qBAArBH,uBAAuB,CAAC,QAAQ,OAC/BA,0BAAAA,OAAOG,cAAc,sBAArBH,uCAAAA,uBAAuB,CAAC,QAAQ,CAACI,OAAO,qBAAxCJ,qCAA0CK,IAAI,GAChD;YAEEL,qCAAAA,yBACAA,uCAAAA;YADAA;QADFE,UACEF,CAAAA,2CAAAA,0BAAAA,OAAOG,cAAc,sBAArBH,sCAAAA,uBAAuB,CAAC,MAAM,CAACI,OAAO,qBAAtCJ,oCAAwCK,IAAI,YAA5CL,2CACAA,0BAAAA,OAAOG,cAAc,sBAArBH,wCAAAA,uBAAuB,CAAC,QAAQ,CAACI,OAAO,qBAAxCJ,sCAA0CK,IAAI;IAClD;IAEA,OAAOC,IAAAA,0CAAmB,EACxBX,MACAC,aACA;QACEW,QAAQ;QACRC,iBAAiB;QACjBC,uBAAuB;QACvBZ;IACF,GACA;QACEa,wBAAwB;QACxBC,8BAA8B;QAC9BC,4BAA4B,CAAC,iBAAiB,EAAEV,QAAQ,CAAC;QACzDW,qBAAqB;QACrBC,gBAAgBZ;IAClB,GACAJ;AAEJ"}