UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

41 lines 2.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.schematicEntryPoint = void 0; const schematics_1 = require("@angular-devkit/schematics"); const core_1 = require("@angular-devkit/core"); const ast_utils_1 = require("@schematics/angular/utility/ast-utils"); const modified_library_functions_1 = require("../_utility/modified-library-functions"); const utility_functions_1 = require("../_utility/utility-functions"); function schematicEntryPoint() { return (tree) => { const projectInfo = (0, utility_functions_1.getProjectInfo)(tree); const appModule = (0, utility_functions_1.getAppModule)(tree, projectInfo.path); const configClassName = `${projectInfo.projectNameClassified}ConfigurationService`; const configFileName = `${projectInfo.projectNameDasherized}-configuration.service`; const configPathFromRoot = `${projectInfo.path}/${configFileName}`; const changes = (0, modified_library_functions_1.addProviderToModule)(appModule.sourceFile, appModule.fileEntry.path, configClassName, `./${configFileName}`, `{provide: ConfigurationService, useClass: ${configClassName}}`); changes.push((0, ast_utils_1.insertImport)(appModule.sourceFile, appModule.fileEntry.path, 'ConfigurationService', '@netgrif/components-core')); (0, utility_functions_1.commitChangesToFile)(tree, appModule.fileEntry, changes); const tsconfigString = tree.read('./tsconfig.json'); if (!tsconfigString) { throw new schematics_1.SchematicsException('Missing \'tsconfig.json\''); } const tsconfigContents = JSON.parse(tsconfigString.toString()); if (!tsconfigContents.compilerOptions) { tsconfigContents.compilerOptions = { resolveJsonModule: true, allowSyntheticDefaultImports: true }; } else { tsconfigContents.compilerOptions.resolveJsonModule = true; tsconfigContents.compilerOptions.allowSyntheticDefaultImports = true; } tree.overwrite('./tsconfig.json', JSON.stringify(tsconfigContents, null, 4)); return (0, utility_functions_1.createFilesFromTemplates)('./files', projectInfo.path, { classify: core_1.strings.classify, dasherize: core_1.strings.dasherize, project: projectInfo.projectName, configPath: (0, utility_functions_1.createRelativePath)(configPathFromRoot, 'nae.json') }); }; } exports.schematicEntryPoint = schematicEntryPoint; //# sourceMappingURL=schematic-create-configuration-service.js.map