UNPKG

@nx/next

Version:

The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides: - Scaffolding for creating, building, serving, linting, and testing Next.js applications. - Integration wit

35 lines (34 loc) 1.57 kB
"use strict"; 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, }); }