@nx/vite 20.3.1 → 20.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2017-2024 Narwhal Technologies Inc.
3
+ Copyright (c) 2017-2025 Narwhal Technologies Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/vite",
3
- "version": "20.3.1",
3
+ "version": "20.4.0-beta.0",
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.1",
33
+ "@nx/devkit": "20.4.0-beta.0",
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.1",
37
+ "@nx/js": "20.4.0-beta.0",
38
38
  "tsconfig-paths": "^4.1.2",
39
39
  "minimatch": "9.0.3"
40
40
  },
@@ -93,6 +93,16 @@ async function initGeneratorInternal(tree, schema) {
93
93
  'typecheck',
94
94
  'vite:typecheck',
95
95
  'vite-typecheck'
96
+ ],
97
+ buildDepsTargetName: [
98
+ 'build-deps',
99
+ 'vite:build-deps',
100
+ 'vite-build-deps'
101
+ ],
102
+ watchDepsTargetName: [
103
+ 'watch-deps',
104
+ 'vite:watch-deps',
105
+ 'vite-watch-deps'
96
106
  ]
97
107
  }, schema.updatePackageScripts);
98
108
  }
@@ -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 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","previewTargetName","serveStaticTargetName","typecheckTargetName","buildDepsTargetName","watchDepsTargetName","updatePackageScripts","addViteTempFilesToGitIgnore","setupPathsPlugin","skipFormat","tasks","skipPackageJson","moveToDevDependencies","checkDependenciesInstalled","formatFiles","runTasksInSerial"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -6,6 +6,8 @@ export interface VitePluginOptions {
6
6
  previewTargetName?: string;
7
7
  serveStaticTargetName?: string;
8
8
  typecheckTargetName?: string;
9
+ watchDepsTargetName?: string;
10
+ buildDepsTargetName?: string;
9
11
  }
10
12
  /**
11
13
  * @deprecated The 'createDependencies' function is now a no-op. This functionality is included in 'createNodesV2'.
@@ -28,6 +28,7 @@ const _executorutils = require("../utils/executor-utils");
28
28
  const _filehasher = require("nx/src/hasher/file-hasher");
29
29
  const _minimatch = require("minimatch");
30
30
  const _tssolutionsetup = require("@nx/js/src/utils/typescript/ts-solution-setup");
31
+ const _util = require("@nx/js/src/plugins/typescript/util");
31
32
  const pmc = (0, _devkit.getPackageManagerCommand)();
32
33
  function readTargetsCache(cachePath) {
33
34
  return process.env.NX_CACHE_PROJECT_GRAPH !== 'false' && (0, _fs.existsSync)(cachePath) ? (0, _devkit.readJsonFile)(cachePath) : {};
@@ -178,6 +179,7 @@ async function buildViteTargets(configFilePath, projectRoot, options, tsConfigFi
178
179
  if (configFilePath.includes('vitest.config') || hasTest) {
179
180
  targets[options.testTargetName] = await testTarget(namedInputs, testOutputs, projectRoot);
180
181
  }
182
+ (0, _util.addBuildAndWatchDepsTargets)(context.workspaceRoot, projectRoot, targets, options, pmc);
181
183
  const metadata = {};
182
184
  return {
183
185
  targets,
@@ -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 serveTargetName?: 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 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 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 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","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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"}