@nx/vite 16.9.0-beta.4 → 16.9.0-rc.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.
Files changed (45) hide show
  1. package/package.json +3 -3
  2. package/plugins/nx-tsconfig-paths.plugin.js.map +1 -1
  3. package/plugins/rollup-replace-files.plugin.js.map +1 -1
  4. package/src/executors/build/build.impl.js +1 -1
  5. package/src/executors/build/build.impl.js.map +1 -1
  6. package/src/executors/build/schema.d.js +2 -0
  7. package/src/executors/build/schema.d.js.map +1 -0
  8. package/src/executors/dev-server/dev-server.impl.js.map +1 -1
  9. package/src/executors/dev-server/schema.d.js +2 -0
  10. package/src/executors/dev-server/schema.d.js.map +1 -0
  11. package/src/executors/preview-server/preview-server.impl.js +1 -1
  12. package/src/executors/preview-server/preview-server.impl.js.map +1 -1
  13. package/src/executors/preview-server/schema.d.js +2 -0
  14. package/src/executors/preview-server/schema.d.js.map +1 -0
  15. package/src/executors/test/schema.d.js +2 -0
  16. package/src/executors/test/schema.d.js.map +1 -0
  17. package/src/executors/test/vitest.impl.js +2 -2
  18. package/src/executors/test/vitest.impl.js.map +1 -1
  19. package/src/generators/configuration/configuration.js +3 -3
  20. package/src/generators/configuration/configuration.js.map +1 -1
  21. package/src/generators/configuration/schema.d.js +2 -0
  22. package/src/generators/configuration/schema.d.js.map +1 -0
  23. package/src/generators/init/init.js.map +1 -1
  24. package/src/generators/init/schema.d.js +2 -0
  25. package/src/generators/init/schema.d.js.map +1 -0
  26. package/src/generators/vitest/schema.d.js +2 -0
  27. package/src/generators/vitest/schema.d.js.map +1 -0
  28. package/src/generators/vitest/vitest-generator.js +3 -3
  29. package/src/generators/vitest/vitest-generator.js.map +1 -1
  30. package/src/migrations/update-15-3-1/update-vite-tsconfig-paths.js.map +1 -1
  31. package/src/migrations/update-15-3-4/set-mode-in-configuration.js.map +1 -1
  32. package/src/migrations/update-15-4-3/update-report-directory.js.map +1 -1
  33. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +1 -1
  34. package/src/migrations/update-16-4-1-update-test-file-config/update-16-4-1-test-file-config.js.map +1 -1
  35. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js +1 -1
  36. package/src/migrations/update-16-6-0-change-ts-paths-plugin/change-ts-paths-plugin.js.map +1 -1
  37. package/src/utils/executor-utils.js +1 -1
  38. package/src/utils/executor-utils.js.map +1 -1
  39. package/src/utils/generator-utils.js +6 -6
  40. package/src/utils/generator-utils.js.map +1 -1
  41. package/src/utils/options-utils.js.map +1 -1
  42. package/src/utils/test-files/test-vite-configs.js.map +1 -1
  43. package/src/utils/test-utils.js.map +1 -1
  44. package/src/utils/vite-config-edit-utils.js +7 -7
  45. package/src/utils/vite-config-edit-utils.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/vite",
3
- "version": "16.9.0-beta.4",
3
+ "version": "16.9.0-rc.0",
4
4
  "private": false,
5
5
  "description": "The Nx Plugin for building and testing applications using Vite",
