UNPKG

@nx-extend/shadcn-ui

Version:

<a href="https://www.npmjs.com/package/@nx-extend/shadcn-ui" rel="nofollow"> <img src="https://badgen.net/npm/v/@nx-extend/shadcn-ui" alt="@nx-extend/shadcn-ui NPM package"> </a>

96 lines 4.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const tslib_1 = require("tslib"); const devkit_1 = require("@nx/devkit"); const project_name_and_root_utils_1 = require("@nx/devkit/src/generators/project-name-and-root-utils"); const eslint_1 = require("@nx/eslint"); const js_1 = require("@nx/js"); const react_1 = require("@nx/react"); const path_1 = require("path"); function cleanupLib(tree, libDirectory) { // Remove the unneeded files tree.delete(`${libDirectory}/package.json`); tree.delete(`${libDirectory}/src/index.ts`); const libFiles = tree.children(`${libDirectory}/src/lib`); for (const file of libFiles) { tree.delete(`${libDirectory}/src/lib/${file}`); } } function addFilesToUtilsLib(host, libDirectory) { (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, 'files-utils'), libDirectory, { template: '' }); } function getLibRoot(host, fileName) { return (0, devkit_1.joinPathFragments)((0, devkit_1.getWorkspaceLayout)(host).libsDir, fileName); } function default_1(tree, options) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const uiLibOptions = yield (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(tree, { name: options.uiName, projectType: 'library', directory: getLibRoot(tree, options.uiName) }); yield (0, react_1.libraryGenerator)(tree, { name: options.uiName, skipFormat: true, style: 'css', linter: eslint_1.Linter.EsLint, directory: uiLibOptions.projectRoot, skipTsConfig: true }); const utilsLibOptions = yield (0, project_name_and_root_utils_1.determineProjectNameAndRootOptions)(tree, { name: options.utilsName, projectType: 'library', directory: getLibRoot(tree, options.utilsName) }); yield (0, react_1.libraryGenerator)(tree, { name: options.utilsName, skipFormat: true, style: 'css', linter: eslint_1.Linter.EsLint, directory: utilsLibOptions.projectRoot, skipTsConfig: true }); (0, js_1.addTsConfigPath)(tree, `${uiLibOptions.importPath}`, [`${uiLibOptions.projectRoot}/src`]); (0, js_1.addTsConfigPath)(tree, `${utilsLibOptions.importPath}`, [`${utilsLibOptions.projectRoot}/src`]); (0, js_1.addTsConfigPath)(tree, `${uiLibOptions.importPath}/*`, [`${uiLibOptions.projectRoot}/src/*`]); (0, js_1.addTsConfigPath)(tree, `${utilsLibOptions.importPath}/*`, [`${utilsLibOptions.projectRoot}/src/*`]); cleanupLib(tree, uiLibOptions.projectRoot); cleanupLib(tree, utilsLibOptions.projectRoot); addFilesToUtilsLib(tree, `${getLibRoot(tree, options.utilsName)}/src`); (0, devkit_1.writeJson)(tree, 'components.json', { '$schema': 'https://ui.shadcn.com/schema.json', 'style': 'default', 'rsc': false, 'tailwind': { 'config': (0, path_1.join)(utilsLibOptions.projectRoot, 'src/tailwind.config.ts'), 'css': (0, path_1.join)(utilsLibOptions.projectRoot, 'src/global.css'), 'baseColor': 'neutral', 'cssVariables': true }, 'aliases': { 'ui': uiLibOptions.importPath, 'components': `${uiLibOptions.importPath}/components`, 'utils': utilsLibOptions.importPath, 'hooks': `${uiLibOptions.importPath}/hooks` } }); (0, devkit_1.updateProjectConfiguration)(tree, uiLibOptions.projectName, Object.assign(Object.assign({}, (0, devkit_1.readProjectConfiguration)(tree, uiLibOptions.projectName)), { targets: { 'add-component': { executor: '@nx-extend/shadcn-ui:add' } } })); return (0, devkit_1.runTasksInSerial)((0, devkit_1.addDependenciesToPackageJson)(tree, { 'class-variance-authority': '^0.7.0', 'clsx': '^2.1.1', 'lucide-react': '^0.395.0', 'tailwind-merge': '^2.3.0', 'tailwindcss-animate': '^1.0.7' }, { tailwindcss: '^3.4.6' })); }); } //# sourceMappingURL=init.impl.js.map