UNPKG

@nx/vite

Version:

The Nx Plugin for building and testing applications using Vite

71 lines (70 loc) 2.87 kB
"use strict"; function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { addViteTempFilesToGitIgnore: function() { return addViteTempFilesToGitIgnore; }, ignoreViteTempFiles: function() { return ignoreViteTempFiles; }, isEslintInstalled: function() { return isEslintInstalled; } }); const _devkit = require("@nx/devkit"); const _versions = require("./versions"); async function ignoreViteTempFiles(tree, projectRoot) { addViteTempFilesToGitIgnore(tree); await ignoreViteTempFilesInEslintConfig(tree, projectRoot); } function addViteTempFilesToGitIgnore(tree) { let gitIgnoreContents = tree.exists('.gitignore') ? tree.read('.gitignore', 'utf-8') : ''; if (!/^vite\.config\.\*\.timestamp\*$/m.test(gitIgnoreContents)) { gitIgnoreContents = (0, _devkit.stripIndents)`${gitIgnoreContents} vite.config.*.timestamp*`; } if (!/^vitest\.config\.\*\.timestamp\*$/m.test(gitIgnoreContents)) { gitIgnoreContents = (0, _devkit.stripIndents)`${gitIgnoreContents} vitest.config.*.timestamp*`; } tree.write('.gitignore', gitIgnoreContents); } async function ignoreViteTempFilesInEslintConfig(tree, projectRoot) { if (!isEslintInstalled(tree)) { return; } (0, _devkit.ensurePackage)('@nx/eslint', _versions.nxVersion); const { addIgnoresToLintConfig, isEslintConfigSupported } = await Promise.resolve().then(()=>require("@nx/eslint/src/generators/utils/eslint-file")); if (!isEslintConfigSupported(tree)) { return; } const { useFlatConfig } = await Promise.resolve().then(()=>require("@nx/eslint/src/utils/flat-config")); const isUsingFlatConfig = useFlatConfig(tree); if (!projectRoot && !isUsingFlatConfig) { // root eslintrc files ignore all files and the root eslintrc files add // back all the project files, so we only add the ignores to the project // eslintrc files return; } // for flat config, we update the root config file const directory = isUsingFlatConfig ? '' : projectRoot != null ? projectRoot : ''; addIgnoresToLintConfig(tree, directory, [ '**/vite.config.*.timestamp*', '**/vitest.config.*.timestamp*' ]); } function isEslintInstalled(tree) { try { require('eslint'); return true; } catch (e) {} // it might not be installed yet, but it might be in the tree pending install const { devDependencies, dependencies } = tree.exists('package.json') ? (0, _devkit.readJson)(tree, 'package.json') : {}; return !!(devDependencies == null ? void 0 : devDependencies['eslint']) || !!(dependencies == null ? void 0 : dependencies['eslint']); } //# sourceMappingURL=ignore-vite-temp-files.js.map