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

34 lines (33 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.configureForSwc = configureForSwc; const devkit_1 = require("@nx/devkit"); const internal_1 = require("@nx/js/internal"); 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, internal_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': internal_1.swcHelpersVersion, }, { '@swc-node/register': internal_1.swcNodeVersion, '@swc/cli': internal_1.swcCliVersion, '@swc/core': internal_1.swcCoreVersion, }, undefined, true); }