@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
41 lines • 2.58 kB
JavaScript
;
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