@nx/vite
Version:
71 lines (70 loc) • 2.87 kB
JavaScript
;
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