@nx/next
Version:
35 lines (34 loc) • 1.57 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.configureForSwc = configureForSwc;
const devkit_1 = require("@nx/devkit");
const versions_1 = require("@nx/js/src/utils/versions");
const add_swc_config_1 = require("@nx/js/src/utils/swc/add-swc-config");
function configureForSwc(tree, projectRoot, swcConfigName = '.swcrc', additonalExludes = []) {
const swcConfigPath = (0, devkit_1.joinPathFragments)(projectRoot, swcConfigName);
const rootPackageJson = (0, devkit_1.readJson)(tree, 'package.json');
const hasSwcDepedency = rootPackageJson.dependencies?.['@swc/core'] ||
rootPackageJson.devDependencies?.['@swc/core'];
const hasSwcCliDependency = rootPackageJson.dependencies?.['@swc/cli'] ||
rootPackageJson.devDependencies?.['@swc/cli'];
if (!tree.exists(swcConfigPath)) {
// We need to create a swc config file specific for custom server
(0, add_swc_config_1.addSwcConfig)(tree, projectRoot, 'commonjs', false, swcConfigName, [
...additonalExludes,
'.*.d.ts$',
]);
}
if (!hasSwcDepedency || !hasSwcCliDependency) {
addSwcDependencies(tree);
}
return () => (0, devkit_1.installPackagesTask)(tree);
}
function addSwcDependencies(tree) {
return (0, devkit_1.addDependenciesToPackageJson)(tree, {
'@swc/helpers': versions_1.swcHelpersVersion,
}, {
'@swc-node/register': versions_1.swcNodeVersion,
'@swc/cli': versions_1.swcCliVersion,
'@swc/core': versions_1.swcCoreVersion,
});
}
;