UNPKG

@nxext/stencil

Version:

Nx plugin for stenciljs

106 lines 5.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepareConfigAndOutputargetPaths = void 0; const tslib_1 = require("tslib"); const workspace_1 = require("@nrwl/workspace"); const e2e_testing_1 = require("./e2e-testing"); const fileutils_1 = require("@nrwl/workspace/src/utilities/fileutils"); const devkit_1 = require("@nrwl/devkit"); const fs_1 = require("fs"); function copyOrCreatePackageJson(pathCollection) { var _a, _b, _c, _d, _e, _f, _g, _h; const libPackageJson = { name: pathCollection.projectName, version: '0.0.0', main: './dist/index.cjs.js', module: './dist/index.js', es2015: './dist/esm/index.mjs', es2017: './dist/esm/index.mjs', types: './dist/types/index.d.ts', collection: './dist/collection/collection-manifest.json', 'collection:main': './dist/collection/index.js', unpkg: `./dist/${pathCollection.projectName}/${pathCollection.projectName}.js`, files: ['dist/', 'loader/'] }; if ((0, fileutils_1.fileExists)(pathCollection.pkgJson)) { (0, workspace_1.copyFile)(pathCollection.pkgJson, pathCollection.distDir); const packageJson = (0, workspace_1.readJsonFile)(pathCollection.pkgJson); (_a = packageJson['main']) !== null && _a !== void 0 ? _a : (packageJson['main'] = libPackageJson.main); (_b = packageJson['module']) !== null && _b !== void 0 ? _b : (packageJson['module'] = libPackageJson.module); (_c = packageJson['es2015']) !== null && _c !== void 0 ? _c : (packageJson['es2015'] = libPackageJson.es2015); (_d = packageJson['es2017']) !== null && _d !== void 0 ? _d : (packageJson['es2017'] = libPackageJson.es2017); (_e = packageJson['types']) !== null && _e !== void 0 ? _e : (packageJson['types'] = libPackageJson.types); (_f = packageJson['collection']) !== null && _f !== void 0 ? _f : (packageJson['collection'] = libPackageJson.collection); (_g = packageJson['collection:main']) !== null && _g !== void 0 ? _g : (packageJson['collection:main'] = libPackageJson['collection:main']); (_h = packageJson['unpkg']) !== null && _h !== void 0 ? _h : (packageJson['unpkg'] = libPackageJson.unpkg); packageJson['files'] = packageJson.files ? [...new Set([...packageJson.files, ...libPackageJson.files])] : libPackageJson.files; (0, fileutils_1.writeJsonFile)(pathCollection.pkgJson, packageJson); } else { (0, fileutils_1.writeJsonFile)((0, devkit_1.joinPathFragments)(pathCollection.distDir, 'package.json'), libPackageJson); } } function calculateOutputTargetPathVariables(config, pathCollection, pathVariables) { return config.outputTargets.map((outputTarget) => { pathVariables.forEach((pathVar) => { if (outputTarget[pathVar] != null && !outputTarget[pathVar].endsWith('src')) { const origPath = outputTarget[pathVar]; outputTarget = Object.assign(outputTarget, { [pathVar]: origPath.replace(pathCollection.projectRoot, pathCollection.distDir) }); } }); return outputTarget; }); } function prepareDistDirAndPkgJson(pathCollection) { if (!(0, fs_1.existsSync)(pathCollection.distDir)) { (0, fileutils_1.createDirectory)(pathCollection.distDir); } copyOrCreatePackageJson(pathCollection); } function prepareConfigAndOutputargetPaths(config, pathCollection) { return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () { prepareDistDirAndPkgJson(pathCollection); if (config.flags.e2e) { (0, e2e_testing_1.prepareE2eTesting)(pathCollection); } const pathVariables = [ 'dir', 'appDir', 'buildDir', 'indexHtml', 'esmDir', 'systemDir', 'systemLoaderFile', 'file', 'esmLoaderPath', 'collectionDir', 'typesDir', 'legacyLoaderFile', 'esmEs5Dir', 'cjsDir', 'cjsIndexFile', 'esmIndexFile', 'componentDts' ]; const outputTargets = calculateOutputTargetPathVariables(config, pathCollection, pathVariables); const devServerConfig = Object.assign(config.devServer, { root: config.devServer.root.replace(pathCollection.projectRoot, pathCollection.distDir) }); if (!config.flags.e2e) { config.packageJsonFilePath = config.packageJsonFilePath.replace(pathCollection.projectRoot, pathCollection.distDir); } else { config.packageJsonFilePath = config.packageJsonFilePath.replace('package.json', 'package.e2e.json'); } return Object.assign(Object.assign({}, config), { outputTargets: outputTargets, devServer: devServerConfig }); }); } exports.prepareConfigAndOutputargetPaths = prepareConfigAndOutputargetPaths; //# sourceMappingURL=prepare-config-and-outputarget-paths.js.map