6
6
  "repository": {
@@ -32,8 +32,8 @@
32
32
  "@phenomnomnominal/tsquery": "~5.0.1",
33
33
  "@swc/helpers": "~0.5.0",
34
34
  "enquirer": "~2.3.6",
35
- "@nx/devkit": "16.9.0-beta.4",
36
- "@nx/js": "16.9.0-beta.4",
35
+ "@nx/devkit": "16.9.0-rc.0",
36
+ "@nx/js": "16.9.0-rc.0",
37
37
  "tsconfig-paths": "^4.1.2",
38
38
  "@nrwl/vite": "*"
39
39
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../packages/vite/plugins/nx-tsconfig-paths.plugin.ts"],"sourcesContent":["import { stripIndents, workspaceRoot } from '@nx/devkit';\nimport { existsSync } from 'node:fs';\nimport { relative, join, resolve } from 'node:path';\nimport {\n loadConfig,\n createMatchPath,\n MatchPath,\n ConfigLoaderSuccessResult,\n} from 'tsconfig-paths';\n\nexport interface nxViteTsPathsOptions {\n /**\n * Enable debug logging\n * @default false\n **/\n debug?: boolean;\n /**\n * export fields in package.json to use for resolving\n * @default [['exports', '.', 'import'], 'module', 'main']\n *\n * fallback resolution will use ['main', 'module']\n **/\n mainFields?: (string | string[])[];\n /**\n * extensions to check when resolving files when package.json resolution fails\n * @default ['.ts', '.tsx', '.js', '.jsx', '.json', '.mjs', '.cjs']\n **/\n extensions?: string[];\n}\n\nexport function nxViteTsPaths(options: nxViteTsPathsOptions = {}) {\n let matchTsPathEsm: MatchPath;\n let matchTsPathFallback: MatchPath | undefined;\n let tsConfigPathsEsm: ConfigLoaderSuccessResult;\n let tsConfigPathsFallback: ConfigLoaderSuccessResult;\n\n options.extensions ??= [\n '.ts',\n '.tsx',\n '.js',\n '.jsx',\n '.json',\n '.mjs',\n '.cjs',\n ];\n options.mainFields ??= [['exports', '.', 'import'], 'module', 'main'];\n\n return {\n name: 'nx-vite-ts-paths',\n configResolved(config: any) {\n const projectRoot = config.root;\n const projectRootFromWorkspaceRoot = relative(workspaceRoot, projectRoot);\n\n const foundTsConfigPath = getTsConfig(\n join(\n workspaceRoot,\n 'tmp',\n projectRootFromWorkspaceRoot,\n 'tsconfig.generated.json'\n )\n );\n if (!foundTsConfigPath) {\n throw new Error(stripIndents`Unable to find a tsconfig in the workspace! \nThere should at least be a tsconfig.base.json or tsconfig.json in the root of the workspace ${workspaceRoot}`);\n }\n const parsed = loadConfig(foundTsConfigPath);\n\n logIt('first parsed tsconfig: ', parsed);\n if (parsed.resultType === 'failed') {\n throw new Error(`Failed loading tsonfig at ${foundTsConfigPath}`);\n }\n tsConfigPathsEsm = parsed;\n\n matchTsPathEsm = createMatchPath(\n parsed.absoluteBaseUrl,\n parsed.paths,\n options.mainFields\n );\n\n const rootLevelTsConfig = getTsConfig(\n join(workspaceRoot, 'tsconfig.base.json')\n );\n const rootLevelParsed = loadConfig(rootLevelTsConfig);\n logIt('fallback parsed tsconfig: ', rootLevelParsed);\n if (rootLevelParsed.resultType === 'success') {\n tsConfigPathsFallback = rootLevelParsed;\n matchTsPathFallback = createMatchPath(\n rootLevelParsed.absoluteBaseUrl,\n rootLevelParsed.paths,\n ['main', 'module']\n );\n }\n },\n resolveId(importPath: string) {\n let resolvedFile: string;\n try {\n resolvedFile = matchTsPathEsm(importPath);\n } catch (e) {\n logIt('Using fallback path matching.');\n resolvedFile = matchTsPathFallback?.(importPath);\n }\n\n if (!resolvedFile) {\n if (tsConfigPathsEsm || tsConfigPathsFallback) {\n logIt(\n `Unable to resolve ${importPath} with tsconfig paths. Using fallback file matching.`\n );\n resolvedFile =\n loadFileFromPaths(tsConfigPathsEsm, importPath) ||\n loadFileFromPaths(tsConfigPathsFallback, importPath);\n } else {\n logIt(`Unable to resolve ${importPath} with tsconfig paths`);\n }\n }\n\n logIt(`Resolved ${importPath} to ${resolvedFile}`);\n // Returning null defers to other resolveId functions and eventually the default resolution behavior\n // https://rollupjs.org/plugin-development/#resolveid\n return resolvedFile || null;\n },\n };\n\n function getTsConfig(preferredTsConfigPath: string): string {\n return [\n resolve(preferredTsConfigPath),\n resolve(join(workspaceRoot, 'tsconfig.base.json')),\n resolve(join(workspaceRoot, 'tsconfig.json')),\n ].find((tsPath) => {\n if (existsSync(tsPath)) {\n logIt('Found tsconfig at', tsPath);\n return tsPath;\n }\n });\n }\n\n function logIt(...msg: any[]) {\n if (process.env.NX_VERBOSE_LOGGING === 'true' || options?.debug) {\n console.debug('\\n[Nx Vite TsPaths]', ...msg);\n }\n }\n\n function loadFileFromPaths(\n tsconfig: ConfigLoaderSuccessResult,\n importPath: string\n ) {\n logIt(\n `Trying to resolve file from config in ${tsconfig.configFileAbsolutePath}`\n );\n let resolvedFile: string;\n for (const alias in tsconfig.paths) {\n const paths = tsconfig.paths[alias];\n\n const normalizedImport = alias.replace(/\\/\\*$/, '');\n\n if (importPath.startsWith(normalizedImport)) {\n const path = (tsconfig.absoluteBaseUrl, paths[0].replace(/\\/\\*$/, ''));\n resolvedFile = findFile(importPath.replace(normalizedImport, path));\n }\n }\n\n return resolvedFile;\n }\n\n function findFile(path: string): string {\n for (const ext of options.extensions) {\n const r = resolve(path + ext);\n if (existsSync(r)) {\n return r;\n }\n }\n }\n}\n"],"names":["nxViteTsPaths","options","matchTsPathEsm","matchTsPathFallback","tsConfigPathsEsm","tsConfigPathsFallback","extensions","mainFields","name","configResolved","config","projectRoot","root","projectRootFromWorkspaceRoot","relative","workspaceRoot","foundTsConfigPath","getTsConfig","join","Error","stripIndents","parsed","loadConfig","logIt","resultType","createMatchPath","absoluteBaseUrl","paths","rootLevelTsConfig","rootLevelParsed","resolveId","importPath","resolvedFile","e","loadFileFromPaths","preferredTsConfigPath","resolve","find","tsPath","existsSync","msg","process","env","NX_VERBOSE_LOGGING","debug","console","tsconfig","configFileAbsolutePath","alias","normalizedImport","replace","startsWith","path","findFile","ext","r"],"mappings":";+BA8BgBA;;;eAAAA;;;wBA9B4B;wBACjB;0BACa;+BAMjC;AAsBA,SAASA,cAAcC,UAAgC,CAAC,CAAC,EAAE;QAMhEA,UASAA;IAdA,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;;IAEJJ,gBAAAA,WAAAA,SAAQK,oCAARL,SAAQK,aAAe;QACrB;QACA;QACA;QACA;QACA;QACA;QACA;KACD;;IACDL,gBAAAA,YAAAA,SAAQM,oCAARN,UAAQM,aAAe;QAAC;YAAC;YAAW;YAAK;SAAS;QAAE;QAAU;KAAO;IAErE,OAAO;QACLC,MAAM;QACNC,gBAAeC,MAAW,EAAE;YAC1B,MAAMC,cAAcD,OAAOE,IAAI;YAC/B,MAAMC,+BAA+BC,IAAAA,kBAAQ,EAACC,qBAAa,EAAEJ;YAE7D,MAAMK,oBAAoBC,YACxBC,IAAAA,cAAI,EACFH,qBAAa,EACb,OACAF,8BACA;YAGJ,IAAI,CAACG,mBAAmB;gBACtB,MAAM,IAAIG,MAAMC,IAAAA,oBAAY,CAAA,CAAC;4FACuD,EAAEL,qBAAa,CAAC,CAAC,EAAE;YACzG,CAAC;YACD,MAAMM,SAASC,IAAAA,yBAAU,EAACN;YAE1BO,MAAM,2BAA2BF;YACjC,IAAIA,OAAOG,UAAU,KAAK,UAAU;gBAClC,MAAM,IAAIL,MAAM,CAAC,0BAA0B,EAAEH,kBAAkB,CAAC,EAAE;YACpE,CAAC;YACDZ,mBAAmBiB;YAEnBnB,iBAAiBuB,IAAAA,8BAAe,EAC9BJ,OAAOK,eAAe,EACtBL,OAAOM,KAAK,EACZ1B,QAAQM,UAAU;YAGpB,MAAMqB,oBAAoBX,YACxBC,IAAAA,cAAI,EAACH,qBAAa,EAAE;YAEtB,MAAMc,kBAAkBP,IAAAA,yBAAU,EAACM;YACnCL,MAAM,8BAA8BM;YACpC,IAAIA,gBAAgBL,UAAU,KAAK,WAAW;gBAC5CnB,wBAAwBwB;gBACxB1B,sBAAsBsB,IAAAA,8BAAe,EACnCI,gBAAgBH,eAAe,EAC/BG,gBAAgBF,KAAK,EACrB;oBAAC;oBAAQ;iBAAS;YAEtB,CAAC;QACH;QACAG,WAAUC,UAAkB,EAAE;YAC5B,IAAIC;YACJ,IAAI;gBACFA,eAAe9B,eAAe6B;YAChC,EAAE,OAAOE,GAAG;gBACVV,MAAM;gBACNS,eAAe7B,8BAAAA,KAAAA,IAAAA,oBAAsB4B;YACvC;YAEA,IAAI,CAACC,cAAc;gBACjB,IAAI5B,oBAAoBC,uBAAuB;oBAC7CkB,MACE,CAAC,kBAAkB,EAAEQ,WAAW,mDAAmD,CAAC;oBAEtFC,eACEE,kBAAkB9B,kBAAkB2B,eACpCG,kBAAkB7B,uBAAuB0B;gBAC7C,OAAO;oBACLR,MAAM,CAAC,kBAAkB,EAAEQ,WAAW,oBAAoB,CAAC;gBAC7D,CAAC;YACH,CAAC;YAEDR,MAAM,CAAC,SAAS,EAAEQ,WAAW,IAAI,EAAEC,aAAa,CAAC;YACjD,oGAAoG;YACpG,qDAAqD;YACrD,OAAOA,gBAAgB,IAAI;QAC7B;IACF;IAEA,SAASf,YAAYkB,qBAA6B,EAAU;QAC1D,OAAO;YACLC,IAAAA,iBAAO,EAACD;YACRC,IAAAA,iBAAO,EAAClB,IAAAA,cAAI,EAACH,qBAAa,EAAE;YAC5BqB,IAAAA,iBAAO,EAAClB,IAAAA,cAAI,EAACH,qBAAa,EAAE;SAC7B,CAACsB,IAAI,CAAC,CAACC,SAAW;YACjB,IAAIC,IAAAA,kBAAU,EAACD,SAAS;gBACtBf,MAAM,qBAAqBe;gBAC3B,OAAOA;YACT,CAAC;QACH;IACF;IAEA,SAASf,MAAM,GAAGiB,GAAU,EAAE;QAC5B,IAAIC,QAAQC,GAAG,CAACC,kBAAkB,KAAK,UAAU1C,CAAAA,kBAAAA,KAAAA,IAAAA,QAAS2C,KAAK,AAAD,GAAG;YAC/DC,QAAQD,KAAK,CAAC,0BAA0BJ;QAC1C,CAAC;IACH;IAEA,SAASN,kBACPY,QAAmC,EACnCf,UAAkB,EAClB;QACAR,MACE,CAAC,sCAAsC,EAAEuB,SAASC,sBAAsB,CAAC,CAAC;QAE5E,IAAIf;QACJ,IAAK,MAAMgB,SAASF,SAASnB,KAAK,CAAE;YAClC,MAAMA,QAAQmB,SAASnB,KAAK,CAACqB,MAAM;YAEnC,MAAMC,mBAAmBD,MAAME,OAAO,CAAC,SAAS;YAEhD,IAAInB,WAAWoB,UAAU,CAACF,mBAAmB;gBAC3C,MAAMG,OAAQN,CAAAA,SAASpB,eAAe,EAAEC,KAAK,CAAC,EAAE,CAACuB,OAAO,CAAC,SAAS,GAAG,AAAD;gBACpElB,eAAeqB,SAAStB,WAAWmB,OAAO,CAACD,kBAAkBG;YAC/D,CAAC;QACH;QAEA,OAAOpB;IACT;IAEA,SAASqB,SAASD,IAAY,EAAU;QACtC,KAAK,MAAME,OAAOrD,QAAQK,UAAU,CAAE;YACpC,MAAMiD,IAAInB,IAAAA,iBAAO,EAACgB,OAAOE;YACzB,IAAIf,IAAAA,kBAAU,EAACgB,IAAI;gBACjB,OAAOA;YACT,CAAC;QACH;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../packages/vite/plugins/nx-tsconfig-paths.plugin.ts"],"sourcesContent":["import { stripIndents, workspaceRoot } from '@nx/devkit';\nimport { existsSync } from 'node:fs';\nimport { relative, join, resolve } from 'node:path';\nimport {\n loadConfig,\n createMatchPath,\n MatchPath,\n ConfigLoaderSuccessResult,\n} from 'tsconfig-paths';\n\nexport interface nxViteTsPathsOptions {\n /**\n * Enable debug logging\n * @default false\n **/\n debug?: boolean;\n /**\n * export fields in package.json to use for resolving\n * @default [['exports', '.', 'import'], 'module', 'main']\n *\n * fallback resolution will use ['main', 'module']\n **/\n mainFields?: (string | string[])[];\n /**\n * extensions to check when resolving files when package.json resolution fails\n * @default ['.ts', '.tsx', '.js', '.jsx', '.json', '.mjs', '.cjs']\n **/\n extensions?: string[];\n}\n\nexport function nxViteTsPaths(options: nxViteTsPathsOptions = {}) {\n let matchTsPathEsm: MatchPath;\n let matchTsPathFallback: MatchPath | undefined;\n let tsConfigPathsEsm: ConfigLoaderSuccessResult;\n let tsConfigPathsFallback: ConfigLoaderSuccessResult;\n\n options.extensions ??= [\n '.ts',\n '.tsx',\n '.js',\n '.jsx',\n '.json',\n '.mjs',\n '.cjs',\n ];\n options.mainFields ??= [['exports', '.', 'import'], 'module', 'main'];\n\n return {\n name: 'nx-vite-ts-paths',\n configResolved(config: any) {\n const projectRoot = config.root;\n const projectRootFromWorkspaceRoot = relative(workspaceRoot, projectRoot);\n\n const foundTsConfigPath = getTsConfig(\n join(\n workspaceRoot,\n 'tmp',\n projectRootFromWorkspaceRoot,\n 'tsconfig.generated.json'\n )\n );\n if (!foundTsConfigPath) {\n throw new Error(stripIndents`Unable to find a tsconfig in the workspace! \nThere should at least be a tsconfig.base.json or tsconfig.json in the root of the workspace ${workspaceRoot}`);\n }\n const parsed = loadConfig(foundTsConfigPath);\n\n logIt('first parsed tsconfig: ', parsed);\n if (parsed.resultType === 'failed') {\n throw new Error(`Failed loading tsonfig at ${foundTsConfigPath}`);\n }\n tsConfigPathsEsm = parsed;\n\n matchTsPathEsm = createMatchPath(\n parsed.absoluteBaseUrl,\n parsed.paths,\n options.mainFields\n );\n\n const rootLevelTsConfig = getTsConfig(\n join(workspaceRoot, 'tsconfig.base.json')\n );\n const rootLevelParsed = loadConfig(rootLevelTsConfig);\n logIt('fallback parsed tsconfig: ', rootLevelParsed);\n if (rootLevelParsed.resultType === 'success') {\n tsConfigPathsFallback = rootLevelParsed;\n matchTsPathFallback = createMatchPath(\n rootLevelParsed.absoluteBaseUrl,\n rootLevelParsed.paths,\n ['main', 'module']\n );\n }\n },\n resolveId(importPath: string) {\n let resolvedFile: string;\n try {\n resolvedFile = matchTsPathEsm(importPath);\n } catch (e) {\n logIt('Using fallback path matching.');\n resolvedFile = matchTsPathFallback?.(importPath);\n }\n\n if (!resolvedFile) {\n if (tsConfigPathsEsm || tsConfigPathsFallback) {\n logIt(\n `Unable to resolve ${importPath} with tsconfig paths. Using fallback file matching.`\n );\n resolvedFile =\n loadFileFromPaths(tsConfigPathsEsm, importPath) ||\n loadFileFromPaths(tsConfigPathsFallback, importPath);\n } else {\n logIt(`Unable to resolve ${importPath} with tsconfig paths`);\n }\n }\n\n logIt(`Resolved ${importPath} to ${resolvedFile}`);\n // Returning null defers to other resolveId functions and eventually the default resolution behavior\n // https://rollupjs.org/plugin-development/#resolveid\n return resolvedFile || null;\n },\n };\n\n function getTsConfig(preferredTsConfigPath: string): string {\n return [\n resolve(preferredTsConfigPath),\n resolve(join(workspaceRoot, 'tsconfig.base.json')),\n resolve(join(workspaceRoot, 'tsconfig.json')),\n ].find((tsPath) => {\n if (existsSync(tsPath)) {\n logIt('Found tsconfig at', tsPath);\n return tsPath;\n }\n });\n }\n\n function logIt(...msg: any[]) {\n if (process.env.NX_VERBOSE_LOGGING === 'true' || options?.debug) {\n console.debug('\\n[Nx Vite TsPaths]', ...msg);\n }\n }\n\n function loadFileFromPaths(\n tsconfig: ConfigLoaderSuccessResult,\n importPath: string\n ) {\n logIt(\n `Trying to resolve file from config in ${tsconfig.configFileAbsolutePath}`\n );\n let resolvedFile: string;\n for (const alias in tsconfig.paths) {\n const paths = tsconfig.paths[alias];\n\n const normalizedImport = alias.replace(/\\/\\*$/, '');\n\n if (importPath.startsWith(normalizedImport)) {\n const path = (tsconfig.absoluteBaseUrl, paths[0].replace(/\\/\\*$/, ''));\n resolvedFile = findFile(importPath.replace(normalizedImport, path));\n }\n }\n\n return resolvedFile;\n }\n\n function findFile(path: string): string {\n for (const ext of options.extensions) {\n const r = resolve(path + ext);\n if (existsSync(r)) {\n return r;\n }\n }\n }\n}\n"],"names":["nxViteTsPaths","options","matchTsPathEsm","matchTsPathFallback","tsConfigPathsEsm","tsConfigPathsFallback","extensions","mainFields","name","configResolved","config","projectRoot","root","projectRootFromWorkspaceRoot","relative","workspaceRoot","foundTsConfigPath","getTsConfig","join","Error","stripIndents","parsed","loadConfig","logIt","resultType","createMatchPath","absoluteBaseUrl","paths","rootLevelTsConfig","rootLevelParsed","resolveId","importPath","resolvedFile","e","loadFileFromPaths","preferredTsConfigPath","resolve","find","tsPath","existsSync","msg","process","env","NX_VERBOSE_LOGGING","debug","console","tsconfig","configFileAbsolutePath","alias","normalizedImport","replace","startsWith","path","findFile","ext","r"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../packages/vite/plugins/rollup-replace-files.plugin.ts"],"sourcesContent":["// source: https://github.com/Myrmod/vitejs-theming/blob/master/build-plugins/rollup/replace-files.js\n\n/**\n * @function replaceFiles\n * @param {FileReplacement[]} replacements\n * @return {({name: \"rollup-plugin-replace-files\", enforce: \"pre\", Promise<resolveId>})}\n */\nexport default function replaceFiles(replacements: FileReplacement[]) {\n if (!replacements?.length) {\n return null;\n }\n return {\n name: 'rollup-plugin-replace-files',\n enforce: 'pre',\n async resolveId(source, importer, options) {\n const resolved = await this.resolve(source, importer, {\n ...options,\n skipSelf: true,\n });\n /**\n * The reason we're using endsWith here is because the resolved id\n * will be the absolute path to the file. We want to check if the\n * file ends with the file we're trying to replace, which will be essentially\n * the path from the root of our workspace.\n */\n\n const foundReplace = replacements.find((replacement) =>\n resolved?.id?.endsWith(replacement.replace)\n );\n if (foundReplace) {\n console.info(\n `replace \"${foundReplace.replace}\" with \"${foundReplace.with}\"`\n );\n try {\n // return new file content\n return {\n id: foundReplace.with,\n };\n } catch (err) {\n console.error(err);\n return null;\n }\n }\n return null;\n },\n };\n}\n\nexport interface FileReplacement {\n replace: string;\n with: string;\n}\n"],"names":["replaceFiles","replacements","length","name","enforce","resolveId","source","importer","options","resolved","resolve","skipSelf","foundReplace","find","replacement","id","endsWith","replace","console","info","with","err","error"],"mappings":"AAAA,qGAAqG;AAErG;;;;CAIC;+BACD;;;eAAwBA;;;;AAAT,SAASA,aAAaC,YAA+B,EAAE;IACpE,IAAI,CAACA,CAAAA,uBAAAA,KAAAA,IAAAA,aAAcC,MAAM,AAAD,GAAG;QACzB,OAAO,IAAI;IACb,CAAC;IACD,OAAO;QACLC,MAAM;QACNC,SAAS;QACT,MAAMC,WAAUC,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAE;YACzC,MAAMC,WAAW,MAAM,IAAI,CAACC,OAAO,CAACJ,QAAQC,UAAU,eACjDC;gBACHG,UAAU,IAAI;;YAEhB;;;;;OAKC,GAED,MAAMC,eAAeX,aAAaY,IAAI,CAAC,CAACC;oBACtCL;gBAAAA,OAAAA,mBAAAA,KAAAA,IAAAA,CAAAA,eAAAA,SAAUM,EAAE,YAAZN,KAAAA,IAAAA,aAAcO,SAASF,YAAYG,OAAO;;YAE5C,IAAIL,cAAc;gBAChBM,QAAQC,IAAI,CACV,CAAC,SAAS,EAAEP,aAAaK,OAAO,CAAC,QAAQ,EAAEL,aAAaQ,IAAI,CAAC,CAAC,CAAC;gBAEjE,IAAI;oBACF,0BAA0B;oBAC1B,OAAO;wBACLL,IAAIH,aAAaQ,IAAI;oBACvB;gBACF,EAAE,OAAOC,KAAK;oBACZH,QAAQI,KAAK,CAACD;oBACd,OAAO,IAAI;gBACb;YACF,CAAC;YACD,OAAO,IAAI;QACb;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../packages/vite/plugins/rollup-replace-files.plugin.ts"],"sourcesContent":["// source: https://github.com/Myrmod/vitejs-theming/blob/master/build-plugins/rollup/replace-files.js\n\n/**\n * @function replaceFiles\n * @param {FileReplacement[]} replacements\n * @return {({name: \"rollup-plugin-replace-files\", enforce: \"pre\", Promise<resolveId>})}\n */\nexport default function replaceFiles(replacements: FileReplacement[]) {\n if (!replacements?.length) {\n return null;\n }\n return {\n name: 'rollup-plugin-replace-files',\n enforce: 'pre',\n async resolveId(source, importer, options) {\n const resolved = await this.resolve(source, importer, {\n ...options,\n skipSelf: true,\n });\n /**\n * The reason we're using endsWith here is because the resolved id\n * will be the absolute path to the file. We want to check if the\n * file ends with the file we're trying to replace, which will be essentially\n * the path from the root of our workspace.\n */\n\n const foundReplace = replacements.find((replacement) =>\n resolved?.id?.endsWith(replacement.replace)\n );\n if (foundReplace) {\n console.info(\n `replace \"${foundReplace.replace}\" with \"${foundReplace.with}\"`\n );\n try {\n // return new file content\n return {\n id: foundReplace.with,\n };\n } catch (err) {\n console.error(err);\n return null;\n }\n }\n return null;\n },\n };\n}\n\nexport interface FileReplacement {\n replace: string;\n with: string;\n}\n"],"names":["replaceFiles","replacements","length","name","enforce","resolveId","source","importer","options","resolved","resolve","skipSelf","foundReplace","find","replacement","id","endsWith","replace","console","info","with","err","error"],"mappings":"AAAA,qGAAqG;AAErG;;;;CAIC;+BACD;;;eAAwBA;;;;AAAT,SAASA,aAAaC,YAA+B;IAClE,IAAI,EAACA,gCAAAA,aAAcC,MAAM,GAAE;QACzB,OAAO;IACT;IACA,OAAO;QACLC,MAAM;QACNC,SAAS;QACT,MAAMC,WAAUC,MAAM,EAAEC,QAAQ,EAAEC,OAAO;YACvC,MAAMC,WAAW,MAAM,IAAI,CAACC,OAAO,CAACJ,QAAQC,UAAU,eACjDC;gBACHG,UAAU;;YAEZ;;;;;OAKC,GAED,MAAMC,eAAeX,aAAaY,IAAI,CAAC,CAACC;oBACtCL;uBAAAA,6BAAAA,eAAAA,SAAUM,EAAE,qBAAZN,aAAcO,QAAQ,CAACF,YAAYG,OAAO;;YAE5C,IAAIL,cAAc;gBAChBM,QAAQC,IAAI,CACV,CAAC,SAAS,EAAEP,aAAaK,OAAO,CAAC,QAAQ,EAAEL,aAAaQ,IAAI,CAAC,CAAC,CAAC;gBAEjE,IAAI;oBACF,0BAA0B;oBAC1B,OAAO;wBACLL,IAAIH,aAAaQ,IAAI;oBACvB;gBACF,EAAE,OAAOC,KAAK;oBACZH,QAAQI,KAAK,CAACD;oBACd,OAAO;gBACT;YACF;YACA,OAAO;QACT;IACF;AACF"}
@@ -71,7 +71,7 @@ async function* viteBuildExecutor(options, context) {
71
71
  }, context);
72
72
  }
73
73
  if ('on' in watcherOrOutput) {
74
- const iterable = (0, _asynciterable.createAsyncIterable)(({ next })=>{
74
+ const iterable = (0, _asynciterable.createAsyncIterable)(({ next })=>{
75
75
  let success = true;
76
76
  watcherOrOutput.on('event', (event)=>{
77
77
  if (event.code === 'START') {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/build/build.impl.ts"],"sourcesContent":["import {\n detectPackageManager,\n ExecutorContext,\n logger,\n stripIndents,\n writeJsonFile,\n} from '@nx/devkit';\nimport { build, InlineConfig, mergeConfig } from 'vite';\nimport {\n getProjectTsConfigPath,\n getViteBuildOptions,\n getViteSharedConfig,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from './schema';\nimport {\n copyAssets,\n createLockFile,\n createPackageJson,\n getLockFileName,\n} from '@nx/js';\nimport { existsSync, writeFileSync } from 'fs';\nimport { resolve } from 'path';\nimport { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable';\nimport {\n createBuildableTsConfig,\n validateTypes,\n} from '../../utils/executor-utils';\n\nexport async function* viteBuildExecutor(\n options: ViteBuildExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n createBuildableTsConfig(projectRoot, options, context);\n\n const normalizedOptions = normalizeOptions(options);\n\n const buildConfig = mergeConfig(\n getViteSharedConfig(normalizedOptions, false, context),\n {\n build: getViteBuildOptions(normalizedOptions, context),\n }\n );\n\n if (!options.skipTypeCheck) {\n await validateTypes({\n workspaceRoot: context.root,\n projectRoot: projectRoot,\n tsconfig: getProjectTsConfigPath(projectRoot),\n });\n }\n\n const watcherOrOutput = await runInstance(buildConfig);\n\n const libraryPackageJson = resolve(projectRoot, 'package.json');\n const rootPackageJson = resolve(context.root, 'package.json');\n const distPackageJson = resolve(normalizedOptions.outputPath, 'package.json');\n\n // Generate a package.json if option has been set.\n if (options.generatePackageJson) {\n if (context.projectGraph.nodes[context.projectName].type !== 'app') {\n logger.warn(\n stripIndents`The project ${context.projectName} is using the 'generatePackageJson' option which is deprecated for library projects. It should only be used for applications.\n For libraries, configure the project to use the '@nx/dependency-checks' ESLint rule instead (https://nx.dev/packages/eslint-plugin/documents/dependency-checks).`\n );\n }\n\n const builtPackageJson = createPackageJson(\n context.projectName,\n context.projectGraph,\n {\n target: context.targetName,\n root: context.root,\n isProduction: !options.includeDevDependenciesInPackageJson, // By default we remove devDependencies since this is a production build.\n }\n );\n\n builtPackageJson.type = 'module';\n\n writeJsonFile(`${options.outputPath}/package.json`, builtPackageJson);\n const packageManager = detectPackageManager(context.root);\n\n const lockFile = createLockFile(\n builtPackageJson,\n context.projectGraph,\n packageManager\n );\n writeFileSync(\n `${options.outputPath}/${getLockFileName(packageManager)}`,\n lockFile,\n {\n encoding: 'utf-8',\n }\n );\n }\n // For buildable libs, copy package.json if it exists.\n else if (\n !existsSync(distPackageJson) &&\n existsSync(libraryPackageJson) &&\n rootPackageJson !== libraryPackageJson\n ) {\n await copyAssets(\n {\n outputPath: normalizedOptions.outputPath,\n assets: [\n {\n input: projectRoot,\n output: '.',\n glob: 'package.json',\n },\n ],\n },\n context\n );\n }\n\n if ('on' in watcherOrOutput) {\n const iterable = createAsyncIterable<{ success: boolean }>(({ next }) => {\n let success = true;\n watcherOrOutput.on('event', (event) => {\n if (event.code === 'START') {\n success = true;\n } else if (event.code === 'ERROR') {\n success = false;\n } else if (event.code === 'END') {\n next({ success });\n }\n // result must be closed when present.\n // see https://rollupjs.org/guide/en/#rollupwatch\n if ('result' in event) {\n event.result.close();\n }\n });\n });\n yield* iterable;\n } else {\n const output = watcherOrOutput?.['output'] || watcherOrOutput?.[0]?.output;\n const fileName = output?.[0]?.fileName || 'main.cjs';\n const outfile = resolve(normalizedOptions.outputPath, fileName);\n yield { success: true, outfile };\n }\n}\n\nfunction runInstance(options: InlineConfig) {\n return build({\n ...options,\n });\n}\n\nfunction normalizeOptions(options: ViteBuildExecutorOptions) {\n const normalizedOptions = { ...options };\n\n // coerce watch to null or {} to match with Vite's watch config\n if (options.watch === false) {\n normalizedOptions.watch = null;\n } else if (options.watch === true) {\n normalizedOptions.watch = {};\n }\n\n return normalizedOptions;\n}\n\nexport default viteBuildExecutor;\n"],"names":["viteBuildExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","createBuildableTsConfig","normalizedOptions","normalizeOptions","buildConfig","mergeConfig","getViteSharedConfig","build","getViteBuildOptions","skipTypeCheck","validateTypes","workspaceRoot","tsconfig","getProjectTsConfigPath","watcherOrOutput","runInstance","libraryPackageJson","resolve","rootPackageJson","distPackageJson","outputPath","generatePackageJson","projectGraph","nodes","type","logger","warn","stripIndents","builtPackageJson","createPackageJson","target","targetName","isProduction","includeDevDependenciesInPackageJson","writeJsonFile","packageManager","detectPackageManager","lockFile","createLockFile","writeFileSync","getLockFileName","encoding","existsSync","copyAssets","assets","input","output","glob","iterable","createAsyncIterable","next","success","on","event","code","result","close","fileName","outfile","watch"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/build/build.impl.ts"],"sourcesContent":["import {\n detectPackageManager,\n ExecutorContext,\n logger,\n stripIndents,\n writeJsonFile,\n} from '@nx/devkit';\nimport { build, InlineConfig, mergeConfig } from 'vite';\nimport {\n getProjectTsConfigPath,\n getViteBuildOptions,\n getViteSharedConfig,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from './schema';\nimport {\n copyAssets,\n createLockFile,\n createPackageJson,\n getLockFileName,\n} from '@nx/js';\nimport { existsSync, writeFileSync } from 'fs';\nimport { resolve } from 'path';\nimport { createAsyncIterable } from '@nx/devkit/src/utils/async-iterable';\nimport {\n createBuildableTsConfig,\n validateTypes,\n} from '../../utils/executor-utils';\n\nexport async function* viteBuildExecutor(\n options: ViteBuildExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n createBuildableTsConfig(projectRoot, options, context);\n\n const normalizedOptions = normalizeOptions(options);\n\n const buildConfig = mergeConfig(\n getViteSharedConfig(normalizedOptions, false, context),\n {\n build: getViteBuildOptions(normalizedOptions, context),\n }\n );\n\n if (!options.skipTypeCheck) {\n await validateTypes({\n workspaceRoot: context.root,\n projectRoot: projectRoot,\n tsconfig: getProjectTsConfigPath(projectRoot),\n });\n }\n\n const watcherOrOutput = await runInstance(buildConfig);\n\n const libraryPackageJson = resolve(projectRoot, 'package.json');\n const rootPackageJson = resolve(context.root, 'package.json');\n const distPackageJson = resolve(normalizedOptions.outputPath, 'package.json');\n\n // Generate a package.json if option has been set.\n if (options.generatePackageJson) {\n if (context.projectGraph.nodes[context.projectName].type !== 'app') {\n logger.warn(\n stripIndents`The project ${context.projectName} is using the 'generatePackageJson' option which is deprecated for library projects. It should only be used for applications.\n For libraries, configure the project to use the '@nx/dependency-checks' ESLint rule instead (https://nx.dev/packages/eslint-plugin/documents/dependency-checks).`\n );\n }\n\n const builtPackageJson = createPackageJson(\n context.projectName,\n context.projectGraph,\n {\n target: context.targetName,\n root: context.root,\n isProduction: !options.includeDevDependenciesInPackageJson, // By default we remove devDependencies since this is a production build.\n }\n );\n\n builtPackageJson.type = 'module';\n\n writeJsonFile(`${options.outputPath}/package.json`, builtPackageJson);\n const packageManager = detectPackageManager(context.root);\n\n const lockFile = createLockFile(\n builtPackageJson,\n context.projectGraph,\n packageManager\n );\n writeFileSync(\n `${options.outputPath}/${getLockFileName(packageManager)}`,\n lockFile,\n {\n encoding: 'utf-8',\n }\n );\n }\n // For buildable libs, copy package.json if it exists.\n else if (\n !existsSync(distPackageJson) &&\n existsSync(libraryPackageJson) &&\n rootPackageJson !== libraryPackageJson\n ) {\n await copyAssets(\n {\n outputPath: normalizedOptions.outputPath,\n assets: [\n {\n input: projectRoot,\n output: '.',\n glob: 'package.json',\n },\n ],\n },\n context\n );\n }\n\n if ('on' in watcherOrOutput) {\n const iterable = createAsyncIterable<{ success: boolean }>(({ next }) => {\n let success = true;\n watcherOrOutput.on('event', (event) => {\n if (event.code === 'START') {\n success = true;\n } else if (event.code === 'ERROR') {\n success = false;\n } else if (event.code === 'END') {\n next({ success });\n }\n // result must be closed when present.\n // see https://rollupjs.org/guide/en/#rollupwatch\n if ('result' in event) {\n event.result.close();\n }\n });\n });\n yield* iterable;\n } else {\n const output = watcherOrOutput?.['output'] || watcherOrOutput?.[0]?.output;\n const fileName = output?.[0]?.fileName || 'main.cjs';\n const outfile = resolve(normalizedOptions.outputPath, fileName);\n yield { success: true, outfile };\n }\n}\n\nfunction runInstance(options: InlineConfig) {\n return build({\n ...options,\n });\n}\n\nfunction normalizeOptions(options: ViteBuildExecutorOptions) {\n const normalizedOptions = { ...options };\n\n // coerce watch to null or {} to match with Vite's watch config\n if (options.watch === false) {\n normalizedOptions.watch = null;\n } else if (options.watch === true) {\n normalizedOptions.watch = {};\n }\n\n return normalizedOptions;\n}\n\nexport default viteBuildExecutor;\n"],"names":["viteBuildExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","createBuildableTsConfig","normalizedOptions","normalizeOptions","buildConfig","mergeConfig","getViteSharedConfig","build","getViteBuildOptions","skipTypeCheck","validateTypes","workspaceRoot","tsconfig","getProjectTsConfigPath","watcherOrOutput","runInstance","libraryPackageJson","resolve","rootPackageJson","distPackageJson","outputPath","generatePackageJson","projectGraph","nodes","type","logger","warn","stripIndents","builtPackageJson","createPackageJson","target","targetName","isProduction","includeDevDependenciesInPackageJson","writeJsonFile","packageManager","detectPackageManager","lockFile","createLockFile","writeFileSync","getLockFileName","encoding","existsSync","copyAssets","assets","input","output","glob","iterable","createAsyncIterable","next","success","on","event","code","result","close","fileName","outfile","watch"],"mappings":"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"}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/build/schema.d.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import { ExecutorContext } from '@nx/devkit';\nimport { createServer, InlineConfig, mergeConfig, ViteDevServer } from 'vite';\n\nimport {\n getViteSharedConfig,\n getNxTargetOptions,\n getViteServerOptions,\n getViteBuildOptions,\n} from '../../utils/options-utils';\n\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { createBuildableTsConfig } from '../../utils/executor-utils';\n\nexport async function* viteDevServerExecutor(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): AsyncGenerator<{ success: boolean; baseUrl: string }> {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n createBuildableTsConfig(projectRoot, options, context);\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n // Merge the options from the build and dev-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...buildTargetOptions,\n ...options,\n };\n\n // Add the server specific configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n server: getViteServerOptions(mergedOptions, context),\n }\n );\n\n try {\n const server = await createServer(serverConfig);\n await runViteDevServer(server);\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nasync function runViteDevServer(server: ViteDevServer): Promise<void> {\n await server.listen();\n server.printUrls();\n\n const processOnExit = async () => {\n await server.close();\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n}\n\nexport default viteDevServerExecutor;\n"],"names":["viteDevServerExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","createBuildableTsConfig","buildTargetOptions","getNxTargetOptions","buildTarget","mergedOptions","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","server","getViteServerOptions","createServer","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","resolve","process","once","listen","printUrls","processOnExit","close"],"mappings":";;;;;;;;IAcuBA,qBAAqB;eAArBA;;IAuEvB,OAAqC;eAArC;;;;sBApFuE;8BAOhE;+BAIiC;AAEjC,gBAAgBA,sBACrBC,OAAqC,EACrCC,OAAwB,EAC+B;IACvD,MAAMC,cACJD,QAAQE,sBAAsB,CAACC,QAAQ,CAACH,QAAQI,WAAW,CAAC,CAACC,IAAI;IAEnEC,IAAAA,sCAAuB,EAACL,aAAaF,SAASC;IAE9C,sDAAsD;IACtD,MAAMO,qBAA+CC,IAAAA,gCAAkB,EACrET,QAAQU,WAAW,EACnBT;IAGF,0DAA0D;IAC1D,+BAA+B;IAC/B,MAAMU,gBAAgB,eACjBH,oBACAR;IAGL,yCAAyC;IACzC,MAAMY,eAA6BC,IAAAA,iBAAW,EAC5CC,IAAAA,iCAAmB,EAACH,eAAeX,QAAQe,WAAW,EAAEd,UACxD;QACEe,OAAOC,IAAAA,iCAAmB,EAACN,eAAeV;QAC1CiB,QAAQC,IAAAA,kCAAoB,EAACR,eAAeV;IAC9C;IAGF,IAAI;QACF,MAAMiB,SAAS,MAAME,IAAAA,kBAAY,EAACR;QAClC,MAAMS,iBAAiBH;QACvB,MAAMI,eAAe;eAChBJ,OAAOI,YAAY,CAACC,KAAK;eACzBL,OAAOI,YAAY,CAACE,OAAO;SAC/B;YAIUF;QAFX,MAAM;YACJG,SAAS,IAAI;YACbC,SAASJ,CAAAA,iBAAAA,YAAY,CAAC,EAAE,YAAfA,iBAAmB,EAAE;QAChC;IACF,EAAE,OAAOK,GAAG;QACVC,QAAQC,KAAK,CAACF;QACd,MAAM;YACJF,SAAS,KAAK;YACdC,SAAS;QACX;IACF;IAEA,MAAM,IAAII,QAAc,CAACC,UAAY;QACnCC,QAAQC,IAAI,CAAC,UAAU,IAAMF;QAC7BC,QAAQC,IAAI,CAAC,WAAW,IAAMF;QAC9BC,QAAQC,IAAI,CAAC,QAAQ,IAAMF;IAC7B;AACF;AAEA,eAAeV,iBAAiBH,MAAqB,EAAiB;IACpE,MAAMA,OAAOgB,MAAM;IACnBhB,OAAOiB,SAAS;IAEhB,MAAMC,gBAAgB,UAAY;QAChC,MAAMlB,OAAOmB,KAAK;IACpB;IAEAL,QAAQC,IAAI,CAAC,UAAUG;IACvBJ,QAAQC,IAAI,CAAC,WAAWG;IACxBJ,QAAQC,IAAI,CAAC,QAAQG;AACvB;MAEA,WAAerC"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/dev-server.impl.ts"],"sourcesContent":["import { ExecutorContext } from '@nx/devkit';\nimport { createServer, InlineConfig, mergeConfig, ViteDevServer } from 'vite';\n\nimport {\n getViteSharedConfig,\n getNxTargetOptions,\n getViteServerOptions,\n getViteBuildOptions,\n} from '../../utils/options-utils';\n\nimport { ViteDevServerExecutorOptions } from './schema';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { createBuildableTsConfig } from '../../utils/executor-utils';\n\nexport async function* viteDevServerExecutor(\n options: ViteDevServerExecutorOptions,\n context: ExecutorContext\n): AsyncGenerator<{ success: boolean; baseUrl: string }> {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n\n createBuildableTsConfig(projectRoot, options, context);\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions: ViteBuildExecutorOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n // Merge the options from the build and dev-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...buildTargetOptions,\n ...options,\n };\n\n // Add the server specific configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n server: getViteServerOptions(mergedOptions, context),\n }\n );\n\n try {\n const server = await createServer(serverConfig);\n await runViteDevServer(server);\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nasync function runViteDevServer(server: ViteDevServer): Promise<void> {\n await server.listen();\n server.printUrls();\n\n const processOnExit = async () => {\n await server.close();\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n}\n\nexport default viteDevServerExecutor;\n"],"names":["viteDevServerExecutor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","createBuildableTsConfig","buildTargetOptions","getNxTargetOptions","buildTarget","mergedOptions","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","server","getViteServerOptions","createServer","runViteDevServer","resolvedUrls","local","network","success","baseUrl","e","console","error","Promise","resolve","process","once","listen","printUrls","processOnExit","close"],"mappings":";;;;;;;;IAcuBA,qBAAqB;eAArBA;;IAuEvB,OAAqC;eAArC;;;;sBApFuE;8BAOhE;+BAIiC;AAEjC,gBAAgBA,sBACrBC,OAAqC,EACrCC,OAAwB;IAExB,MAAMC,cACJD,QAAQE,sBAAsB,CAACC,QAAQ,CAACH,QAAQI,WAAW,CAAC,CAACC,IAAI;IAEnEC,IAAAA,sCAAuB,EAACL,aAAaF,SAASC;IAE9C,sDAAsD;IACtD,MAAMO,qBAA+CC,IAAAA,gCAAkB,EACrET,QAAQU,WAAW,EACnBT;IAGF,0DAA0D;IAC1D,+BAA+B;IAC/B,MAAMU,gBAAgB,eACjBH,oBACAR;IAGL,yCAAyC;IACzC,MAAMY,eAA6BC,IAAAA,iBAAW,EAC5CC,IAAAA,iCAAmB,EAACH,eAAeX,QAAQe,WAAW,EAAEd,UACxD;QACEe,OAAOC,IAAAA,iCAAmB,EAACN,eAAeV;QAC1CiB,QAAQC,IAAAA,kCAAoB,EAACR,eAAeV;IAC9C;IAGF,IAAI;QACF,MAAMiB,SAAS,MAAME,IAAAA,kBAAY,EAACR;QAClC,MAAMS,iBAAiBH;QACvB,MAAMI,eAAe;eAChBJ,OAAOI,YAAY,CAACC,KAAK;eACzBL,OAAOI,YAAY,CAACE,OAAO;SAC/B;YAIUF;QAFX,MAAM;YACJG,SAAS;YACTC,SAASJ,CAAAA,iBAAAA,YAAY,CAAC,EAAE,YAAfA,iBAAmB;QAC9B;IACF,EAAE,OAAOK,GAAG;QACVC,QAAQC,KAAK,CAACF;QACd,MAAM;YACJF,SAAS;YACTC,SAAS;QACX;IACF;IAEA,MAAM,IAAII,QAAc,CAACC;QACvBC,QAAQC,IAAI,CAAC,UAAU,IAAMF;QAC7BC,QAAQC,IAAI,CAAC,WAAW,IAAMF;QAC9BC,QAAQC,IAAI,CAAC,QAAQ,IAAMF;IAC7B;AACF;AAEA,eAAeV,iBAAiBH,MAAqB;IACnD,MAAMA,OAAOgB,MAAM;IACnBhB,OAAOiB,SAAS;IAEhB,MAAMC,gBAAgB;QACpB,MAAMlB,OAAOmB,KAAK;IACpB;IAEAL,QAAQC,IAAI,CAAC,UAAUG;IACvBJ,QAAQC,IAAI,CAAC,WAAWG;IACxBJ,QAAQC,IAAI,CAAC,QAAQG;AACvB;MAEA,WAAerC"}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/dev-server/schema.d.ts"],"names":[],"mappings":""}
@@ -99,7 +99,7 @@ function closeServer(server) {
99
99
  if (!server) {
100
100
  resolve();
101
101
  } else {
102
- const { httpServer } = server;
102
+ const { httpServer } = server;
103
103
  // closeAllConnections was added in Node v18.2.0
104
104
  httpServer.closeAllConnections && httpServer.closeAllConnections();
105
105
  httpServer.close(()=>resolve());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/preview-server.impl.ts"],"sourcesContent":["import { ExecutorContext, parseTargetString, runExecutor } from '@nx/devkit';\nimport { InlineConfig, mergeConfig, preview, PreviewServer } from 'vite';\nimport {\n getNxTargetOptions,\n getViteSharedConfig,\n getViteBuildOptions,\n getVitePreviewOptions,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { VitePreviewServerExecutorOptions } from './schema';\n\ninterface CustomBuildTargetOptions {\n outputPath: string;\n}\n\nexport async function* vitePreviewServerExecutor(\n options: VitePreviewServerExecutorOptions,\n context: ExecutorContext\n) {\n const target = parseTargetString(options.buildTarget, context);\n const targetConfiguration =\n context.projectsConfigurations.projects[target.project]?.targets[\n target.target\n ];\n if (!targetConfiguration) {\n throw new Error(`Invalid buildTarget: ${options.buildTarget}`);\n }\n\n const isCustomBuildTarget =\n targetConfiguration.executor !== '@nx/vite:build' &&\n targetConfiguration.executor !== '@nrwl/vite:build';\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions:\n | ViteBuildExecutorOptions\n | CustomBuildTargetOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const outputPath = options.staticFilePath ?? buildTargetOptions.outputPath;\n\n if (!outputPath) {\n throw new Error(\n `Could not infer the \"outputPath\". It should either be a property of the \"${options.buildTarget}\" buildTarget or provided explicitly as a \"staticFilePath\" option.`\n );\n }\n\n // Merge the options from the build and preview-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...{ watch: {} },\n ...(isCustomBuildTarget ? {} : buildTargetOptions),\n ...options,\n outputPath,\n };\n\n // Retrieve the server configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n preview: getVitePreviewOptions(mergedOptions, context),\n }\n );\n\n if (serverConfig.mode === 'production') {\n console.warn('WARNING: preview is not meant to be run in production!');\n }\n\n let server: PreviewServer | undefined;\n\n const processOnExit = async () => {\n await closeServer(server);\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n\n // Launch the build target.\n // If customBuildTarget is set to true, do not provide any overrides to it\n const buildTargetOverrides = isCustomBuildTarget ? {} : mergedOptions;\n const build = await runExecutor(target, buildTargetOverrides, context);\n\n for await (const result of build) {\n if (result.success) {\n try {\n if (!server) {\n server = await preview(serverConfig);\n }\n server.printUrls();\n\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n } else {\n yield {\n success: false,\n baseUrl: '',\n };\n }\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nfunction closeServer(server?: PreviewServer): Promise<void> {\n return new Promise((resolve) => {\n if (!server) {\n resolve();\n } else {\n const { httpServer } = server;\n // closeAllConnections was added in Node v18.2.0\n httpServer.closeAllConnections && httpServer.closeAllConnections();\n httpServer.close(() => resolve());\n }\n });\n}\n\nexport default vitePreviewServerExecutor;\n"],"names":["vitePreviewServerExecutor","options","context","target","parseTargetString","buildTarget","targetConfiguration","projectsConfigurations","projects","project","targets","Error","isCustomBuildTarget","executor","buildTargetOptions","getNxTargetOptions","outputPath","staticFilePath","mergedOptions","watch","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","preview","getVitePreviewOptions","mode","console","warn","server","processOnExit","closeServer","process","once","buildTargetOverrides","runExecutor","result","success","printUrls","resolvedUrls","local","network","baseUrl","e","error","Promise","resolve","httpServer","closeAllConnections","close"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/preview-server.impl.ts"],"sourcesContent":["import { ExecutorContext, parseTargetString, runExecutor } from '@nx/devkit';\nimport { InlineConfig, mergeConfig, preview, PreviewServer } from 'vite';\nimport {\n getNxTargetOptions,\n getViteSharedConfig,\n getViteBuildOptions,\n getVitePreviewOptions,\n} from '../../utils/options-utils';\nimport { ViteBuildExecutorOptions } from '../build/schema';\nimport { VitePreviewServerExecutorOptions } from './schema';\n\ninterface CustomBuildTargetOptions {\n outputPath: string;\n}\n\nexport async function* vitePreviewServerExecutor(\n options: VitePreviewServerExecutorOptions,\n context: ExecutorContext\n) {\n const target = parseTargetString(options.buildTarget, context);\n const targetConfiguration =\n context.projectsConfigurations.projects[target.project]?.targets[\n target.target\n ];\n if (!targetConfiguration) {\n throw new Error(`Invalid buildTarget: ${options.buildTarget}`);\n }\n\n const isCustomBuildTarget =\n targetConfiguration.executor !== '@nx/vite:build' &&\n targetConfiguration.executor !== '@nrwl/vite:build';\n\n // Retrieve the option for the configured buildTarget.\n const buildTargetOptions:\n | ViteBuildExecutorOptions\n | CustomBuildTargetOptions = getNxTargetOptions(\n options.buildTarget,\n context\n );\n\n const outputPath = options.staticFilePath ?? buildTargetOptions.outputPath;\n\n if (!outputPath) {\n throw new Error(\n `Could not infer the \"outputPath\". It should either be a property of the \"${options.buildTarget}\" buildTarget or provided explicitly as a \"staticFilePath\" option.`\n );\n }\n\n // Merge the options from the build and preview-serve targets.\n // The latter takes precedence.\n const mergedOptions = {\n ...{ watch: {} },\n ...(isCustomBuildTarget ? {} : buildTargetOptions),\n ...options,\n outputPath,\n };\n\n // Retrieve the server configuration.\n const serverConfig: InlineConfig = mergeConfig(\n getViteSharedConfig(mergedOptions, options.clearScreen, context),\n {\n build: getViteBuildOptions(mergedOptions, context),\n preview: getVitePreviewOptions(mergedOptions, context),\n }\n );\n\n if (serverConfig.mode === 'production') {\n console.warn('WARNING: preview is not meant to be run in production!');\n }\n\n let server: PreviewServer | undefined;\n\n const processOnExit = async () => {\n await closeServer(server);\n };\n\n process.once('SIGINT', processOnExit);\n process.once('SIGTERM', processOnExit);\n process.once('exit', processOnExit);\n\n // Launch the build target.\n // If customBuildTarget is set to true, do not provide any overrides to it\n const buildTargetOverrides = isCustomBuildTarget ? {} : mergedOptions;\n const build = await runExecutor(target, buildTargetOverrides, context);\n\n for await (const result of build) {\n if (result.success) {\n try {\n if (!server) {\n server = await preview(serverConfig);\n }\n server.printUrls();\n\n const resolvedUrls = [\n ...server.resolvedUrls.local,\n ...server.resolvedUrls.network,\n ];\n\n yield {\n success: true,\n baseUrl: resolvedUrls[0] ?? '',\n };\n } catch (e) {\n console.error(e);\n yield {\n success: false,\n baseUrl: '',\n };\n }\n } else {\n yield {\n success: false,\n baseUrl: '',\n };\n }\n }\n\n await new Promise<void>((resolve) => {\n process.once('SIGINT', () => resolve());\n process.once('SIGTERM', () => resolve());\n process.once('exit', () => resolve());\n });\n}\n\nfunction closeServer(server?: PreviewServer): Promise<void> {\n return new Promise((resolve) => {\n if (!server) {\n resolve();\n } else {\n const { httpServer } = server;\n // closeAllConnections was added in Node v18.2.0\n httpServer.closeAllConnections && httpServer.closeAllConnections();\n httpServer.close(() => resolve());\n }\n });\n}\n\nexport default vitePreviewServerExecutor;\n"],"names":["vitePreviewServerExecutor","options","context","target","parseTargetString","buildTarget","targetConfiguration","projectsConfigurations","projects","project","targets","Error","isCustomBuildTarget","executor","buildTargetOptions","getNxTargetOptions","outputPath","staticFilePath","mergedOptions","watch","serverConfig","mergeConfig","getViteSharedConfig","clearScreen","build","getViteBuildOptions","preview","getVitePreviewOptions","mode","console","warn","server","processOnExit","closeServer","process","once","buildTargetOverrides","runExecutor","result","success","printUrls","resolvedUrls","local","network","baseUrl","e","error","Promise","resolve","httpServer","closeAllConnections","close"],"mappings":"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"}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/preview-server/schema.d.ts"],"names":[],"mappings":""}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/schema.d.ts"],"names":[],"mappings":""}
@@ -53,7 +53,7 @@ let NxReporter = class NxReporter {
53
53
  async function* vitestExecutor(options, context) {
54
54
  const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
55
55
  (0, _internal.registerTsConfigPaths)((0, _path.resolve)(_devkit.workspaceRoot, projectRoot, 'tsconfig.json'));
56
- const { startVitest } = await Function('return import("vitest/node")')();
56
+ const { startVitest } = await Function('return import("vitest/node")')();
57
57
  const nxReporter = new NxReporter(options.watch);
58
58
  const settings = await getSettings(options, context, projectRoot);
59
59
  settings.reporters.push(nxReporter);
@@ -83,7 +83,7 @@ async function* vitestExecutor(options, context) {
83
83
  };
84
84
  }
85
85
  async function getSettings(options, context, projectRoot) {
86
- var _packageJson_dependencies, _packageJson_devDependencies, _resolved_config, _resolved_config1, _resolved_config_test, _resolved_config2, _resolved_config_test1;
86
+ var _packageJson_dependencies, _packageJson_devDependencies, _resolved_config, _resolved_config_test, _resolved_config1, _resolved_config_test1, _resolved_config2;
87
87
  const packageJsonPath = (0, _path.join)(_devkit.workspaceRoot, 'package.json');
88
88
  const packageJson = (0, _fs.existsSync)(packageJsonPath) ? (0, _devkit.readJsonFile)(packageJsonPath) : undefined;
89
89
  let provider = 'v8';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/vitest.impl.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n logger,\n readJsonFile,\n stripIndents,\n workspaceRoot,\n} from '@nx/devkit';\nimport { CoverageOptions, File, Reporter } from 'vitest';\nimport { loadConfigFromFile } from 'vite';\nimport { VitestExecutorOptions } from './schema';\nimport { join, relative, resolve } from 'path';\nimport { existsSync } from 'fs';\nimport { registerTsConfigPaths } from '@nx/js/src/internal';\n\nclass NxReporter implements Reporter {\n deferred: {\n promise: Promise<boolean>;\n resolve: (val: boolean) => void;\n };\n\n constructor(private watch: boolean) {\n this.setupDeferred();\n }\n\n async *[Symbol.asyncIterator]() {\n do {\n const hasErrors = await this.deferred.promise;\n yield { hasErrors };\n this.setupDeferred();\n } while (this.watch);\n }\n\n private setupDeferred() {\n let resolve: (val: boolean) => void;\n this.deferred = {\n promise: new Promise((res) => {\n resolve = res;\n }),\n resolve,\n };\n }\n\n onFinished(files: File[], errors?: unknown[]) {\n const hasErrors =\n files.some((f) => f.result?.state === 'fail') || errors?.length > 0;\n this.deferred.resolve(hasErrors);\n }\n}\n\nexport async function* vitestExecutor(\n options: VitestExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n registerTsConfigPaths(resolve(workspaceRoot, projectRoot, 'tsconfig.json'));\n\n const { startVitest } = await (Function(\n 'return import(\"vitest/node\")'\n )() as Promise<typeof import('vitest/node')>);\n\n const nxReporter = new NxReporter(options.watch);\n const settings = await getSettings(options, context, projectRoot);\n settings.reporters.push(nxReporter);\n const cliFilters = options.testFiles ?? [];\n\n const ctx = await startVitest(options.mode, cliFilters, settings);\n\n let hasErrors = false;\n\n const processExit = () => {\n ctx.exit();\n if (hasErrors) {\n process.exit(1);\n } else {\n process.exit(0);\n }\n };\n\n if (options.watch) {\n process.on('SIGINT', processExit);\n process.on('SIGTERM', processExit);\n process.on('exit', processExit);\n }\n\n for await (const report of nxReporter) {\n // vitest sets the exitCode = 1 when code coverage isn't met\n hasErrors =\n report.hasErrors || (process.exitCode && process.exitCode !== 0);\n }\n\n return {\n success: !hasErrors,\n };\n}\n\nasync function getSettings(\n options: VitestExecutorOptions,\n context: ExecutorContext,\n projectRoot: string\n) {\n const packageJsonPath = join(workspaceRoot, 'package.json');\n const packageJson = existsSync(packageJsonPath)\n ? readJsonFile(packageJsonPath)\n : undefined;\n let provider: 'v8' | 'c8' = 'v8';\n if (\n packageJson?.dependencies?.['@vitest/coverage-c8'] ||\n packageJson?.devDependencies?.['@vitest/coverage-c8']\n ) {\n provider = 'c8';\n }\n const offset = relative(workspaceRoot, context.cwd);\n // if reportsDirectory is not provided vitest will remove all files in the project root\n // when coverage is enabled in the vite.config.ts\n const coverage: CoverageOptions = options.reportsDirectory\n ? {\n enabled: options.coverage,\n reportsDirectory: options.reportsDirectory,\n provider,\n }\n : ({} as CoverageOptions);\n\n const viteConfigPath = options.config\n ? options.config // config is expected to be from the workspace root\n : findViteConfig(joinPathFragments(context.root, projectRoot));\n\n const resolvedProjectRoot = resolve(workspaceRoot, projectRoot);\n const resolvedViteConfigPath = resolve(\n workspaceRoot,\n projectRoot,\n relative(resolvedProjectRoot, viteConfigPath)\n );\n\n const resolved = await loadConfigFromFile(\n {\n mode: options.mode,\n command: 'serve',\n },\n resolvedViteConfigPath,\n resolvedProjectRoot\n );\n\n if (!viteConfigPath || !resolved?.config?.['test']) {\n logger.warn(stripIndents`Unable to load test config from config file ${\n resolved?.path ?? viteConfigPath\n }\nSome settings may not be applied as expected.\nYou can manually set the config in the project, ${\n context.projectName\n }, configuration.\n `);\n }\n\n const settings = {\n ...options,\n // when running nx from the project root, the root will get appended to the cwd.\n // creating an invalid path and no tests will be found.\n // instead if we are not at the root, let the cwd be root.\n root: offset === '' ? resolvedProjectRoot : workspaceRoot,\n config: resolvedViteConfigPath,\n reporters: [\n ...(options.reporters ?? []),\n ...((resolved?.config?.['test']?.reporters as string[]) ?? []),\n 'default',\n ] as (string | Reporter)[],\n coverage: { ...coverage, ...resolved?.config?.['test']?.coverage },\n };\n\n return settings;\n}\n\nfunction findViteConfig(projectRootFullPath: string): string {\n const allowsExt = ['js', 'mjs', 'ts', 'cjs', 'mts', 'cts'];\n\n for (const ext of allowsExt) {\n if (\n existsSync(joinPathFragments(projectRootFullPath, `vite.config.${ext}`))\n ) {\n return joinPathFragments(projectRootFullPath, `vite.config.${ext}`);\n }\n }\n}\n\nexport default vitestExecutor;\n"],"names":["vitestExecutor","NxReporter","Symbol","asyncIterator","hasErrors","deferred","promise","setupDeferred","watch","resolve","Promise","res","onFinished","files","errors","some","f","result","state","length","constructor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","registerTsConfigPaths","workspaceRoot","startVitest","Function","nxReporter","settings","getSettings","reporters","push","cliFilters","testFiles","ctx","mode","processExit","exit","process","on","report","exitCode","success","packageJson","resolved","packageJsonPath","join","existsSync","readJsonFile","undefined","provider","dependencies","devDependencies","offset","relative","cwd","coverage","reportsDirectory","enabled","viteConfigPath","config","findViteConfig","joinPathFragments","resolvedProjectRoot","resolvedViteConfigPath","loadConfigFromFile","command","logger","warn","stripIndents","path","projectRootFullPath","allowsExt","ext"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/executors/test/vitest.impl.ts"],"sourcesContent":["import {\n ExecutorContext,\n joinPathFragments,\n logger,\n readJsonFile,\n stripIndents,\n workspaceRoot,\n} from '@nx/devkit';\nimport { CoverageOptions, File, Reporter } from 'vitest';\nimport { loadConfigFromFile } from 'vite';\nimport { VitestExecutorOptions } from './schema';\nimport { join, relative, resolve } from 'path';\nimport { existsSync } from 'fs';\nimport { registerTsConfigPaths } from '@nx/js/src/internal';\n\nclass NxReporter implements Reporter {\n deferred: {\n promise: Promise<boolean>;\n resolve: (val: boolean) => void;\n };\n\n constructor(private watch: boolean) {\n this.setupDeferred();\n }\n\n async *[Symbol.asyncIterator]() {\n do {\n const hasErrors = await this.deferred.promise;\n yield { hasErrors };\n this.setupDeferred();\n } while (this.watch);\n }\n\n private setupDeferred() {\n let resolve: (val: boolean) => void;\n this.deferred = {\n promise: new Promise((res) => {\n resolve = res;\n }),\n resolve,\n };\n }\n\n onFinished(files: File[], errors?: unknown[]) {\n const hasErrors =\n files.some((f) => f.result?.state === 'fail') || errors?.length > 0;\n this.deferred.resolve(hasErrors);\n }\n}\n\nexport async function* vitestExecutor(\n options: VitestExecutorOptions,\n context: ExecutorContext\n) {\n const projectRoot =\n context.projectsConfigurations.projects[context.projectName].root;\n registerTsConfigPaths(resolve(workspaceRoot, projectRoot, 'tsconfig.json'));\n\n const { startVitest } = await (Function(\n 'return import(\"vitest/node\")'\n )() as Promise<typeof import('vitest/node')>);\n\n const nxReporter = new NxReporter(options.watch);\n const settings = await getSettings(options, context, projectRoot);\n settings.reporters.push(nxReporter);\n const cliFilters = options.testFiles ?? [];\n\n const ctx = await startVitest(options.mode, cliFilters, settings);\n\n let hasErrors = false;\n\n const processExit = () => {\n ctx.exit();\n if (hasErrors) {\n process.exit(1);\n } else {\n process.exit(0);\n }\n };\n\n if (options.watch) {\n process.on('SIGINT', processExit);\n process.on('SIGTERM', processExit);\n process.on('exit', processExit);\n }\n\n for await (const report of nxReporter) {\n // vitest sets the exitCode = 1 when code coverage isn't met\n hasErrors =\n report.hasErrors || (process.exitCode && process.exitCode !== 0);\n }\n\n return {\n success: !hasErrors,\n };\n}\n\nasync function getSettings(\n options: VitestExecutorOptions,\n context: ExecutorContext,\n projectRoot: string\n) {\n const packageJsonPath = join(workspaceRoot, 'package.json');\n const packageJson = existsSync(packageJsonPath)\n ? readJsonFile(packageJsonPath)\n : undefined;\n let provider: 'v8' | 'c8' = 'v8';\n if (\n packageJson?.dependencies?.['@vitest/coverage-c8'] ||\n packageJson?.devDependencies?.['@vitest/coverage-c8']\n ) {\n provider = 'c8';\n }\n const offset = relative(workspaceRoot, context.cwd);\n // if reportsDirectory is not provided vitest will remove all files in the project root\n // when coverage is enabled in the vite.config.ts\n const coverage: CoverageOptions = options.reportsDirectory\n ? {\n enabled: options.coverage,\n reportsDirectory: options.reportsDirectory,\n provider,\n }\n : ({} as CoverageOptions);\n\n const viteConfigPath = options.config\n ? options.config // config is expected to be from the workspace root\n : findViteConfig(joinPathFragments(context.root, projectRoot));\n\n const resolvedProjectRoot = resolve(workspaceRoot, projectRoot);\n const resolvedViteConfigPath = resolve(\n workspaceRoot,\n projectRoot,\n relative(resolvedProjectRoot, viteConfigPath)\n );\n\n const resolved = await loadConfigFromFile(\n {\n mode: options.mode,\n command: 'serve',\n },\n resolvedViteConfigPath,\n resolvedProjectRoot\n );\n\n if (!viteConfigPath || !resolved?.config?.['test']) {\n logger.warn(stripIndents`Unable to load test config from config file ${\n resolved?.path ?? viteConfigPath\n }\nSome settings may not be applied as expected.\nYou can manually set the config in the project, ${\n context.projectName\n }, configuration.\n `);\n }\n\n const settings = {\n ...options,\n // when running nx from the project root, the root will get appended to the cwd.\n // creating an invalid path and no tests will be found.\n // instead if we are not at the root, let the cwd be root.\n root: offset === '' ? resolvedProjectRoot : workspaceRoot,\n config: resolvedViteConfigPath,\n reporters: [\n ...(options.reporters ?? []),\n ...((resolved?.config?.['test']?.reporters as string[]) ?? []),\n 'default',\n ] as (string | Reporter)[],\n coverage: { ...coverage, ...resolved?.config?.['test']?.coverage },\n };\n\n return settings;\n}\n\nfunction findViteConfig(projectRootFullPath: string): string {\n const allowsExt = ['js', 'mjs', 'ts', 'cjs', 'mts', 'cts'];\n\n for (const ext of allowsExt) {\n if (\n existsSync(joinPathFragments(projectRootFullPath, `vite.config.${ext}`))\n ) {\n return joinPathFragments(projectRootFullPath, `vite.config.${ext}`);\n }\n }\n}\n\nexport default vitestExecutor;\n"],"names":["vitestExecutor","NxReporter","Symbol","asyncIterator","hasErrors","deferred","promise","setupDeferred","watch","resolve","Promise","res","onFinished","files","errors","some","f","result","state","length","constructor","options","context","projectRoot","projectsConfigurations","projects","projectName","root","registerTsConfigPaths","workspaceRoot","startVitest","Function","nxReporter","settings","getSettings","reporters","push","cliFilters","testFiles","ctx","mode","processExit","exit","process","on","report","exitCode","success","packageJson","resolved","packageJsonPath","join","existsSync","readJsonFile","undefined","provider","dependencies","devDependencies","offset","relative","cwd","coverage","reportsDirectory","enabled","viteConfigPath","config","findViteConfig","joinPathFragments","resolvedProjectRoot","resolvedViteConfigPath","loadConfigFromFile","command","logger","warn","stripIndents","path","projectRootFullPath","allowsExt","ext"],"mappings":"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"}
@@ -26,7 +26,7 @@ async function viteConfigurationGenerator(tree, schema) {
26
26
  // The @nx/js:lib generator specifically sets this to node to be more generic.
27
27
  _schema1;
28
28
  const tasks = [];
29
- const { targets , projectType , root } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
29
+ const { targets, projectType, root } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
30
30
  let buildTargetName = 'build';
31
31
  let serveTargetName = 'serve';
32
32
  let testTargetName = 'test';
@@ -39,13 +39,13 @@ async function viteConfigurationGenerator(tree, schema) {
39
39
  * to use the vite executors.
40
40
  */ let projectAlreadyHasViteTargets = {};
41
41
  if (!schema.newProject) {
42
- var _targets_buildTargetName, _targets_buildTargetName_options;
42
+ var _targets_buildTargetName_options, _targets_buildTargetName;
43
43
  const userProvidedTargetName = {
44
44
  build: schema.buildTarget,
45
45
  serve: schema.serveTarget,
46
46
  test: schema.testTarget
47
47
  };
48
- const { validFoundTargetName , projectContainsUnsupportedExecutor , userProvidedTargetIsUnsupported , alreadyHasNxViteTargets } = (0, _generatorutils.findExistingTargetsInProject)(targets, userProvidedTargetName);
48
+ const { validFoundTargetName, projectContainsUnsupportedExecutor, userProvidedTargetIsUnsupported, alreadyHasNxViteTargets } = (0, _generatorutils.findExistingTargetsInProject)(targets, userProvidedTargetName);
49
49
  projectAlreadyHasViteTargets = alreadyHasNxViteTargets;
50
50
  /**
51
51
  * This means that we only found unsupported build targets in that project.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/configuration.ts"],"sourcesContent":["import {\n convertNxGenerator,\n formatFiles,\n GeneratorCallback,\n joinPathFragments,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\n\nimport {\n addOrChangeBuildTarget,\n addOrChangeServeTarget,\n addPreviewTarget,\n createOrEditViteConfig,\n deleteWebpackConfig,\n editTsConfig,\n findExistingTargetsInProject,\n handleUnknownExecutors,\n handleUnsupportedUserProvidedTargets,\n moveAndEditIndexHtml,\n TargetFlags,\n UserProvidedTargetName,\n} from '../../utils/generator-utils';\n\nimport initGenerator from '../init/init';\nimport vitestGenerator from '../vitest/vitest-generator';\nimport { ViteConfigurationGeneratorSchema } from './schema';\n\nexport async function viteConfigurationGenerator(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { targets, projectType, root } = readProjectConfiguration(\n tree,\n schema.project\n );\n let buildTargetName = 'build';\n let serveTargetName = 'serve';\n let testTargetName = 'test';\n\n schema.includeLib ??= projectType === 'library';\n\n // Setting default to jsdom since it is the most common use case (React, Web).\n // The @nx/js:lib generator specifically sets this to node to be more generic.\n schema.testEnvironment ??= 'jsdom';\n\n /**\n * This is for when we are converting an existing project\n * to use the vite executors.\n */\n let projectAlreadyHasViteTargets: TargetFlags = {};\n\n if (!schema.newProject) {\n const userProvidedTargetName: UserProvidedTargetName = {\n build: schema.buildTarget,\n serve: schema.serveTarget,\n test: schema.testTarget,\n };\n\n const {\n validFoundTargetName,\n projectContainsUnsupportedExecutor,\n userProvidedTargetIsUnsupported,\n alreadyHasNxViteTargets,\n } = findExistingTargetsInProject(targets, userProvidedTargetName);\n projectAlreadyHasViteTargets = alreadyHasNxViteTargets;\n /**\n * This means that we only found unsupported build targets in that project.\n * The only way that buildTarget is defined, means that it is supported.\n *\n * If the `unsupported` flag was false, it would mean that we did not find\n * a build target at all, so we can create a new one.\n *\n * So we only throw if we found a target, but it is unsupported.\n */\n if (!validFoundTargetName.build && projectContainsUnsupportedExecutor) {\n throw new Error(\n `The project ${schema.project} cannot be converted to use the @nx/vite executors.`\n );\n }\n\n if (\n alreadyHasNxViteTargets.build &&\n (alreadyHasNxViteTargets.serve || projectType === 'library') &&\n alreadyHasNxViteTargets.test\n ) {\n throw new Error(\n `The project ${schema.project} is already configured to use the @nx/vite executors.\n Please try a different project, or remove the existing targets \n and re-run this generator to reset the existing Vite Configuration.\n `\n );\n }\n\n /**\n * This means that we did not find any supported executors\n * so we don't have any valid target names.\n *\n * However, the executors that we may have found are not in the\n * list of the specifically unsupported executors either.\n *\n * So, we should warn the user about it.\n */\n\n if (\n !projectContainsUnsupportedExecutor &&\n !validFoundTargetName.build &&\n !validFoundTargetName.serve &&\n !validFoundTargetName.test\n ) {\n await handleUnknownExecutors(schema.project);\n }\n\n /**\n * There is a possibility at this stage that the user has provided\n * targets with unsupported executors.\n * We keep track here of which of the targets that the user provided\n * are unsupported.\n * We do this with the `userProvidedTargetIsUnsupported` object,\n * which contains flags for each target (whether it is supported or not).\n *\n * We also keep track of the targets that we found in the project,\n * through the findExistingTargetsInProject function, which returns\n * targets for build/serve/test that use supported executors, and\n * can be converted to use the vite executors. These are the\n * kept in the validFoundTargetName object.\n */\n await handleUnsupportedUserProvidedTargets(\n userProvidedTargetIsUnsupported,\n userProvidedTargetName,\n validFoundTargetName\n );\n\n /**\n * Once the user is at this stage, then they can go ahead and convert.\n */\n\n buildTargetName = validFoundTargetName.build ?? buildTargetName;\n serveTargetName = validFoundTargetName.serve ?? serveTargetName;\n\n if (projectType === 'application') {\n moveAndEditIndexHtml(tree, schema, buildTargetName);\n }\n\n deleteWebpackConfig(\n tree,\n root,\n targets?.[buildTargetName]?.options?.webpackConfig\n );\n\n editTsConfig(tree, schema);\n }\n\n const initTask = await initGenerator(tree, {\n uiFramework: schema.uiFramework,\n includeLib: schema.includeLib,\n compiler: schema.compiler,\n testEnvironment: schema.testEnvironment,\n });\n tasks.push(initTask);\n\n if (!projectAlreadyHasViteTargets.build) {\n addOrChangeBuildTarget(tree, schema, buildTargetName);\n }\n\n if (!schema.includeLib) {\n if (!projectAlreadyHasViteTargets.serve) {\n addOrChangeServeTarget(tree, schema, serveTargetName);\n }\n if (!projectAlreadyHasViteTargets.preview) {\n addPreviewTarget(tree, schema, serveTargetName);\n }\n }\n\n if (projectType === 'library') {\n // update tsconfig.lib.json to include vite/client\n updateJson(tree, joinPathFragments(root, 'tsconfig.lib.json'), (json) => {\n if (!json.compilerOptions) {\n json.compilerOptions = {};\n }\n if (!json.compilerOptions.types) {\n json.compilerOptions.types = [];\n }\n if (!json.compilerOptions.types.includes('vite/client')) {\n return {\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n types: [...json.compilerOptions.types, 'vite/client'],\n },\n };\n }\n return json;\n });\n }\n\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: schema.includeLib,\n includeVitest: schema.includeVitest,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n `'react'`,\n `'react-dom'`,\n `'react/jsx-runtime'`,\n ],\n rollupOptionsExternalString: `\"'react', 'react-dom', 'react/jsx-runtime'\"`,\n imports: [\n schema.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc'`\n : `import react from '@vitejs/plugin-react'`,\n ],\n plugins: ['react()'],\n },\n false\n );\n } else {\n createOrEditViteConfig(tree, schema, false, projectAlreadyHasViteTargets);\n }\n\n if (schema.includeVitest) {\n const vitestTask = await vitestGenerator(tree, {\n project: schema.project,\n uiFramework: schema.uiFramework,\n inSourceTests: schema.inSourceTests,\n coverageProvider: 'c8',\n skipViteConfig: true,\n testTarget: testTargetName,\n skipFormat: true,\n });\n tasks.push(vitestTask);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default viteConfigurationGenerator;\nexport const configurationSchematic = convertNxGenerator(\n viteConfigurationGenerator\n);\n"],"names":["viteConfigurationGenerator","configurationSchematic","tree","schema","tasks","targets","projectType","root","readProjectConfiguration","project","buildTargetName","serveTargetName","testTargetName","includeLib","testEnvironment","projectAlreadyHasViteTargets","newProject","userProvidedTargetName","build","buildTarget","serve","serveTarget","test","testTarget","validFoundTargetName","projectContainsUnsupportedExecutor","userProvidedTargetIsUnsupported","alreadyHasNxViteTargets","findExistingTargetsInProject","Error","handleUnknownExecutors","handleUnsupportedUserProvidedTargets","moveAndEditIndexHtml","deleteWebpackConfig","options","webpackConfig","editTsConfig","initTask","initGenerator","uiFramework","compiler","push","addOrChangeBuildTarget","addOrChangeServeTarget","preview","addPreviewTarget","updateJson","joinPathFragments","json","compilerOptions","types","includes","createOrEditViteConfig","includeVitest","inSourceTests","rollupOptionsExternal","rollupOptionsExternalString","imports","plugins","vitestTask","vitestGenerator","coverageProvider","skipViteConfig","skipFormat","formatFiles","runTasksInSerial","convertNxGenerator"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/configuration.ts"],"sourcesContent":["import {\n convertNxGenerator,\n formatFiles,\n GeneratorCallback,\n joinPathFragments,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\n\nimport {\n addOrChangeBuildTarget,\n addOrChangeServeTarget,\n addPreviewTarget,\n createOrEditViteConfig,\n deleteWebpackConfig,\n editTsConfig,\n findExistingTargetsInProject,\n handleUnknownExecutors,\n handleUnsupportedUserProvidedTargets,\n moveAndEditIndexHtml,\n TargetFlags,\n UserProvidedTargetName,\n} from '../../utils/generator-utils';\n\nimport initGenerator from '../init/init';\nimport vitestGenerator from '../vitest/vitest-generator';\nimport { ViteConfigurationGeneratorSchema } from './schema';\n\nexport async function viteConfigurationGenerator(\n tree: Tree,\n schema: ViteConfigurationGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { targets, projectType, root } = readProjectConfiguration(\n tree,\n schema.project\n );\n let buildTargetName = 'build';\n let serveTargetName = 'serve';\n let testTargetName = 'test';\n\n schema.includeLib ??= projectType === 'library';\n\n // Setting default to jsdom since it is the most common use case (React, Web).\n // The @nx/js:lib generator specifically sets this to node to be more generic.\n schema.testEnvironment ??= 'jsdom';\n\n /**\n * This is for when we are converting an existing project\n * to use the vite executors.\n */\n let projectAlreadyHasViteTargets: TargetFlags = {};\n\n if (!schema.newProject) {\n const userProvidedTargetName: UserProvidedTargetName = {\n build: schema.buildTarget,\n serve: schema.serveTarget,\n test: schema.testTarget,\n };\n\n const {\n validFoundTargetName,\n projectContainsUnsupportedExecutor,\n userProvidedTargetIsUnsupported,\n alreadyHasNxViteTargets,\n } = findExistingTargetsInProject(targets, userProvidedTargetName);\n projectAlreadyHasViteTargets = alreadyHasNxViteTargets;\n /**\n * This means that we only found unsupported build targets in that project.\n * The only way that buildTarget is defined, means that it is supported.\n *\n * If the `unsupported` flag was false, it would mean that we did not find\n * a build target at all, so we can create a new one.\n *\n * So we only throw if we found a target, but it is unsupported.\n */\n if (!validFoundTargetName.build && projectContainsUnsupportedExecutor) {\n throw new Error(\n `The project ${schema.project} cannot be converted to use the @nx/vite executors.`\n );\n }\n\n if (\n alreadyHasNxViteTargets.build &&\n (alreadyHasNxViteTargets.serve || projectType === 'library') &&\n alreadyHasNxViteTargets.test\n ) {\n throw new Error(\n `The project ${schema.project} is already configured to use the @nx/vite executors.\n Please try a different project, or remove the existing targets \n and re-run this generator to reset the existing Vite Configuration.\n `\n );\n }\n\n /**\n * This means that we did not find any supported executors\n * so we don't have any valid target names.\n *\n * However, the executors that we may have found are not in the\n * list of the specifically unsupported executors either.\n *\n * So, we should warn the user about it.\n */\n\n if (\n !projectContainsUnsupportedExecutor &&\n !validFoundTargetName.build &&\n !validFoundTargetName.serve &&\n !validFoundTargetName.test\n ) {\n await handleUnknownExecutors(schema.project);\n }\n\n /**\n * There is a possibility at this stage that the user has provided\n * targets with unsupported executors.\n * We keep track here of which of the targets that the user provided\n * are unsupported.\n * We do this with the `userProvidedTargetIsUnsupported` object,\n * which contains flags for each target (whether it is supported or not).\n *\n * We also keep track of the targets that we found in the project,\n * through the findExistingTargetsInProject function, which returns\n * targets for build/serve/test that use supported executors, and\n * can be converted to use the vite executors. These are the\n * kept in the validFoundTargetName object.\n */\n await handleUnsupportedUserProvidedTargets(\n userProvidedTargetIsUnsupported,\n userProvidedTargetName,\n validFoundTargetName\n );\n\n /**\n * Once the user is at this stage, then they can go ahead and convert.\n */\n\n buildTargetName = validFoundTargetName.build ?? buildTargetName;\n serveTargetName = validFoundTargetName.serve ?? serveTargetName;\n\n if (projectType === 'application') {\n moveAndEditIndexHtml(tree, schema, buildTargetName);\n }\n\n deleteWebpackConfig(\n tree,\n root,\n targets?.[buildTargetName]?.options?.webpackConfig\n );\n\n editTsConfig(tree, schema);\n }\n\n const initTask = await initGenerator(tree, {\n uiFramework: schema.uiFramework,\n includeLib: schema.includeLib,\n compiler: schema.compiler,\n testEnvironment: schema.testEnvironment,\n });\n tasks.push(initTask);\n\n if (!projectAlreadyHasViteTargets.build) {\n addOrChangeBuildTarget(tree, schema, buildTargetName);\n }\n\n if (!schema.includeLib) {\n if (!projectAlreadyHasViteTargets.serve) {\n addOrChangeServeTarget(tree, schema, serveTargetName);\n }\n if (!projectAlreadyHasViteTargets.preview) {\n addPreviewTarget(tree, schema, serveTargetName);\n }\n }\n\n if (projectType === 'library') {\n // update tsconfig.lib.json to include vite/client\n updateJson(tree, joinPathFragments(root, 'tsconfig.lib.json'), (json) => {\n if (!json.compilerOptions) {\n json.compilerOptions = {};\n }\n if (!json.compilerOptions.types) {\n json.compilerOptions.types = [];\n }\n if (!json.compilerOptions.types.includes('vite/client')) {\n return {\n ...json,\n compilerOptions: {\n ...json.compilerOptions,\n types: [...json.compilerOptions.types, 'vite/client'],\n },\n };\n }\n return json;\n });\n }\n\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: schema.includeLib,\n includeVitest: schema.includeVitest,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n `'react'`,\n `'react-dom'`,\n `'react/jsx-runtime'`,\n ],\n rollupOptionsExternalString: `\"'react', 'react-dom', 'react/jsx-runtime'\"`,\n imports: [\n schema.compiler === 'swc'\n ? `import react from '@vitejs/plugin-react-swc'`\n : `import react from '@vitejs/plugin-react'`,\n ],\n plugins: ['react()'],\n },\n false\n );\n } else {\n createOrEditViteConfig(tree, schema, false, projectAlreadyHasViteTargets);\n }\n\n if (schema.includeVitest) {\n const vitestTask = await vitestGenerator(tree, {\n project: schema.project,\n uiFramework: schema.uiFramework,\n inSourceTests: schema.inSourceTests,\n coverageProvider: 'c8',\n skipViteConfig: true,\n testTarget: testTargetName,\n skipFormat: true,\n });\n tasks.push(vitestTask);\n }\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nexport default viteConfigurationGenerator;\nexport const configurationSchematic = convertNxGenerator(\n viteConfigurationGenerator\n);\n"],"names":["viteConfigurationGenerator","configurationSchematic","tree","schema","tasks","targets","projectType","root","readProjectConfiguration","project","buildTargetName","serveTargetName","testTargetName","includeLib","testEnvironment","projectAlreadyHasViteTargets","newProject","userProvidedTargetName","build","buildTarget","serve","serveTarget","test","testTarget","validFoundTargetName","projectContainsUnsupportedExecutor","userProvidedTargetIsUnsupported","alreadyHasNxViteTargets","findExistingTargetsInProject","Error","handleUnknownExecutors","handleUnsupportedUserProvidedTargets","moveAndEditIndexHtml","deleteWebpackConfig","options","webpackConfig","editTsConfig","initTask","initGenerator","uiFramework","compiler","push","addOrChangeBuildTarget","addOrChangeServeTarget","preview","addPreviewTarget","updateJson","joinPathFragments","json","compilerOptions","types","includes","createOrEditViteConfig","includeVitest","inSourceTests","rollupOptionsExternal","rollupOptionsExternalString","imports","plugins","vitestTask","vitestGenerator","coverageProvider","skipViteConfig","skipFormat","formatFiles","runTasksInSerial","convertNxGenerator"],"mappings":"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"}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/configuration/schema.d.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n convertNxGenerator,\n logger,\n readJson,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\n\nimport { initGenerator as jsInitGenerator } from '@nx/js';\n\nimport {\n jsdomVersion,\n nxVersion,\n vitePluginDtsVersion,\n vitePluginReactVersion,\n vitePluginReactSwcVersion,\n vitestUiVersion,\n vitestVersion,\n viteVersion,\n happyDomVersion,\n edgeRuntimeVmVersion,\n} from '../../utils/versions';\nimport { InitGeneratorSchema } from './schema';\n\nfunction checkDependenciesInstalled(host: Tree, schema: InitGeneratorSchema) {\n const packageJson = readJson(host, 'package.json');\n const devDependencies = {};\n const dependencies = {};\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n // base deps\n devDependencies['@nx/vite'] = nxVersion;\n devDependencies['vite'] = viteVersion;\n devDependencies['vitest'] = vitestVersion;\n devDependencies['@vitest/ui'] = vitestUiVersion;\n\n if (schema.testEnvironment === 'jsdom') {\n devDependencies['jsdom'] = jsdomVersion;\n } else if (schema.testEnvironment === 'happy-dom') {\n devDependencies['happy-dom'] = happyDomVersion;\n } else if (schema.testEnvironment === 'edge-runtime') {\n devDependencies['@edge-runtime/vm'] = edgeRuntimeVmVersion;\n } else if (schema.testEnvironment !== 'node' && schema.testEnvironment) {\n logger.info(\n `A custom environment was provided: ${schema.testEnvironment}. You need to install it manually.`\n );\n }\n\n if (schema.uiFramework === 'react') {\n if (schema.compiler === 'swc') {\n devDependencies['@vitejs/plugin-react-swc'] = vitePluginReactSwcVersion;\n } else {\n devDependencies['@vitejs/plugin-react'] = vitePluginReactVersion;\n }\n }\n\n if (schema.includeLib) {\n devDependencies['vite-plugin-dts'] = vitePluginDtsVersion;\n }\n\n return addDependenciesToPackageJson(host, dependencies, devDependencies);\n}\n\nfunction moveToDevDependencies(tree: Tree) {\n updateJson(tree, 'package.json', (packageJson) => {\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n if (packageJson.dependencies['@nx/vite']) {\n packageJson.devDependencies['@nx/vite'] =\n packageJson.dependencies['@nx/vite'];\n delete packageJson.dependencies['@nx/vite'];\n }\n return packageJson;\n });\n}\n\nexport function createVitestConfig(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults.test ??= {};\n nxJson.targetDefaults.test.inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n\n updateNxJson(tree, nxJson);\n}\n\nexport async function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n moveToDevDependencies(tree);\n createVitestConfig(tree);\n const tasks = [];\n\n tasks.push(\n await jsInitGenerator(tree, {\n ...schema,\n skipFormat: true,\n })\n );\n\n tasks.push(checkDependenciesInstalled(tree, schema));\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\nexport const initSchematic = convertNxGenerator(initGenerator);\n"],"names":["createVitestConfig","initGenerator","initSchematic","checkDependenciesInstalled","host","schema","packageJson","readJson","devDependencies","dependencies","nxVersion","viteVersion","vitestVersion","vitestUiVersion","testEnvironment","jsdomVersion","happyDomVersion","edgeRuntimeVmVersion","logger","info","uiFramework","compiler","vitePluginReactSwcVersion","vitePluginReactVersion","includeLib","vitePluginDtsVersion","addDependenciesToPackageJson","moveToDevDependencies","tree","updateJson","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","targetDefaults","test","inputs","updateNxJson","tasks","jsInitGenerator","skipFormat","runTasksInSerial","convertNxGenerator"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/init.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n convertNxGenerator,\n logger,\n readJson,\n readNxJson,\n runTasksInSerial,\n Tree,\n updateJson,\n updateNxJson,\n} from '@nx/devkit';\n\nimport { initGenerator as jsInitGenerator } from '@nx/js';\n\nimport {\n jsdomVersion,\n nxVersion,\n vitePluginDtsVersion,\n vitePluginReactVersion,\n vitePluginReactSwcVersion,\n vitestUiVersion,\n vitestVersion,\n viteVersion,\n happyDomVersion,\n edgeRuntimeVmVersion,\n} from '../../utils/versions';\nimport { InitGeneratorSchema } from './schema';\n\nfunction checkDependenciesInstalled(host: Tree, schema: InitGeneratorSchema) {\n const packageJson = readJson(host, 'package.json');\n const devDependencies = {};\n const dependencies = {};\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n // base deps\n devDependencies['@nx/vite'] = nxVersion;\n devDependencies['vite'] = viteVersion;\n devDependencies['vitest'] = vitestVersion;\n devDependencies['@vitest/ui'] = vitestUiVersion;\n\n if (schema.testEnvironment === 'jsdom') {\n devDependencies['jsdom'] = jsdomVersion;\n } else if (schema.testEnvironment === 'happy-dom') {\n devDependencies['happy-dom'] = happyDomVersion;\n } else if (schema.testEnvironment === 'edge-runtime') {\n devDependencies['@edge-runtime/vm'] = edgeRuntimeVmVersion;\n } else if (schema.testEnvironment !== 'node' && schema.testEnvironment) {\n logger.info(\n `A custom environment was provided: ${schema.testEnvironment}. You need to install it manually.`\n );\n }\n\n if (schema.uiFramework === 'react') {\n if (schema.compiler === 'swc') {\n devDependencies['@vitejs/plugin-react-swc'] = vitePluginReactSwcVersion;\n } else {\n devDependencies['@vitejs/plugin-react'] = vitePluginReactVersion;\n }\n }\n\n if (schema.includeLib) {\n devDependencies['vite-plugin-dts'] = vitePluginDtsVersion;\n }\n\n return addDependenciesToPackageJson(host, dependencies, devDependencies);\n}\n\nfunction moveToDevDependencies(tree: Tree) {\n updateJson(tree, 'package.json', (packageJson) => {\n packageJson.dependencies = packageJson.dependencies || {};\n packageJson.devDependencies = packageJson.devDependencies || {};\n\n if (packageJson.dependencies['@nx/vite']) {\n packageJson.devDependencies['@nx/vite'] =\n packageJson.dependencies['@nx/vite'];\n delete packageJson.dependencies['@nx/vite'];\n }\n return packageJson;\n });\n}\n\nexport function createVitestConfig(tree: Tree) {\n const nxJson = readNxJson(tree);\n\n const productionFileSet = nxJson.namedInputs?.production;\n if (productionFileSet) {\n productionFileSet.push(\n '!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)',\n '!{projectRoot}/tsconfig.spec.json'\n );\n\n nxJson.namedInputs.production = Array.from(new Set(productionFileSet));\n }\n\n nxJson.targetDefaults ??= {};\n nxJson.targetDefaults.test ??= {};\n nxJson.targetDefaults.test.inputs ??= [\n 'default',\n productionFileSet ? '^production' : '^default',\n ];\n\n updateNxJson(tree, nxJson);\n}\n\nexport async function initGenerator(tree: Tree, schema: InitGeneratorSchema) {\n moveToDevDependencies(tree);\n createVitestConfig(tree);\n const tasks = [];\n\n tasks.push(\n await jsInitGenerator(tree, {\n ...schema,\n skipFormat: true,\n })\n );\n\n tasks.push(checkDependenciesInstalled(tree, schema));\n return runTasksInSerial(...tasks);\n}\n\nexport default initGenerator;\nexport const initSchematic = convertNxGenerator(initGenerator);\n"],"names":["createVitestConfig","initGenerator","initSchematic","checkDependenciesInstalled","host","schema","packageJson","readJson","devDependencies","dependencies","nxVersion","viteVersion","vitestVersion","vitestUiVersion","testEnvironment","jsdomVersion","happyDomVersion","edgeRuntimeVmVersion","logger","info","uiFramework","compiler","vitePluginReactSwcVersion","vitePluginReactVersion","includeLib","vitePluginDtsVersion","addDependenciesToPackageJson","moveToDevDependencies","tree","updateJson","nxJson","readNxJson","productionFileSet","namedInputs","production","push","Array","from","Set","targetDefaults","test","inputs","updateNxJson","tasks","jsInitGenerator","skipFormat","runTasksInSerial","convertNxGenerator"],"mappings":"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"}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/init/schema.d.ts"],"names":[],"mappings":""}
@@ -1 +1,3 @@
1
1
  "use strict";
2
+
3
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/schema.d.ts"],"names":[],"mappings":""}
@@ -25,7 +25,7 @@ const _js = require("@nx/js");
25
25
  const _path = require("path");
26
26
  async function vitestGenerator(tree, schema) {
27
27
  const tasks = [];
28
- const { targets , root , projectType } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
28
+ const { targets, root, projectType } = (0, _devkit.readProjectConfiguration)(tree, schema.project);
29
29
  var _schema_testTarget, _ref;
30
30
  let testTarget = (_ref = (_schema_testTarget = schema.testTarget) != null ? _schema_testTarget : (0, _generatorutils.findExistingTargetsInProject)(targets).validFoundTargetName.test) != null ? _ref : 'test';
31
31
  (0, _generatorutils.addOrChangeTestTarget)(tree, schema, testTarget);
@@ -74,7 +74,7 @@ async function vitestGenerator(tree, schema) {
74
74
  function updateTsConfig(tree, options, projectRoot) {
75
75
  if (tree.exists((0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.spec.json'))) {
76
76
  (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.spec.json'), (json)=>{
77
- var _json_compilerOptions, _json_compilerOptions_types;
77
+ var _json_compilerOptions_types, _json_compilerOptions;
78
78
  if (!((_json_compilerOptions = json.compilerOptions) == null ? void 0 : (_json_compilerOptions_types = _json_compilerOptions.types) == null ? void 0 : _json_compilerOptions_types.includes('vitest'))) {
79
79
  var _json_compilerOptions1;
80
80
  if ((_json_compilerOptions1 = json.compilerOptions) == null ? void 0 : _json_compilerOptions1.types) {
@@ -100,7 +100,7 @@ function updateTsConfig(tree, options, projectRoot) {
100
100
  });
101
101
  } else {
102
102
  (0, _devkit.updateJson)(tree, (0, _devkit.joinPathFragments)(projectRoot, 'tsconfig.json'), (json)=>{
103
- var _json_compilerOptions, _json_compilerOptions_types;
103
+ var _json_compilerOptions_types, _json_compilerOptions;
104
104
  if (!((_json_compilerOptions = json.compilerOptions) == null ? void 0 : (_json_compilerOptions_types = _json_compilerOptions.types) == null ? void 0 : _json_compilerOptions_types.includes('vitest'))) {
105
105
  var _json_compilerOptions1;
106
106
  if ((_json_compilerOptions1 = json.compilerOptions) == null ? void 0 : _json_compilerOptions1.types) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n convertNxGenerator,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n offsetFromRoot,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n findExistingTargetsInProject,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageC8Version,\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies } from '@nx/js';\nimport { join } from 'path';\n\nexport async function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { targets, root, projectType } = readProjectConfiguration(\n tree,\n schema.project\n );\n let testTarget =\n schema.testTarget ??\n findExistingTargetsInProject(targets).validFoundTargetName.test ??\n 'test';\n\n addOrChangeTestTarget(tree, schema, testTarget);\n\n const initTask = await initGenerator(tree, {\n uiFramework: schema.uiFramework,\n testEnvironment: schema.testEnvironment,\n });\n tasks.push(initTask);\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: projectType === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n `'react'`,\n `'react-dom'`,\n `'react/jsx-runtime'`,\n ],\n rollupOptionsExternalString: `\"'react', 'react-dom', 'react/jsx-runtime'\"`,\n imports: [`import react from '@vitejs/plugin-react'`],\n plugins: ['react()'],\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n if (options.inSourceTests) {\n const tsconfigLibPath = joinPathFragments(projectRoot, 'tsconfig.lib.json');\n const tsconfigAppPath = joinPathFragments(projectRoot, 'tsconfig.app.json');\n if (tree.exists(tsconfigLibPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n } else if (tree.exists(tsconfigAppPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.app.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n }\n\n addTsLibDependencies(tree);\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'c8':\n return {\n '@vitest/coverage-c8': vitestCoverageC8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\nexport const vitestSchematic = convertNxGenerator(vitestGenerator);\n"],"names":["vitestGenerator","vitestSchematic","tree","schema","tasks","targets","root","projectType","readProjectConfiguration","project","testTarget","findExistingTargetsInProject","validFoundTargetName","test","addOrChangeTestTarget","initTask","initGenerator","uiFramework","testEnvironment","push","skipViteConfig","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","rollupOptionsExternalString","imports","plugins","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","coverageProvider","installCoverageProviderTask","addDependenciesToPackageJson","skipFormat","formatFiles","runTasksInSerial","options","projectRoot","exists","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","some","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageC8Version","vitestCoverageIstanbulVersion","vitestCoverageV8Version","convertNxGenerator"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../packages/vite/src/generators/vitest/vitest-generator.ts"],"sourcesContent":["import {\n addDependenciesToPackageJson,\n convertNxGenerator,\n formatFiles,\n generateFiles,\n GeneratorCallback,\n joinPathFragments,\n offsetFromRoot,\n readProjectConfiguration,\n runTasksInSerial,\n Tree,\n updateJson,\n} from '@nx/devkit';\nimport {\n addOrChangeTestTarget,\n createOrEditViteConfig,\n findExistingTargetsInProject,\n} from '../../utils/generator-utils';\nimport { VitestGeneratorSchema } from './schema';\n\nimport initGenerator from '../init/init';\nimport {\n vitestCoverageC8Version,\n vitestCoverageIstanbulVersion,\n vitestCoverageV8Version,\n} from '../../utils/versions';\n\nimport { addTsLibDependencies } from '@nx/js';\nimport { join } from 'path';\n\nexport async function vitestGenerator(\n tree: Tree,\n schema: VitestGeneratorSchema\n) {\n const tasks: GeneratorCallback[] = [];\n\n const { targets, root, projectType } = readProjectConfiguration(\n tree,\n schema.project\n );\n let testTarget =\n schema.testTarget ??\n findExistingTargetsInProject(targets).validFoundTargetName.test ??\n 'test';\n\n addOrChangeTestTarget(tree, schema, testTarget);\n\n const initTask = await initGenerator(tree, {\n uiFramework: schema.uiFramework,\n testEnvironment: schema.testEnvironment,\n });\n tasks.push(initTask);\n\n if (!schema.skipViteConfig) {\n if (schema.uiFramework === 'react') {\n createOrEditViteConfig(\n tree,\n {\n project: schema.project,\n includeLib: projectType === 'library',\n includeVitest: true,\n inSourceTests: schema.inSourceTests,\n rollupOptionsExternal: [\n `'react'`,\n `'react-dom'`,\n `'react/jsx-runtime'`,\n ],\n rollupOptionsExternalString: `\"'react', 'react-dom', 'react/jsx-runtime'\"`,\n imports: [`import react from '@vitejs/plugin-react'`],\n plugins: ['react()'],\n },\n true\n );\n } else {\n createOrEditViteConfig(\n tree,\n {\n ...schema,\n includeVitest: true,\n includeLib: projectType === 'library',\n },\n true\n );\n }\n }\n\n createFiles(tree, schema, root);\n updateTsConfig(tree, schema, root);\n\n const coverageProviderDependency = getCoverageProviderDependency(\n schema.coverageProvider\n );\n\n const installCoverageProviderTask = addDependenciesToPackageJson(\n tree,\n {},\n coverageProviderDependency\n );\n tasks.push(installCoverageProviderTask);\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n\n return runTasksInSerial(...tasks);\n}\n\nfunction updateTsConfig(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n if (tree.exists(joinPathFragments(projectRoot, 'tsconfig.spec.json'))) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.spec.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (\n json.references &&\n !json.references.some((r) => r.path === './tsconfig.spec.json')\n ) {\n json.references.push({\n path: './tsconfig.spec.json',\n });\n }\n return json;\n }\n );\n } else {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.json'),\n (json) => {\n if (!json.compilerOptions?.types?.includes('vitest')) {\n if (json.compilerOptions?.types) {\n json.compilerOptions.types.push('vitest');\n } else {\n json.compilerOptions ??= {};\n json.compilerOptions.types = ['vitest'];\n }\n }\n return json;\n }\n );\n }\n\n if (options.inSourceTests) {\n const tsconfigLibPath = joinPathFragments(projectRoot, 'tsconfig.lib.json');\n const tsconfigAppPath = joinPathFragments(projectRoot, 'tsconfig.app.json');\n if (tree.exists(tsconfigLibPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.lib.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n } else if (tree.exists(tsconfigAppPath)) {\n updateJson(\n tree,\n joinPathFragments(projectRoot, 'tsconfig.app.json'),\n (json) => {\n (json.compilerOptions.types ??= []).push('vitest/importMeta');\n return json;\n }\n );\n }\n\n addTsLibDependencies(tree);\n }\n}\n\nfunction createFiles(\n tree: Tree,\n options: VitestGeneratorSchema,\n projectRoot: string\n) {\n generateFiles(tree, join(__dirname, 'files'), projectRoot, {\n tmpl: '',\n ...options,\n projectRoot,\n offsetFromRoot: offsetFromRoot(projectRoot),\n });\n}\n\nfunction getCoverageProviderDependency(\n coverageProvider: VitestGeneratorSchema['coverageProvider']\n) {\n switch (coverageProvider) {\n case 'c8':\n return {\n '@vitest/coverage-c8': vitestCoverageC8Version,\n };\n case 'istanbul':\n return {\n '@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,\n };\n default:\n return {\n '@vitest/coverage-v8': vitestCoverageV8Version,\n };\n }\n}\n\nexport default vitestGenerator;\nexport const vitestSchematic = convertNxGenerator(vitestGenerator);\n"],"names":["vitestGenerator","vitestSchematic","tree","schema","tasks","targets","root","projectType","readProjectConfiguration","project","testTarget","findExistingTargetsInProject","validFoundTargetName","test","addOrChangeTestTarget","initTask","initGenerator","uiFramework","testEnvironment","push","skipViteConfig","createOrEditViteConfig","includeLib","includeVitest","inSourceTests","rollupOptionsExternal","rollupOptionsExternalString","imports","plugins","createFiles","updateTsConfig","coverageProviderDependency","getCoverageProviderDependency","coverageProvider","installCoverageProviderTask","addDependenciesToPackageJson","skipFormat","formatFiles","runTasksInSerial","options","projectRoot","exists","joinPathFragments","updateJson","json","compilerOptions","types","includes","references","some","r","path","tsconfigLibPath","tsconfigAppPath","addTsLibDependencies","generateFiles","join","__dirname","tmpl","offsetFromRoot","vitestCoverageC8Version","vitestCoverageIstanbulVersion","vitestCoverageV8Version","convertNxGenerator"],"mappings":"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"}