@schematics/angular
Advanced tools
Comparing version 14.1.1 to 16.2.10
@@ -35,2 +35,3 @@ "use strict"; | ||
const schematics_1 = require("@angular-devkit/schematics"); | ||
const standalone_1 = require("../private/standalone"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
@@ -84,12 +85,28 @@ const ast_utils_1 = require("../utility/ast-utils"); | ||
function getBootstrapComponentPath(host, mainPath) { | ||
const modulePath = (0, ng_ast_utils_1.getAppModulePath)(host, mainPath); | ||
const moduleSource = getSourceFile(host, modulePath); | ||
const metadataNode = (0, ast_utils_1.getDecoratorMetadata)(moduleSource, 'NgModule', '@angular/core')[0]; | ||
const bootstrapProperty = getMetadataProperty(metadataNode, 'bootstrap'); | ||
const arrLiteral = bootstrapProperty.initializer; | ||
const componentSymbol = arrLiteral.elements[0].getText(); | ||
const relativePath = (0, ast_utils_1.getSourceNodes)(moduleSource) | ||
const mainSource = getSourceFile(host, mainPath); | ||
const bootstrapAppCall = (0, standalone_1.findBootstrapApplicationCall)(mainSource); | ||
let bootstrappingFilePath; | ||
let bootstrappingSource; | ||
let componentName; | ||
if (bootstrapAppCall) { | ||
// Standalone Application | ||
componentName = bootstrapAppCall.arguments[0].getText(); | ||
bootstrappingFilePath = mainPath; | ||
bootstrappingSource = mainSource; | ||
} | ||
else { | ||
// NgModule Application | ||
const modulePath = (0, ng_ast_utils_1.getAppModulePath)(host, mainPath); | ||
const moduleSource = getSourceFile(host, modulePath); | ||
const metadataNode = (0, ast_utils_1.getDecoratorMetadata)(moduleSource, 'NgModule', '@angular/core')[0]; | ||
const bootstrapProperty = getMetadataProperty(metadataNode, 'bootstrap'); | ||
const arrLiteral = bootstrapProperty.initializer; | ||
componentName = arrLiteral.elements[0].getText(); | ||
bootstrappingSource = moduleSource; | ||
bootstrappingFilePath = modulePath; | ||
} | ||
const componentRelativeFilePath = (0, ast_utils_1.getSourceNodes)(bootstrappingSource) | ||
.filter(ts.isImportDeclaration) | ||
.filter((imp) => { | ||
return (0, ast_utils_1.findNode)(imp, ts.SyntaxKind.Identifier, componentSymbol); | ||
return (0, ast_utils_1.findNode)(imp, ts.SyntaxKind.Identifier, componentName); | ||
}) | ||
@@ -100,3 +117,3 @@ .map((imp) => { | ||
})[0]; | ||
return (0, core_1.join)((0, core_1.dirname)((0, core_1.normalize)(modulePath)), relativePath + '.ts'); | ||
return (0, core_1.join)((0, core_1.dirname)((0, core_1.normalize)(bootstrappingFilePath)), componentRelativeFilePath + '.ts'); | ||
} | ||
@@ -134,3 +151,2 @@ // end helper functions. | ||
return (0, workspace_1.updateWorkspace)((workspace) => { | ||
var _a, _b, _c, _d; | ||
const project = workspace.projects.get(options.project); | ||
@@ -142,4 +158,4 @@ if (!project) { | ||
// Duplicate keys means that we have configurations in both server and build builders. | ||
const serverConfigKeys = (_b = (_a = project.targets.get('server')) === null || _a === void 0 ? void 0 : _a.configurations) !== null && _b !== void 0 ? _b : {}; | ||
const buildConfigKeys = (_d = (_c = project.targets.get('build')) === null || _c === void 0 ? void 0 : _c.configurations) !== null && _d !== void 0 ? _d : {}; | ||
const serverConfigKeys = project.targets.get('server')?.configurations ?? {}; | ||
const buildConfigKeys = project.targets.get('build')?.configurations ?? {}; | ||
const configurationNames = Object.keys({ | ||
@@ -251,9 +267,50 @@ ...serverConfigKeys, | ||
} | ||
function addShellComponent(options) { | ||
const componentOptions = { | ||
name: 'app-shell', | ||
module: options.rootModuleFileName, | ||
project: options.project, | ||
function addStandaloneServerRoute(options) { | ||
return async (host) => { | ||
const workspace = await (0, workspace_1.getWorkspace)(host); | ||
const project = workspace.projects.get(options.project); | ||
if (!project) { | ||
throw new schematics_1.SchematicsException(`Project name "${options.project}" doesn't not exist.`); | ||
} | ||
const configFilePath = (0, core_1.join)((0, core_1.normalize)(project.sourceRoot ?? 'src'), 'app/app.config.server.ts'); | ||
if (!host.exists(configFilePath)) { | ||
throw new schematics_1.SchematicsException(`Cannot find "${configFilePath}".`); | ||
} | ||
let configSourceFile = getSourceFile(host, configFilePath); | ||
if (!(0, ast_utils_1.isImported)(configSourceFile, 'ROUTES', '@angular/router')) { | ||
const routesChange = (0, ast_utils_1.insertImport)(configSourceFile, configFilePath, 'ROUTES', '@angular/router'); | ||
const recorder = host.beginUpdate(configFilePath); | ||
if (routesChange) { | ||
(0, change_1.applyToUpdateRecorder)(recorder, [routesChange]); | ||
host.commitUpdate(recorder); | ||
} | ||
} | ||
configSourceFile = getSourceFile(host, configFilePath); | ||
const providersLiteral = (0, ast_utils_1.findNodes)(configSourceFile, ts.isPropertyAssignment).find((n) => ts.isArrayLiteralExpression(n.initializer) && n.name.getText() === 'providers')?.initializer; | ||
if (!providersLiteral) { | ||
throw new schematics_1.SchematicsException(`Cannot find the "providers" configuration in "${configFilePath}".`); | ||
} | ||
// Add route to providers literal. | ||
const newProvidersLiteral = ts.factory.updateArrayLiteralExpression(providersLiteral, [ | ||
...providersLiteral.elements, | ||
ts.factory.createObjectLiteralExpression([ | ||
ts.factory.createPropertyAssignment('provide', ts.factory.createIdentifier('ROUTES')), | ||
ts.factory.createPropertyAssignment('multi', ts.factory.createIdentifier('true')), | ||
ts.factory.createPropertyAssignment('useValue', ts.factory.createArrayLiteralExpression([ | ||
ts.factory.createObjectLiteralExpression([ | ||
ts.factory.createPropertyAssignment('path', ts.factory.createIdentifier(`'${options.route}'`)), | ||
ts.factory.createPropertyAssignment('component', ts.factory.createIdentifier('AppShellComponent')), | ||
], true), | ||
], true)), | ||
], true), | ||
]); | ||
const recorder = host.beginUpdate(configFilePath); | ||
recorder.remove(providersLiteral.getStart(), providersLiteral.getWidth()); | ||
const printer = ts.createPrinter(); | ||
recorder.insertRight(providersLiteral.getStart(), printer.printNode(ts.EmitHint.Unspecified, newProvidersLiteral, configSourceFile)); | ||
// Add AppShellComponent import | ||
const appShellImportChange = (0, ast_utils_1.insertImport)(configSourceFile, configFilePath, 'AppShellComponent', './app-shell/app-shell.component'); | ||
(0, change_1.applyToUpdateRecorder)(recorder, [appShellImportChange]); | ||
host.commitUpdate(recorder); | ||
}; | ||
return (0, schematics_1.schematic)('component', componentOptions); | ||
} | ||
@@ -273,2 +330,3 @@ function default_1(options) { | ||
{}); | ||
const isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(tree, clientBuildOptions.main); | ||
return (0, schematics_1.chain)([ | ||
@@ -278,5 +336,10 @@ validateProject(clientBuildOptions.main), | ||
addAppShellConfigToWorkspace(options), | ||
addRouterModule(clientBuildOptions.main), | ||
addServerRoutes(options), | ||
addShellComponent(options), | ||
isStandalone ? (0, schematics_1.noop)() : addRouterModule(clientBuildOptions.main), | ||
isStandalone ? addStandaloneServerRoute(options) : addServerRoutes(options), | ||
(0, schematics_1.schematic)('component', { | ||
name: 'app-shell', | ||
module: options.rootModuleFileName, | ||
project: options.project, | ||
standalone: isStandalone, | ||
}), | ||
]); | ||
@@ -286,1 +349,2 @@ }; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvYXBwLXNoZWxsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwrQ0FBZ0U7QUFDaEUsMkRBUW9DO0FBQ3BDLHNEQUFxRTtBQUNyRSxrR0FBb0Y7QUFDcEYsb0RBUzhCO0FBQzlCLDhDQUEwRDtBQUMxRCwwREFBNEU7QUFDNUUsZ0VBQXNFO0FBQ3RFLG9EQUFxRTtBQUNyRSxrRUFBb0c7QUFHcEcsU0FBUyxhQUFhLENBQUMsSUFBVSxFQUFFLElBQVk7SUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVoRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxJQUFVLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtJQUMzRSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUEsV0FBSSxFQUFDLElBQUEsZ0JBQVMsRUFBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQWMsRUFBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE1BQU0sWUFBWSxHQUFJLE9BQWdDLENBQUMsZUFBbUMsQ0FBQztJQUMzRixNQUFNLFVBQVUsR0FBRyxJQUFBLGdCQUFTLEVBQUMsSUFBSSxVQUFVLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7SUFFdkUsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQU9ELFNBQVMsd0JBQXdCLENBQUMsSUFBVSxFQUFFLGFBQXFCO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBQSxnQ0FBb0IsRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXZGLE9BQU87UUFDTCxZQUFZLEVBQUUsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQztRQUMzRCxlQUFlLEVBQUUsbUJBQW1CLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztLQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsSUFBVSxFQUFFLFFBQWdCLEVBQUUsUUFBc0I7SUFDaEYsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRWxCLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRTtRQUN6QixRQUFRLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNoRDtTQUFNLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUNuQyxNQUFNLFdBQVcsR0FBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQWdDLENBQUMsSUFBSSxDQUFDO1FBQ3BGLE1BQU0sR0FBRyxHQUFHLElBQUEsY0FBTyxFQUFDLElBQUEsZ0JBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLElBQUEsV0FBSSxFQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM1QyxJQUFJO1lBQ0YsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDeEM7UUFBQyxNQUFNLEdBQUU7S0FDWDtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUFDLElBQVUsRUFBRSxRQUFnQjtJQUM3RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx5Q0FBNEIsRUFBQyxVQUFVLENBQUMsQ0FBQztJQUVsRSxJQUFJLHFCQUE2QixDQUFDO0lBQ2xDLElBQUksbUJBQWtDLENBQUM7SUFDdkMsSUFBSSxhQUFxQixDQUFDO0lBRTFCLElBQUksZ0JBQWdCLEVBQUU7UUFDcEIseUJBQXlCO1FBQ3pCLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEQscUJBQXFCLEdBQUcsUUFBUSxDQUFDO1FBQ2pDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQztLQUNsQztTQUFNO1FBQ0wsdUJBQXVCO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQWdCLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxZQUFZLEdBQUcsSUFBQSxnQ0FBb0IsRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFdBQXdDLENBQUM7UUFDOUUsYUFBYSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakQsbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1FBQ25DLHFCQUFxQixHQUFHLFVBQVUsQ0FBQztLQUNwQztJQUVELE1BQU0seUJBQXlCLEdBQUcsSUFBQSwwQkFBYyxFQUFDLG1CQUFtQixDQUFDO1NBQ2xFLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDOUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDZCxPQUFPLElBQUEsb0JBQVEsRUFBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO1NBQ0QsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxlQUFtQyxDQUFDO1FBRWxFLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRVIsT0FBTyxJQUFBLFdBQUksRUFBQyxJQUFBLGNBQU8sRUFBQyxJQUFBLGdCQUFTLEVBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFDRCx3QkFBd0I7QUFFeEIsU0FBUyxlQUFlLENBQUMsUUFBZ0I7SUFDdkMsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUF5QixFQUFFLEVBQUU7UUFDL0MsTUFBTSxzQkFBc0IsR0FBRywrQ0FBK0MsQ0FBQztRQUUvRSxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsTUFBTSxJQUFJLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQyxNQUFNLFFBQVEsR0FBRyx5RkFBeUYsQ0FBQztZQUMzRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixNQUFNLElBQUksZ0NBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxPQUF3QjtJQUNsRCxPQUFPLEdBQUcsRUFBRTtRQUNWLGdCQUFnQjtRQUNoQixNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFFRixnQ0FBZ0M7UUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFFOUIsT0FBTyxJQUFBLHNCQUFTLEVBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNEJBQTRCLENBQUMsT0FBd0I7SUFDNUQsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixNQUFNLElBQUksZ0NBQW1CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUN2RDtRQUVELE9BQU8sSUFBQSwyQkFBZSxFQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTzthQUNSO1lBRUQsaUVBQWlFO1lBQ2pFLHNGQUFzRjtZQUN0RixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGNBQWMsSUFBSSxFQUFFLENBQUM7WUFDN0UsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztZQUUzRSxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ3JDLEdBQUcsZ0JBQWdCO2dCQUNuQixHQUFHLGVBQWU7YUFDbkIsQ0FBQyxDQUFDO1lBRUgsTUFBTSxjQUFjLEdBQXVCLEVBQUUsQ0FBQztZQUM5QyxLQUFLLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFO2dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNqQixtQkFBbUIsR0FBRyw2RUFBNkUsQ0FDcEcsQ0FBQztvQkFFRixTQUFTO2lCQUNWO2dCQUVELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3pCLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNqQixtQkFBbUIsR0FBRyw0RUFBNEUsQ0FDbkcsQ0FBQztvQkFFRixTQUFTO2lCQUNWO2dCQUVELGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDcEIsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sVUFBVSxHQUFHLEVBQUU7b0JBQ2hELFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLFdBQVcsR0FBRyxFQUFFO2lCQUNqRCxDQUFDO2FBQ0g7WUFFRCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDbEIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLE9BQU8sRUFBRSwyQkFBUSxDQUFDLFFBQVE7Z0JBQzFCLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUM3RSxPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2lCQUNyQjtnQkFDRCxjQUFjO2FBQ2YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsUUFBZ0I7SUFDdkMsT0FBTyxDQUFDLElBQVUsRUFBRSxFQUFFO1FBQ3BCLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQWdCLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxPQUFPLEdBQUcsSUFBQSw2QkFBaUIsRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBQSw4QkFBcUIsRUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFFBQWlCLEVBQUUsWUFBb0I7SUFDbEUsTUFBTSxVQUFVLEdBQUksUUFBdUMsQ0FBQyxVQUFVLENBQUM7SUFDdkUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMxRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssWUFBWSxDQUFDO1lBQ3pDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhO2dCQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVOLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxPQUF3QjtJQUMvQyxPQUFPLEtBQUssRUFBRSxJQUFVLEVBQUUsRUFBRTtRQUMxQiwwREFBMEQ7UUFDMUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLHdCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQyxPQUEwQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4QixNQUFNLElBQUksZ0NBQW1CLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUMxRTtRQUNELE1BQU0sVUFBVSxHQUFHLG1CQUFtQixDQUNwQyxJQUFJLEVBQ0osYUFBYSxDQUFDLFVBQVUsSUFBSSxLQUFLLEVBQ2pDLE9BQU8sQ0FBQyxJQUFjLENBQ3ZCLENBQUM7UUFDRixJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDdkIsTUFBTSxJQUFJLGdDQUFtQixDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFBLHNCQUFVLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO1lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBQSx3QkFBWSxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDekYsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLElBQUEsOEJBQXFCLEVBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUNqRDtZQUVELE1BQU0sT0FBTyxHQUFHLElBQUEsMEJBQWMsRUFBQyxZQUFZLENBQUM7aUJBQ3pDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO2lCQUMvRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDL0MsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUQsTUFBTSxTQUFTLEdBQUcseUNBQXlDLE9BQU8sQ0FBQyxLQUFLLHFDQUFxQyxDQUFDO1lBQzlHLFFBQVEsQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDN0I7UUFFRCxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBQSxzQkFBVSxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtZQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSx3QkFBWSxFQUNyQyxZQUFZLEVBQ1osVUFBVSxFQUNWLGNBQWMsRUFDZCxpQkFBaUIsQ0FDbEIsQ0FBQztZQUVGLElBQUksa0JBQWtCLEVBQUU7Z0JBQ3RCLElBQUEsOEJBQXFCLEVBQUMsUUFBUSxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBQSx1Q0FBMkIsRUFDaEQsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsOEJBQThCLENBQy9CLENBQUM7WUFDRixJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBQSw4QkFBcUIsRUFBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDakQ7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsT0FBd0I7SUFDeEQsT0FBTyxLQUFLLEVBQUUsSUFBVSxFQUFFLEVBQUU7UUFDMUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLHdCQUFZLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksZ0NBQW1CLENBQUMsaUJBQWlCLE9BQU8sQ0FBQyxPQUFPLHNCQUFzQixDQUFDLENBQUM7U0FDdkY7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFBLGdCQUFTLEVBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxnQ0FBbUIsQ0FBQyxnQkFBZ0IsY0FBYyxJQUFJLENBQUMsQ0FBQztTQUNuRTtRQUVELElBQUksZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBQSxzQkFBVSxFQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO1lBQzlELE1BQU0sWUFBWSxHQUFHLElBQUEsd0JBQVksRUFDL0IsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxRQUFRLEVBQ1IsaUJBQWlCLENBQ2xCLENBQUM7WUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xELElBQUksWUFBWSxFQUFFO2dCQUNoQixJQUFBLDhCQUFxQixFQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDN0I7U0FDRjtRQUVELGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHFCQUFTLEVBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxDQUNoRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FDdEYsRUFBRSxXQUFvRCxDQUFDO1FBQ3hELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixNQUFNLElBQUksZ0NBQW1CLENBQzNCLGlEQUFpRCxjQUFjLElBQUksQ0FDcEUsQ0FBQztTQUNIO1FBRUQsa0NBQWtDO1FBQ2xDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNwRixHQUFHLGdCQUFnQixDQUFDLFFBQVE7WUFDNUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FDdEM7Z0JBQ0UsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckYsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDakYsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FDakMsVUFBVSxFQUNWLEVBQUUsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQ3JDO29CQUNFLEVBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQ3RDO3dCQUNFLEVBQUUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQ2pDLE1BQU0sRUFDTixFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQ2xEO3dCQUNELEVBQUUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQ2pDLFdBQVcsRUFDWCxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQ2pEO3FCQUNGLEVBQ0QsSUFBSSxDQUNMO2lCQUNGLEVBQ0QsSUFBSSxDQUNMLENBQ0Y7YUFDRixFQUNELElBQUksQ0FDTDtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxRQUFRLENBQUMsV0FBVyxDQUNsQixnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFDM0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUNsRixDQUFDO1FBRUYsK0JBQStCO1FBQy9CLE1BQU0sb0JBQW9CLEdBQUcsSUFBQSx3QkFBWSxFQUN2QyxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixpQ0FBaUMsQ0FDbEMsQ0FBQztRQUVGLElBQUEsOEJBQXFCLEVBQUMsUUFBUSxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELG1CQUF5QixPQUF3QjtJQUMvQyxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUNwQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsd0JBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsS0FBSyxhQUFhLEVBQUU7WUFDNUUsTUFBTSxJQUFJLGdDQUFtQixDQUFDLHFEQUFxRCxDQUFDLENBQUM7U0FDdEY7UUFDRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN0QixNQUFNLElBQUEsMENBQXdCLEdBQUUsQ0FBQztTQUNsQztRQUNELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO1lBQ25ELEVBQUUsQ0FBcUMsQ0FBQztRQUUxQyxNQUFNLFlBQVksR0FBRyxJQUFBLDhCQUFlLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBFLE9BQU8sSUFBQSxrQkFBSyxFQUFDO1lBQ1gsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN4QyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQkFBSSxHQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUMxRSw0QkFBNEIsQ0FBQyxPQUFPLENBQUM7WUFDckMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFBLGlCQUFJLEdBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUNoRSxZQUFZLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQzNFLElBQUEsc0JBQVMsRUFBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjtnQkFDbEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixVQUFVLEVBQUUsWUFBWTthQUN6QixDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQTlCRCw0QkE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgZGlybmFtZSwgam9pbiwgbm9ybWFsaXplIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgUnVsZSxcbiAgU2NoZW1hdGljQ29udGV4dCxcbiAgU2NoZW1hdGljc0V4Y2VwdGlvbixcbiAgVHJlZSxcbiAgY2hhaW4sXG4gIG5vb3AsXG4gIHNjaGVtYXRpYyxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgZmluZEJvb3RzdHJhcEFwcGxpY2F0aW9uQ2FsbCB9IGZyb20gJy4uL3ByaXZhdGUvc3RhbmRhbG9uZSc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICcuLi90aGlyZF9wYXJ0eS9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L2xpYi90eXBlc2NyaXB0JztcbmltcG9ydCB7XG4gIGFkZEltcG9ydFRvTW9kdWxlLFxuICBhZGRTeW1ib2xUb05nTW9kdWxlTWV0YWRhdGEsXG4gIGZpbmROb2RlLFxuICBmaW5kTm9kZXMsXG4gIGdldERlY29yYXRvck1ldGFkYXRhLFxuICBnZXRTb3VyY2VOb2RlcyxcbiAgaW5zZXJ0SW1wb3J0LFxuICBpc0ltcG9ydGVkLFxufSBmcm9tICcuLi91dGlsaXR5L2FzdC11dGlscyc7XG5pbXBvcnQgeyBhcHBseVRvVXBkYXRlUmVjb3JkZXIgfSBmcm9tICcuLi91dGlsaXR5L2NoYW5nZSc7XG5pbXBvcnQgeyBnZXRBcHBNb2R1bGVQYXRoLCBpc1N0YW5kYWxvbmVBcHAgfSBmcm9tICcuLi91dGlsaXR5L25nLWFzdC11dGlscyc7XG5pbXBvcnQgeyB0YXJnZXRCdWlsZE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi91dGlsaXR5L3Byb2plY3QtdGFyZ2V0cyc7XG5pbXBvcnQgeyBnZXRXb3Jrc3BhY2UsIHVwZGF0ZVdvcmtzcGFjZSB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlJztcbmltcG9ydCB7IEJyb3dzZXJCdWlsZGVyT3B0aW9ucywgQnVpbGRlcnMsIFNlcnZlckJ1aWxkZXJPcHRpb25zIH0gZnJvbSAnLi4vdXRpbGl0eS93b3Jrc3BhY2UtbW9kZWxzJztcbmltcG9ydCB7IFNjaGVtYSBhcyBBcHBTaGVsbE9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUZpbGUoaG9zdDogVHJlZSwgcGF0aDogc3RyaW5nKTogdHMuU291cmNlRmlsZSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBob3N0LnJlYWRUZXh0KHBhdGgpO1xuICBjb25zdCBzb3VyY2UgPSB0cy5jcmVhdGVTb3VyY2VGaWxlKHBhdGgsIGNvbnRlbnQsIHRzLlNjcmlwdFRhcmdldC5MYXRlc3QsIHRydWUpO1xuXG4gIHJldHVybiBzb3VyY2U7XG59XG5cbmZ1bmN0aW9uIGdldFNlcnZlck1vZHVsZVBhdGgoaG9zdDogVHJlZSwgc291cmNlUm9vdDogc3RyaW5nLCBtYWluUGF0aDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IG1haW5Tb3VyY2UgPSBnZXRTb3VyY2VGaWxlKGhvc3QsIGpvaW4obm9ybWFsaXplKHNvdXJjZVJvb3QpLCBtYWluUGF0aCkpO1xuICBjb25zdCBhbGxOb2RlcyA9IGdldFNvdXJjZU5vZGVzKG1haW5Tb3VyY2UpO1xuICBjb25zdCBleHBOb2RlID0gYWxsTm9kZXMuZmluZCgobm9kZSkgPT4gdHMuaXNFeHBvcnREZWNsYXJhdGlvbihub2RlKSk7XG4gIGlmICghZXhwTm9kZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHJlbGF0aXZlUGF0aCA9IChleHBOb2RlIGFzIHRzLkV4cG9ydERlY2xhcmF0aW9uKS5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbDtcbiAgY29uc3QgbW9kdWxlUGF0aCA9IG5vcm1hbGl6ZShgLyR7c291cmNlUm9vdH0vJHtyZWxhdGl2ZVBhdGgudGV4dH0udHNgKTtcblxuICByZXR1cm4gbW9kdWxlUGF0aDtcbn1cblxuaW50ZXJmYWNlIFRlbXBsYXRlSW5mbyB7XG4gIHRlbXBsYXRlUHJvcD86IHRzLlByb3BlcnR5QXNzaWdubWVudDtcbiAgdGVtcGxhdGVVcmxQcm9wPzogdHMuUHJvcGVydHlBc3NpZ25tZW50O1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnRUZW1wbGF0ZUluZm8oaG9zdDogVHJlZSwgY29tcG9uZW50UGF0aDogc3RyaW5nKTogVGVtcGxhdGVJbmZvIHtcbiAgY29uc3QgY29tcFNvdXJjZSA9IGdldFNvdXJjZUZpbGUoaG9zdCwgY29tcG9uZW50UGF0aCk7XG4gIGNvbnN0IGNvbXBNZXRhZGF0YSA9IGdldERlY29yYXRvck1ldGFkYXRhKGNvbXBTb3VyY2UsICdDb21wb25lbnQnLCAnQGFuZ3VsYXIvY29yZScpWzBdO1xuXG4gIHJldHVybiB7XG4gICAgdGVtcGxhdGVQcm9wOiBnZXRNZXRhZGF0YVByb3BlcnR5KGNvbXBNZXRhZGF0YSwgJ3RlbXBsYXRlJyksXG4gICAgdGVtcGxhdGVVcmxQcm9wOiBnZXRNZXRhZGF0YVByb3BlcnR5KGNvbXBNZXRhZGF0YSwgJ3RlbXBsYXRlVXJsJyksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudFRlbXBsYXRlKGhvc3Q6IFRyZWUsIGNvbXBQYXRoOiBzdHJpbmcsIHRtcGxJbmZvOiBUZW1wbGF0ZUluZm8pOiBzdHJpbmcge1xuICBsZXQgdGVtcGxhdGUgPSAnJztcblxuICBpZiAodG1wbEluZm8udGVtcGxhdGVQcm9wKSB7XG4gICAgdGVtcGxhdGUgPSB0bXBsSW5mby50ZW1wbGF0ZVByb3AuZ2V0RnVsbFRleHQoKTtcbiAgfSBlbHNlIGlmICh0bXBsSW5mby50ZW1wbGF0ZVVybFByb3ApIHtcbiAgICBjb25zdCB0ZW1wbGF0ZVVybCA9ICh0bXBsSW5mby50ZW1wbGF0ZVVybFByb3AuaW5pdGlhbGl6ZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dDtcbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKG5vcm1hbGl6ZShjb21wUGF0aCkpO1xuICAgIGNvbnN0IHRlbXBsYXRlUGF0aCA9IGpvaW4oZGlyLCB0ZW1wbGF0ZVVybCk7XG4gICAgdHJ5IHtcbiAgICAgIHRlbXBsYXRlID0gaG9zdC5yZWFkVGV4dCh0ZW1wbGF0ZVBhdGgpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxuXG4gIHJldHVybiB0ZW1wbGF0ZTtcbn1cblxuZnVuY3Rpb24gZ2V0Qm9vdHN0cmFwQ29tcG9uZW50UGF0aChob3N0OiBUcmVlLCBtYWluUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbWFpblNvdXJjZSA9IGdldFNvdXJjZUZpbGUoaG9zdCwgbWFpblBhdGgpO1xuICBjb25zdCBib290c3RyYXBBcHBDYWxsID0gZmluZEJvb3RzdHJhcEFwcGxpY2F0aW9uQ2FsbChtYWluU291cmNlKTtcblxuICBsZXQgYm9vdHN0cmFwcGluZ0ZpbGVQYXRoOiBzdHJpbmc7XG4gIGxldCBib290c3RyYXBwaW5nU291cmNlOiB0cy5Tb3VyY2VGaWxlO1xuICBsZXQgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuXG4gIGlmIChib290c3RyYXBBcHBDYWxsKSB7XG4gICAgLy8gU3RhbmRhbG9uZSBBcHBsaWNhdGlvblxuICAgIGNvbXBvbmVudE5hbWUgPSBib290c3RyYXBBcHBDYWxsLmFyZ3VtZW50c1swXS5nZXRUZXh0KCk7XG4gICAgYm9vdHN0cmFwcGluZ0ZpbGVQYXRoID0gbWFpblBhdGg7XG4gICAgYm9vdHN0cmFwcGluZ1NvdXJjZSA9IG1haW5Tb3VyY2U7XG4gIH0gZWxzZSB7XG4gICAgLy8gTmdNb2R1bGUgQXBwbGljYXRpb25cbiAgICBjb25zdCBtb2R1bGVQYXRoID0gZ2V0QXBwTW9kdWxlUGF0aChob3N0LCBtYWluUGF0aCk7XG4gICAgY29uc3QgbW9kdWxlU291cmNlID0gZ2V0U291cmNlRmlsZShob3N0LCBtb2R1bGVQYXRoKTtcbiAgICBjb25zdCBtZXRhZGF0YU5vZGUgPSBnZXREZWNvcmF0b3JNZXRhZGF0YShtb2R1bGVTb3VyY2UsICdOZ01vZHVsZScsICdAYW5ndWxhci9jb3JlJylbMF07XG4gICAgY29uc3QgYm9vdHN0cmFwUHJvcGVydHkgPSBnZXRNZXRhZGF0YVByb3BlcnR5KG1ldGFkYXRhTm9kZSwgJ2Jvb3RzdHJhcCcpO1xuICAgIGNvbnN0IGFyckxpdGVyYWwgPSBib290c3RyYXBQcm9wZXJ0eS5pbml0aWFsaXplciBhcyB0cy5BcnJheUxpdGVyYWxFeHByZXNzaW9uO1xuICAgIGNvbXBvbmVudE5hbWUgPSBhcnJMaXRlcmFsLmVsZW1lbnRzWzBdLmdldFRleHQoKTtcbiAgICBib290c3RyYXBwaW5nU291cmNlID0gbW9kdWxlU291cmNlO1xuICAgIGJvb3RzdHJhcHBpbmdGaWxlUGF0aCA9IG1vZHVsZVBhdGg7XG4gIH1cblxuICBjb25zdCBjb21wb25lbnRSZWxhdGl2ZUZpbGVQYXRoID0gZ2V0U291cmNlTm9kZXMoYm9vdHN0cmFwcGluZ1NvdXJjZSlcbiAgICAuZmlsdGVyKHRzLmlzSW1wb3J0RGVjbGFyYXRpb24pXG4gICAgLmZpbHRlcigoaW1wKSA9PiB7XG4gICAgICByZXR1cm4gZmluZE5vZGUoaW1wLCB0cy5TeW50YXhLaW5kLklkZW50aWZpZXIsIGNvbXBvbmVudE5hbWUpO1xuICAgIH0pXG4gICAgLm1hcCgoaW1wKSA9PiB7XG4gICAgICBjb25zdCBwYXRoU3RyaW5nTGl0ZXJhbCA9IGltcC5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbDtcblxuICAgICAgcmV0dXJuIHBhdGhTdHJpbmdMaXRlcmFsLnRleHQ7XG4gICAgfSlbMF07XG5cbiAgcmV0dXJuIGpvaW4oZGlybmFtZShub3JtYWxpemUoYm9vdHN0cmFwcGluZ0ZpbGVQYXRoKSksIGNvbXBvbmVudFJlbGF0aXZlRmlsZVBhdGggKyAnLnRzJyk7XG59XG4vLyBlbmQgaGVscGVyIGZ1bmN0aW9ucy5cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9qZWN0KG1haW5QYXRoOiBzdHJpbmcpOiBSdWxlIHtcbiAgcmV0dXJuIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgcm91dGVyT3V0bGV0Q2hlY2tSZWdleCA9IC88cm91dGVyLW91dGxldC4qPz4oW1xcc1xcU10qPyk8XFwvcm91dGVyLW91dGxldD4vO1xuXG4gICAgY29uc3QgY29tcG9uZW50UGF0aCA9IGdldEJvb3RzdHJhcENvbXBvbmVudFBhdGgoaG9zdCwgbWFpblBhdGgpO1xuICAgIGNvbnN0IHRtcGwgPSBnZXRDb21wb25lbnRUZW1wbGF0ZUluZm8oaG9zdCwgY29tcG9uZW50UGF0aCk7XG4gICAgY29uc3QgdGVtcGxhdGUgPSBnZXRDb21wb25lbnRUZW1wbGF0ZShob3N0LCBjb21wb25lbnRQYXRoLCB0bXBsKTtcbiAgICBpZiAoIXJvdXRlck91dGxldENoZWNrUmVnZXgudGVzdCh0ZW1wbGF0ZSkpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gYFByZXJlcXVpc2l0ZSBmb3IgYXBwbGljYXRpb24gc2hlbGwgaXMgdG8gZGVmaW5lIGEgcm91dGVyLW91dGxldCBpbiB5b3VyIHJvb3QgY29tcG9uZW50LmA7XG4gICAgICBjb250ZXh0LmxvZ2dlci5lcnJvcihlcnJvck1zZyk7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihlcnJvck1zZyk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBhZGRVbml2ZXJzYWxUYXJnZXQob3B0aW9uczogQXBwU2hlbGxPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgLy8gQ29weSBvcHRpb25zLlxuICAgIGNvbnN0IHVuaXZlcnNhbE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICAvLyBEZWxldGUgbm9uLXVuaXZlcnNhbCBvcHRpb25zLlxuICAgIGRlbGV0ZSB1bml2ZXJzYWxPcHRpb25zLnJvdXRlO1xuXG4gICAgcmV0dXJuIHNjaGVtYXRpYygndW5pdmVyc2FsJywgdW5pdmVyc2FsT3B0aW9ucyk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZEFwcFNoZWxsQ29uZmlnVG9Xb3Jrc3BhY2Uob3B0aW9uczogQXBwU2hlbGxPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiAoaG9zdCwgY29udGV4dCkgPT4ge1xuICAgIGlmICghb3B0aW9ucy5yb3V0ZSkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYFJvdXRlIGlzIG5vdCBkZWZpbmVkYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVwZGF0ZVdvcmtzcGFjZSgod29ya3NwYWNlKSA9PiB7XG4gICAgICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChvcHRpb25zLnByb2plY3QpO1xuICAgICAgaWYgKCFwcm9qZWN0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvbiBvZiB0YXJnZXRzIGlzIGhhbmRsZWQgYWxyZWFkeSBpbiB0aGUgbWFpbiBmdW5jdGlvbi5cbiAgICAgIC8vIER1cGxpY2F0ZSBrZXlzIG1lYW5zIHRoYXQgd2UgaGF2ZSBjb25maWd1cmF0aW9ucyBpbiBib3RoIHNlcnZlciBhbmQgYnVpbGQgYnVpbGRlcnMuXG4gICAgICBjb25zdCBzZXJ2ZXJDb25maWdLZXlzID0gcHJvamVjdC50YXJnZXRzLmdldCgnc2VydmVyJyk/LmNvbmZpZ3VyYXRpb25zID8/IHt9O1xuICAgICAgY29uc3QgYnVpbGRDb25maWdLZXlzID0gcHJvamVjdC50YXJnZXRzLmdldCgnYnVpbGQnKT8uY29uZmlndXJhdGlvbnMgPz8ge307XG5cbiAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25OYW1lcyA9IE9iamVjdC5rZXlzKHtcbiAgICAgICAgLi4uc2VydmVyQ29uZmlnS2V5cyxcbiAgICAgICAgLi4uYnVpbGRDb25maWdLZXlzLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCB7fT4gPSB7fTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGNvbmZpZ3VyYXRpb25OYW1lcykge1xuICAgICAgICBpZiAoIXNlcnZlckNvbmZpZ0tleXNba2V5XSkge1xuICAgICAgICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAgICAgICBgU2tpcHBlZCBhZGRpbmcgXCIke2tleX1cIiBjb25maWd1cmF0aW9uIHRvIFwiYXBwLXNoZWxsXCIgdGFyZ2V0IGFzIGl0J3MgbWlzc2luZyBmcm9tIFwic2VydmVyXCIgdGFyZ2V0LmAsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFidWlsZENvbmZpZ0tleXNba2V5XSkge1xuICAgICAgICAgIGNvbnRleHQubG9nZ2VyLndhcm4oXG4gICAgICAgICAgICBgU2tpcHBlZCBhZGRpbmcgXCIke2tleX1cIiBjb25maWd1cmF0aW9uIHRvIFwiYXBwLXNoZWxsXCIgdGFyZ2V0IGFzIGl0J3MgbWlzc2luZyBmcm9tIFwiYnVpbGRcIiB0YXJnZXQuYCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25maWd1cmF0aW9uc1trZXldID0ge1xuICAgICAgICAgIGJyb3dzZXJUYXJnZXQ6IGAke29wdGlvbnMucHJvamVjdH06YnVpbGQ6JHtrZXl9YCxcbiAgICAgICAgICBzZXJ2ZXJUYXJnZXQ6IGAke29wdGlvbnMucHJvamVjdH06c2VydmVyOiR7a2V5fWAsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHByb2plY3QudGFyZ2V0cy5hZGQoe1xuICAgICAgICBuYW1lOiAnYXBwLXNoZWxsJyxcbiAgICAgICAgYnVpbGRlcjogQnVpbGRlcnMuQXBwU2hlbGwsXG4gICAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uOiBjb25maWd1cmF0aW9uc1sncHJvZHVjdGlvbiddID8gJ3Byb2R1Y3Rpb24nIDogdW5kZWZpbmVkLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgcm91dGU6IG9wdGlvbnMucm91dGUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZ3VyYXRpb25zLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZFJvdXRlck1vZHVsZShtYWluUGF0aDogc3RyaW5nKTogUnVsZSB7XG4gIHJldHVybiAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IG1vZHVsZVBhdGggPSBnZXRBcHBNb2R1bGVQYXRoKGhvc3QsIG1haW5QYXRoKTtcbiAgICBjb25zdCBtb2R1bGVTb3VyY2UgPSBnZXRTb3VyY2VGaWxlKGhvc3QsIG1vZHVsZVBhdGgpO1xuICAgIGNvbnN0IGNoYW5nZXMgPSBhZGRJbXBvcnRUb01vZHVsZShtb2R1bGVTb3VyY2UsIG1vZHVsZVBhdGgsICdSb3V0ZXJNb2R1bGUnLCAnQGFuZ3VsYXIvcm91dGVyJyk7XG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKG1vZHVsZVBhdGgpO1xuICAgIGFwcGx5VG9VcGRhdGVSZWNvcmRlcihyZWNvcmRlciwgY2hhbmdlcyk7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuXG4gICAgcmV0dXJuIGhvc3Q7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldE1ldGFkYXRhUHJvcGVydHkobWV0YWRhdGE6IHRzLk5vZGUsIHByb3BlcnR5TmFtZTogc3RyaW5nKTogdHMuUHJvcGVydHlBc3NpZ25tZW50IHtcbiAgY29uc3QgcHJvcGVydGllcyA9IChtZXRhZGF0YSBhcyB0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbikucHJvcGVydGllcztcbiAgY29uc3QgcHJvcGVydHkgPSBwcm9wZXJ0aWVzLmZpbHRlcih0cy5pc1Byb3BlcnR5QXNzaWdubWVudCkuZmlsdGVyKChwcm9wKSA9PiB7XG4gICAgY29uc3QgbmFtZSA9IHByb3AubmFtZTtcbiAgICBzd2l0Y2ggKG5hbWUua2luZCkge1xuICAgICAgY2FzZSB0cy5TeW50YXhLaW5kLklkZW50aWZpZXI6XG4gICAgICAgIHJldHVybiBuYW1lLmdldFRleHQoKSA9PT0gcHJvcGVydHlOYW1lO1xuICAgICAgY2FzZSB0cy5TeW50YXhLaW5kLlN0cmluZ0xpdGVyYWw6XG4gICAgICAgIHJldHVybiBuYW1lLnRleHQgPT09IHByb3BlcnR5TmFtZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0pWzBdO1xuXG4gIHJldHVybiBwcm9wZXJ0eTtcbn1cblxuZnVuY3Rpb24gYWRkU2VydmVyUm91dGVzKG9wdGlvbnM6IEFwcFNoZWxsT3B0aW9ucyk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKGhvc3Q6IFRyZWUpID0+IHtcbiAgICAvLyBUaGUgd29ya3NwYWNlIGdldHMgdXBkYXRlZCBzbyB0aGlzIG5lZWRzIHRvIGJlIHJlbG9hZGVkXG4gICAgY29uc3Qgd29ya3NwYWNlID0gYXdhaXQgZ2V0V29ya3NwYWNlKGhvc3QpO1xuICAgIGNvbnN0IGNsaWVudFByb2plY3QgPSB3b3Jrc3BhY2UucHJvamVjdHMuZ2V0KG9wdGlvbnMucHJvamVjdCk7XG4gICAgaWYgKCFjbGllbnRQcm9qZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuaXZlcnNhbCBzY2hlbWF0aWMgcmVtb3ZlZCBjbGllbnQgcHJvamVjdC4nKTtcbiAgICB9XG4gICAgY29uc3QgY2xpZW50U2VydmVyVGFyZ2V0ID0gY2xpZW50UHJvamVjdC50YXJnZXRzLmdldCgnc2VydmVyJyk7XG4gICAgaWYgKCFjbGllbnRTZXJ2ZXJUYXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5pdmVyc2FsIHNjaGVtYXRpYyBkaWQgbm90IGFkZCBzZXJ2ZXIgdGFyZ2V0IHRvIGNsaWVudCBwcm9qZWN0LicpO1xuICAgIH1cbiAgICBjb25zdCBjbGllbnRTZXJ2ZXJPcHRpb25zID0gY2xpZW50U2VydmVyVGFyZ2V0Lm9wdGlvbnMgYXMgdW5rbm93biBhcyBTZXJ2ZXJCdWlsZGVyT3B0aW9ucztcbiAgICBpZiAoIWNsaWVudFNlcnZlck9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKCdTZXJ2ZXIgdGFyZ2V0IGRvZXMgbm90IGNvbnRhaW4gb3B0aW9ucy4nKTtcbiAgICB9XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IGdldFNlcnZlck1vZHVsZVBhdGgoXG4gICAgICBob3N0LFxuICAgICAgY2xpZW50UHJvamVjdC5zb3VyY2VSb290IHx8ICdzcmMnLFxuICAgICAgb3B0aW9ucy5tYWluIGFzIHN0cmluZyxcbiAgICApO1xuICAgIGlmIChtb2R1bGVQYXRoID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbignVW5pdmVyc2FsL3NlcnZlciBtb2R1bGUgbm90IGZvdW5kLicpO1xuICAgIH1cblxuICAgIGxldCBtb2R1bGVTb3VyY2UgPSBnZXRTb3VyY2VGaWxlKGhvc3QsIG1vZHVsZVBhdGgpO1xuICAgIGlmICghaXNJbXBvcnRlZChtb2R1bGVTb3VyY2UsICdSb3V0ZXMnLCAnQGFuZ3VsYXIvcm91dGVyJykpIHtcbiAgICAgIGNvbnN0IHJlY29yZGVyID0gaG9zdC5iZWdpblVwZGF0ZShtb2R1bGVQYXRoKTtcbiAgICAgIGNvbnN0IHJvdXRlc0NoYW5nZSA9IGluc2VydEltcG9ydChtb2R1bGVTb3VyY2UsIG1vZHVsZVBhdGgsICdSb3V0ZXMnLCAnQGFuZ3VsYXIvcm91dGVyJyk7XG4gICAgICBpZiAocm91dGVzQ2hhbmdlKSB7XG4gICAgICAgIGFwcGx5VG9VcGRhdGVSZWNvcmRlcihyZWNvcmRlciwgW3JvdXRlc0NoYW5nZV0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbXBvcnRzID0gZ2V0U291cmNlTm9kZXMobW9kdWxlU291cmNlKVxuICAgICAgICAuZmlsdGVyKChub2RlKSA9PiBub2RlLmtpbmQgPT09IHRzLlN5bnRheEtpbmQuSW1wb3J0RGVjbGFyYXRpb24pXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmdldFN0YXJ0KCkgLSBiLmdldFN0YXJ0KCkpO1xuICAgICAgY29uc3QgaW5zZXJ0UG9zaXRpb24gPSBpbXBvcnRzW2ltcG9ydHMubGVuZ3RoIC0gMV0uZ2V0RW5kKCk7XG4gICAgICBjb25zdCByb3V0ZVRleHQgPSBgXFxuXFxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbIHsgcGF0aDogJyR7b3B0aW9ucy5yb3V0ZX0nLCBjb21wb25lbnQ6IEFwcFNoZWxsQ29tcG9uZW50IH1dO2A7XG4gICAgICByZWNvcmRlci5pbnNlcnRSaWdodChpbnNlcnRQb3NpdGlvbiwgcm91dGVUZXh0KTtcbiAgICAgIGhvc3QuY29tbWl0VXBkYXRlKHJlY29yZGVyKTtcbiAgICB9XG5cbiAgICBtb2R1bGVTb3VyY2UgPSBnZXRTb3VyY2VGaWxlKGhvc3QsIG1vZHVsZVBhdGgpO1xuICAgIGlmICghaXNJbXBvcnRlZChtb2R1bGVTb3VyY2UsICdSb3V0ZXJNb2R1bGUnLCAnQGFuZ3VsYXIvcm91dGVyJykpIHtcbiAgICAgIGNvbnN0IHJlY29yZGVyID0gaG9zdC5iZWdpblVwZGF0ZShtb2R1bGVQYXRoKTtcbiAgICAgIGNvbnN0IHJvdXRlck1vZHVsZUNoYW5nZSA9IGluc2VydEltcG9ydChcbiAgICAgICAgbW9kdWxlU291cmNlLFxuICAgICAgICBtb2R1bGVQYXRoLFxuICAgICAgICAnUm91dGVyTW9kdWxlJyxcbiAgICAgICAgJ0Bhbmd1bGFyL3JvdXRlcicsXG4gICAgICApO1xuXG4gICAgICBpZiAocm91dGVyTW9kdWxlQ2hhbmdlKSB7XG4gICAgICAgIGFwcGx5VG9VcGRhdGVSZWNvcmRlcihyZWNvcmRlciwgW3JvdXRlck1vZHVsZUNoYW5nZV0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXRhZGF0YUNoYW5nZSA9IGFkZFN5bWJvbFRvTmdNb2R1bGVNZXRhZGF0YShcbiAgICAgICAgbW9kdWxlU291cmNlLFxuICAgICAgICBtb2R1bGVQYXRoLFxuICAgICAgICAnaW1wb3J0cycsXG4gICAgICAgICdSb3V0ZXJNb2R1bGUuZm9yUm9vdChyb3V0ZXMpJyxcbiAgICAgICk7XG4gICAgICBpZiAobWV0YWRhdGFDaGFuZ2UpIHtcbiAgICAgICAgYXBwbHlUb1VwZGF0ZVJlY29yZGVyKHJlY29yZGVyLCBtZXRhZGF0YUNoYW5nZSk7XG4gICAgICB9XG4gICAgICBob3N0LmNvbW1pdFVwZGF0ZShyZWNvcmRlcik7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBhZGRTdGFuZGFsb25lU2VydmVyUm91dGUob3B0aW9uczogQXBwU2hlbGxPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChvcHRpb25zLnByb2plY3QpO1xuICAgIGlmICghcHJvamVjdCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYFByb2plY3QgbmFtZSBcIiR7b3B0aW9ucy5wcm9qZWN0fVwiIGRvZXNuJ3Qgbm90IGV4aXN0LmApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZ0ZpbGVQYXRoID0gam9pbihub3JtYWxpemUocHJvamVjdC5zb3VyY2VSb290ID8/ICdzcmMnKSwgJ2FwcC9hcHAuY29uZmlnLnNlcnZlci50cycpO1xuICAgIGlmICghaG9zdC5leGlzdHMoY29uZmlnRmlsZVBhdGgpKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgQ2Fubm90IGZpbmQgXCIke2NvbmZpZ0ZpbGVQYXRofVwiLmApO1xuICAgIH1cblxuICAgIGxldCBjb25maWdTb3VyY2VGaWxlID0gZ2V0U291cmNlRmlsZShob3N0LCBjb25maWdGaWxlUGF0aCk7XG4gICAgaWYgKCFpc0ltcG9ydGVkKGNvbmZpZ1NvdXJjZUZpbGUsICdST1VURVMnLCAnQGFuZ3VsYXIvcm91dGVyJykpIHtcbiAgICAgIGNvbnN0IHJvdXRlc0NoYW5nZSA9IGluc2VydEltcG9ydChcbiAgICAgICAgY29uZmlnU291cmNlRmlsZSxcbiAgICAgICAgY29uZmlnRmlsZVBhdGgsXG4gICAgICAgICdST1VURVMnLFxuICAgICAgICAnQGFuZ3VsYXIvcm91dGVyJyxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlY29yZGVyID0gaG9zdC5iZWdpblVwZGF0ZShjb25maWdGaWxlUGF0aCk7XG4gICAgICBpZiAocm91dGVzQ2hhbmdlKSB7XG4gICAgICAgIGFwcGx5VG9VcGRhdGVSZWNvcmRlcihyZWNvcmRlciwgW3JvdXRlc0NoYW5nZV0pO1xuICAgICAgICBob3N0LmNvbW1pdFVwZGF0ZShyZWNvcmRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uZmlnU291cmNlRmlsZSA9IGdldFNvdXJjZUZpbGUoaG9zdCwgY29uZmlnRmlsZVBhdGgpO1xuICAgIGNvbnN0IHByb3ZpZGVyc0xpdGVyYWwgPSBmaW5kTm9kZXMoY29uZmlnU291cmNlRmlsZSwgdHMuaXNQcm9wZXJ0eUFzc2lnbm1lbnQpLmZpbmQoXG4gICAgICAobikgPT4gdHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKG4uaW5pdGlhbGl6ZXIpICYmIG4ubmFtZS5nZXRUZXh0KCkgPT09ICdwcm92aWRlcnMnLFxuICAgICk/LmluaXRpYWxpemVyIGFzIHRzLkFycmF5TGl0ZXJhbEV4cHJlc3Npb24gfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFwcm92aWRlcnNMaXRlcmFsKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgICAgYENhbm5vdCBmaW5kIHRoZSBcInByb3ZpZGVyc1wiIGNvbmZpZ3VyYXRpb24gaW4gXCIke2NvbmZpZ0ZpbGVQYXRofVwiLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEFkZCByb3V0ZSB0byBwcm92aWRlcnMgbGl0ZXJhbC5cbiAgICBjb25zdCBuZXdQcm92aWRlcnNMaXRlcmFsID0gdHMuZmFjdG9yeS51cGRhdGVBcnJheUxpdGVyYWxFeHByZXNzaW9uKHByb3ZpZGVyc0xpdGVyYWwsIFtcbiAgICAgIC4uLnByb3ZpZGVyc0xpdGVyYWwuZWxlbWVudHMsXG4gICAgICB0cy5mYWN0b3J5LmNyZWF0ZU9iamVjdExpdGVyYWxFeHByZXNzaW9uKFxuICAgICAgICBbXG4gICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoJ3Byb3ZpZGUnLCB0cy5mYWN0b3J5LmNyZWF0ZUlkZW50aWZpZXIoJ1JPVVRFUycpKSxcbiAgICAgICAgICB0cy5mYWN0b3J5LmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudCgnbXVsdGknLCB0cy5mYWN0b3J5LmNyZWF0ZUlkZW50aWZpZXIoJ3RydWUnKSksXG4gICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoXG4gICAgICAgICAgICAndXNlVmFsdWUnLFxuICAgICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVBcnJheUxpdGVyYWxFeHByZXNzaW9uKFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihcbiAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgJ3BhdGgnLFxuICAgICAgICAgICAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcihgJyR7b3B0aW9ucy5yb3V0ZX0nYCksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlUHJvcGVydHlBc3NpZ25tZW50KFxuICAgICAgICAgICAgICAgICAgICAgICdjb21wb25lbnQnLFxuICAgICAgICAgICAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcignQXBwU2hlbGxDb21wb25lbnQnKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHRydWUsXG4gICAgICApLFxuICAgIF0pO1xuXG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKGNvbmZpZ0ZpbGVQYXRoKTtcbiAgICByZWNvcmRlci5yZW1vdmUocHJvdmlkZXJzTGl0ZXJhbC5nZXRTdGFydCgpLCBwcm92aWRlcnNMaXRlcmFsLmdldFdpZHRoKCkpO1xuICAgIGNvbnN0IHByaW50ZXIgPSB0cy5jcmVhdGVQcmludGVyKCk7XG4gICAgcmVjb3JkZXIuaW5zZXJ0UmlnaHQoXG4gICAgICBwcm92aWRlcnNMaXRlcmFsLmdldFN0YXJ0KCksXG4gICAgICBwcmludGVyLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbmV3UHJvdmlkZXJzTGl0ZXJhbCwgY29uZmlnU291cmNlRmlsZSksXG4gICAgKTtcblxuICAgIC8vIEFkZCBBcHBTaGVsbENvbXBvbmVudCBpbXBvcnRcbiAgICBjb25zdCBhcHBTaGVsbEltcG9ydENoYW5nZSA9IGluc2VydEltcG9ydChcbiAgICAgIGNvbmZpZ1NvdXJjZUZpbGUsXG4gICAgICBjb25maWdGaWxlUGF0aCxcbiAgICAgICdBcHBTaGVsbENvbXBvbmVudCcsXG4gICAgICAnLi9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudCcsXG4gICAgKTtcblxuICAgIGFwcGx5VG9VcGRhdGVSZWNvcmRlcihyZWNvcmRlciwgW2FwcFNoZWxsSW1wb3J0Q2hhbmdlXSk7XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogQXBwU2hlbGxPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAodHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZSh0cmVlKTtcbiAgICBjb25zdCBjbGllbnRQcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChvcHRpb25zLnByb2plY3QpO1xuICAgIGlmICghY2xpZW50UHJvamVjdCB8fCBjbGllbnRQcm9qZWN0LmV4dGVuc2lvbnMucHJvamVjdFR5cGUgIT09ICdhcHBsaWNhdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBBIGNsaWVudCBwcm9qZWN0IHR5cGUgb2YgXCJhcHBsaWNhdGlvblwiIGlzIHJlcXVpcmVkLmApO1xuICAgIH1cbiAgICBjb25zdCBjbGllbnRCdWlsZFRhcmdldCA9IGNsaWVudFByb2plY3QudGFyZ2V0cy5nZXQoJ2J1aWxkJyk7XG4gICAgaWYgKCFjbGllbnRCdWlsZFRhcmdldCkge1xuICAgICAgdGhyb3cgdGFyZ2V0QnVpbGROb3RGb3VuZEVycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudEJ1aWxkT3B0aW9ucyA9IChjbGllbnRCdWlsZFRhcmdldC5vcHRpb25zIHx8XG4gICAgICB7fSkgYXMgdW5rbm93biBhcyBCcm93c2VyQnVpbGRlck9wdGlvbnM7XG5cbiAgICBjb25zdCBpc1N0YW5kYWxvbmUgPSBpc1N0YW5kYWxvbmVBcHAodHJlZSwgY2xpZW50QnVpbGRPcHRpb25zLm1haW4pO1xuXG4gICAgcmV0dXJuIGNoYWluKFtcbiAgICAgIHZhbGlkYXRlUHJvamVjdChjbGllbnRCdWlsZE9wdGlvbnMubWFpbiksXG4gICAgICBjbGllbnRQcm9qZWN0LnRhcmdldHMuaGFzKCdzZXJ2ZXInKSA/IG5vb3AoKSA6IGFkZFVuaXZlcnNhbFRhcmdldChvcHRpb25zKSxcbiAgICAgIGFkZEFwcFNoZWxsQ29uZmlnVG9Xb3Jrc3BhY2Uob3B0aW9ucyksXG4gICAgICBpc1N0YW5kYWxvbmUgPyBub29wKCkgOiBhZGRSb3V0ZXJNb2R1bGUoY2xpZW50QnVpbGRPcHRpb25zLm1haW4pLFxuICAgICAgaXNTdGFuZGFsb25lID8gYWRkU3RhbmRhbG9uZVNlcnZlclJvdXRlKG9wdGlvbnMpIDogYWRkU2VydmVyUm91dGVzKG9wdGlvbnMpLFxuICAgICAgc2NoZW1hdGljKCdjb21wb25lbnQnLCB7XG4gICAgICAgIG5hbWU6ICdhcHAtc2hlbGwnLFxuICAgICAgICBtb2R1bGU6IG9wdGlvbnMucm9vdE1vZHVsZUZpbGVOYW1lLFxuICAgICAgICBwcm9qZWN0OiBvcHRpb25zLnByb2plY3QsXG4gICAgICAgIHN0YW5kYWxvbmU6IGlzU3RhbmRhbG9uZSxcbiAgICAgIH0pLFxuICAgIF0pO1xuICB9O1xufVxuIl19 |
@@ -6,7 +6,4 @@ /** | ||
/** | ||
* The name of the application directory. | ||
*/ | ||
appDir?: string; | ||
/** | ||
* The application ID to use in withServerTransition(). | ||
* @deprecated This option is no longer used. | ||
*/ | ||
@@ -13,0 +10,0 @@ appId?: string; |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2FwcC1zaGVsbC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIFRISVMgRklMRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gVE8gVVBEQVRFIFRISVMgRklMRSBZT1UgTkVFRCBUTyBDSEFOR0UgVEhFXG4vLyBDT1JSRVNQT05ESU5HIEpTT04gU0NIRU1BIEZJTEUsIFRIRU4gUlVOIGRldmtpdC1hZG1pbiBidWlsZCAob3IgYmF6ZWwgYnVpbGQgLi4uKS5cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYW4gYXBwbGljYXRpb24gc2hlbGwgZm9yIHJ1bm5pbmcgYSBzZXJ2ZXItc2lkZSB2ZXJzaW9uIG9mIGFuIGFwcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBhcHBsaWNhdGlvbiBJRCB0byB1c2UgaW4gd2l0aFNlcnZlclRyYW5zaXRpb24oKS5cbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIG9wdGlvbiBpcyBubyBsb25nZXIgdXNlZC5cbiAgICAgKi9cbiAgICBhcHBJZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgbWFpbiBlbnRyeS1wb2ludCBmaWxlLlxuICAgICAqL1xuICAgIG1haW4/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHJlbGF0ZWQgY2xpZW50IGFwcC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHJvb3QgbW9kdWxlIGNsYXNzLlxuICAgICAqL1xuICAgIHJvb3RNb2R1bGVDbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHJvb3QgbW9kdWxlIGZpbGVcbiAgICAgKi9cbiAgICByb290TW9kdWxlRmlsZU5hbWU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogUm91dGUgcGF0aCB1c2VkIHRvIHByb2R1Y2UgdGhlIGFwcGxpY2F0aW9uIHNoZWxsLlxuICAgICAqL1xuICAgIHJvdXRlPzogc3RyaW5nO1xufVxuIl19 |
@@ -25,3 +25,4 @@ { | ||
"description": "The application ID to use in withServerTransition().", | ||
"default": "serverApp" | ||
"default": "serverApp", | ||
"x-deprecated": "This option is no longer used." | ||
}, | ||
@@ -33,11 +34,6 @@ "main": { | ||
}, | ||
"appDir": { | ||
"type": "string", | ||
"description": "The name of the application directory.", | ||
"default": "app" | ||
}, | ||
"rootModuleFileName": { | ||
"type": "string", | ||
"description": "The name of the root module file", | ||
"default": "app.server.module.ts" | ||
"default": "app.module.server.ts" | ||
}, | ||
@@ -44,0 +40,0 @@ "rootModuleClassName": { |
@@ -19,2 +19,69 @@ "use strict"; | ||
const schema_1 = require("./schema"); | ||
function default_1(options) { | ||
return async (host, context) => { | ||
const { appDir, appRootSelector, componentOptions, folderName, sourceDir } = await getAppOptions(host, options); | ||
if (options.standalone) { | ||
context.logger.warn('Standalone application structure is new and not yet supported by many existing' + | ||
` 'ng add' and 'ng update' integrations with community libraries.`); | ||
} | ||
return (0, schematics_1.chain)([ | ||
addAppToWorkspaceFile(options, appDir, folderName), | ||
options.standalone | ||
? (0, schematics_1.noop)() | ||
: (0, schematics_1.schematic)('module', { | ||
name: 'app', | ||
commonModule: false, | ||
flat: true, | ||
routing: options.routing, | ||
routingScope: 'Root', | ||
path: sourceDir, | ||
project: options.name, | ||
}), | ||
(0, schematics_1.schematic)('component', { | ||
name: 'app', | ||
selector: appRootSelector, | ||
flat: true, | ||
path: sourceDir, | ||
skipImport: true, | ||
project: options.name, | ||
...componentOptions, | ||
}), | ||
(0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)(options.standalone ? './files/standalone-files' : './files/module-files'), [ | ||
options.routing ? (0, schematics_1.noop)() : (0, schematics_1.filter)((path) => !path.endsWith('app.routes.ts.template')), | ||
componentOptions.skipTests | ||
? (0, schematics_1.filter)((path) => !path.endsWith('.spec.ts.template')) | ||
: (0, schematics_1.noop)(), | ||
(0, schematics_1.applyTemplates)({ | ||
utils: schematics_1.strings, | ||
...options, | ||
...componentOptions, | ||
selector: appRootSelector, | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(appDir), | ||
appName: options.name, | ||
folderName, | ||
}), | ||
(0, schematics_1.move)(appDir), | ||
]), schematics_1.MergeStrategy.Overwrite), | ||
(0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files/common-files'), [ | ||
options.minimal | ||
? (0, schematics_1.filter)((path) => !path.endsWith('tsconfig.spec.json.template')) | ||
: (0, schematics_1.noop)(), | ||
componentOptions.inlineTemplate | ||
? (0, schematics_1.filter)((path) => !path.endsWith('component.html.template')) | ||
: (0, schematics_1.noop)(), | ||
(0, schematics_1.applyTemplates)({ | ||
utils: schematics_1.strings, | ||
...options, | ||
selector: appRootSelector, | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(appDir), | ||
appName: options.name, | ||
folderName, | ||
}), | ||
(0, schematics_1.move)(appDir), | ||
]), schematics_1.MergeStrategy.Overwrite), | ||
options.skipPackageJson ? (0, schematics_1.noop)() : addDependenciesToPackageJson(options), | ||
]); | ||
}; | ||
} | ||
exports.default = default_1; | ||
function addDependenciesToPackageJson(options) { | ||
@@ -46,3 +113,2 @@ return (host, context) => { | ||
function addAppToWorkspaceFile(options, appDir, folderName) { | ||
var _a, _b; | ||
let projectRoot = appDir; | ||
@@ -58,6 +124,6 @@ if (projectRoot) { | ||
const componentSchematicsOptions = {}; | ||
if ((_a = options.inlineTemplate) !== null && _a !== void 0 ? _a : options.minimal) { | ||
if (options.inlineTemplate ?? options.minimal) { | ||
componentSchematicsOptions.inlineTemplate = true; | ||
} | ||
if ((_b = options.inlineStyle) !== null && _b !== void 0 ? _b : options.minimal) { | ||
if (options.inlineStyle ?? options.minimal) { | ||
componentSchematicsOptions.inlineStyle = true; | ||
@@ -88,2 +154,11 @@ } | ||
} | ||
if (options.standalone) { | ||
const schematicsWithStandalone = ['component', 'directive', 'pipe']; | ||
schematicsWithStandalone.forEach((type) => { | ||
if (!(`@schematics/angular:${type}` in schematics)) { | ||
schematics[`@schematics/angular:${type}`] = {}; | ||
} | ||
schematics[`@schematics/angular:${type}`].standalone = true; | ||
}); | ||
} | ||
const sourceRoot = (0, core_1.join)((0, core_1.normalize)(projectRoot), 'src'); | ||
@@ -119,3 +194,3 @@ let budgets = []; | ||
} | ||
const inlineStyleLanguage = (options === null || options === void 0 ? void 0 : options.style) !== schema_1.Style.Css ? options.style : undefined; | ||
const inlineStyleLanguage = options?.style !== schema_1.Style.Css ? options.style : undefined; | ||
const project = { | ||
@@ -135,3 +210,3 @@ root: (0, core_1.normalize)(projectRoot), | ||
main: `${sourceRoot}/main.ts`, | ||
polyfills: `${sourceRoot}/polyfills.ts`, | ||
polyfills: ['zone.js'], | ||
tsConfig: `${projectRoot}tsconfig.app.json`, | ||
@@ -146,8 +221,2 @@ inlineStyleLanguage, | ||
budgets, | ||
fileReplacements: [ | ||
{ | ||
replace: `${sourceRoot}/environments/environment.ts`, | ||
with: `${sourceRoot}/environments/environment.prod.ts`, | ||
}, | ||
], | ||
outputHashing: 'all', | ||
@@ -189,6 +258,4 @@ }, | ||
options: { | ||
main: `${sourceRoot}/test.ts`, | ||
polyfills: `${sourceRoot}/polyfills.ts`, | ||
polyfills: ['zone.js', 'zone.js/testing'], | ||
tsConfig: `${projectRoot}tsconfig.spec.json`, | ||
karmaConfig: `${projectRoot}karma.conf.js`, | ||
inlineStyleLanguage, | ||
@@ -209,89 +276,42 @@ assets: [`${sourceRoot}/favicon.ico`, `${sourceRoot}/assets`], | ||
} | ||
function minimalPathFilter(path) { | ||
const toRemoveList = /(test.ts|tsconfig.spec.json|karma.conf.js).template$/; | ||
return !toRemoveList.test(path); | ||
async function getAppOptions(host, options) { | ||
const appRootSelector = `${options.prefix}-root`; | ||
const componentOptions = getComponentOptions(options); | ||
const workspace = await (0, workspace_1.getWorkspace)(host); | ||
const newProjectRoot = workspace.extensions.newProjectRoot || ''; | ||
// If scoped project (i.e. "@foo/bar"), convert dir to "foo/bar". | ||
let folderName = options.name.startsWith('@') ? options.name.slice(1) : options.name; | ||
if (/[A-Z]/.test(folderName)) { | ||
folderName = schematics_1.strings.dasherize(folderName); | ||
} | ||
const appDir = options.projectRoot === undefined | ||
? (0, core_1.join)((0, core_1.normalize)(newProjectRoot), folderName) | ||
: (0, core_1.normalize)(options.projectRoot); | ||
const sourceDir = `${appDir}/src/app`; | ||
return { | ||
appDir, | ||
appRootSelector, | ||
componentOptions, | ||
folderName, | ||
sourceDir, | ||
}; | ||
} | ||
function default_1(options) { | ||
return async (host) => { | ||
var _a, _b; | ||
const appRootSelector = `${options.prefix}-root`; | ||
const componentOptions = !options.minimal | ||
? { | ||
inlineStyle: options.inlineStyle, | ||
inlineTemplate: options.inlineTemplate, | ||
skipTests: options.skipTests, | ||
style: options.style, | ||
viewEncapsulation: options.viewEncapsulation, | ||
} | ||
: { | ||
inlineStyle: (_a = options.inlineStyle) !== null && _a !== void 0 ? _a : true, | ||
inlineTemplate: (_b = options.inlineTemplate) !== null && _b !== void 0 ? _b : true, | ||
skipTests: true, | ||
style: options.style, | ||
viewEncapsulation: options.viewEncapsulation, | ||
}; | ||
const workspace = await (0, workspace_1.getWorkspace)(host); | ||
const newProjectRoot = workspace.extensions.newProjectRoot || ''; | ||
const isRootApp = options.projectRoot !== undefined; | ||
// If scoped project (i.e. "@foo/bar"), convert dir to "foo/bar". | ||
let folderName = options.name.startsWith('@') ? options.name.slice(1) : options.name; | ||
if (/[A-Z]/.test(folderName)) { | ||
folderName = schematics_1.strings.dasherize(folderName); | ||
function getComponentOptions(options) { | ||
const componentOptions = !options.minimal | ||
? { | ||
inlineStyle: options.inlineStyle, | ||
inlineTemplate: options.inlineTemplate, | ||
skipTests: options.skipTests, | ||
style: options.style, | ||
viewEncapsulation: options.viewEncapsulation, | ||
} | ||
const appDir = isRootApp | ||
? (0, core_1.normalize)(options.projectRoot || '') | ||
: (0, core_1.join)((0, core_1.normalize)(newProjectRoot), folderName); | ||
const sourceDir = `${appDir}/src/app`; | ||
return (0, schematics_1.chain)([ | ||
addAppToWorkspaceFile(options, appDir, folderName), | ||
(0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [ | ||
options.minimal ? (0, schematics_1.filter)(minimalPathFilter) : (0, schematics_1.noop)(), | ||
(0, schematics_1.applyTemplates)({ | ||
utils: schematics_1.strings, | ||
...options, | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(appDir), | ||
appName: options.name, | ||
isRootApp, | ||
folderName, | ||
}), | ||
(0, schematics_1.move)(appDir), | ||
]), schematics_1.MergeStrategy.Overwrite), | ||
(0, schematics_1.schematic)('module', { | ||
name: 'app', | ||
commonModule: false, | ||
flat: true, | ||
routing: options.routing, | ||
routingScope: 'Root', | ||
path: sourceDir, | ||
project: options.name, | ||
}), | ||
(0, schematics_1.schematic)('component', { | ||
name: 'app', | ||
selector: appRootSelector, | ||
flat: true, | ||
path: sourceDir, | ||
skipImport: true, | ||
project: options.name, | ||
...componentOptions, | ||
}), | ||
(0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./other-files'), [ | ||
options.strict ? (0, schematics_1.noop)() : (0, schematics_1.filter)((path) => path !== '/package.json.template'), | ||
componentOptions.inlineTemplate | ||
? (0, schematics_1.filter)((path) => !path.endsWith('.html.template')) | ||
: (0, schematics_1.noop)(), | ||
componentOptions.skipTests | ||
? (0, schematics_1.filter)((path) => !path.endsWith('.spec.ts.template')) | ||
: (0, schematics_1.noop)(), | ||
(0, schematics_1.applyTemplates)({ | ||
utils: schematics_1.strings, | ||
...options, | ||
selector: appRootSelector, | ||
...componentOptions, | ||
}), | ||
(0, schematics_1.move)(sourceDir), | ||
]), schematics_1.MergeStrategy.Overwrite), | ||
options.skipPackageJson ? (0, schematics_1.noop)() : addDependenciesToPackageJson(options), | ||
]); | ||
}; | ||
: { | ||
inlineStyle: options.inlineStyle ?? true, | ||
inlineTemplate: options.inlineTemplate ?? true, | ||
skipTests: true, | ||
style: options.style, | ||
viewEncapsulation: options.viewEncapsulation, | ||
}; | ||
return componentOptions; | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvYXBwbGljYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7QUFFSCwrQ0FBbUU7QUFDbkUsMkRBZW9DO0FBQ3BDLDREQUEwRTtBQUUxRSwwREFBdUY7QUFDdkYsZ0VBQTREO0FBQzVELDRDQUErRDtBQUMvRCxvREFBcUU7QUFDckUsa0VBQW9FO0FBQ3BFLHFDQUErRDtBQUUvRCxtQkFBeUIsT0FBMkI7SUFDbEQsT0FBTyxLQUFLLEVBQUUsSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQ3hFLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVyQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2pCLGdGQUFnRjtnQkFDOUUsa0VBQWtFLENBQ3JFLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBQSxrQkFBSyxFQUFDO1lBQ1gscUJBQXFCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7WUFDbEQsT0FBTyxDQUFDLFVBQVU7Z0JBQ2hCLENBQUMsQ0FBQyxJQUFBLGlCQUFJLEdBQUU7Z0JBQ1IsQ0FBQyxDQUFDLElBQUEsc0JBQVMsRUFBQyxRQUFRLEVBQUU7b0JBQ2xCLElBQUksRUFBRSxLQUFLO29CQUNYLFlBQVksRUFBRSxLQUFLO29CQUNuQixJQUFJLEVBQUUsSUFBSTtvQkFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87b0JBQ3hCLFlBQVksRUFBRSxNQUFNO29CQUNwQixJQUFJLEVBQUUsU0FBUztvQkFDZixPQUFPLEVBQUUsT0FB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QUM3QztRQUNILENBQUMsQ0FBQztZQUNFLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDeEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjLElBQUksSUFBSTtZQUM5QyxTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1NBQzdDLENBQUM7SUFFTixPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgSnNvbk9iamVjdCwgam9pbiwgbm9ybWFsaXplIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgTWVyZ2VTdHJhdGVneSxcbiAgUnVsZSxcbiAgU2NoZW1hdGljQ29udGV4dCxcbiAgVHJlZSxcbiAgYXBwbHksXG4gIGFwcGx5VGVtcGxhdGVzLFxuICBjaGFpbixcbiAgZmlsdGVyLFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIG5vb3AsXG4gIHNjaGVtYXRpYyxcbiAgc3RyaW5ncyxcbiAgdXJsLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBOb2RlUGFja2FnZUluc3RhbGxUYXNrIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MvdGFza3MnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIENvbXBvbmVudE9wdGlvbnMgfSBmcm9tICcuLi9jb21wb25lbnQvc2NoZW1hJztcbmltcG9ydCB7IE5vZGVEZXBlbmRlbmN5VHlwZSwgYWRkUGFja2FnZUpzb25EZXBlbmRlbmN5IH0gZnJvbSAnLi4vdXRpbGl0eS9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgbGF0ZXN0VmVyc2lvbnMgfSBmcm9tICcuLi91dGlsaXR5L2xhdGVzdC12ZXJzaW9ucyc7XG5pbXBvcnQgeyByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3QgfSBmcm9tICcuLi91dGlsaXR5L3BhdGhzJztcbmltcG9ydCB7IGdldFdvcmtzcGFjZSwgdXBkYXRlV29ya3NwYWNlIH0gZnJvbSAnLi4vdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHsgQnVpbGRlcnMsIFByb2plY3RUeXBlIH0gZnJvbSAnLi4vdXRpbGl0eS93b3Jrc3BhY2UtbW9kZWxzJztcbmltcG9ydCB7IFNjaGVtYSBhcyBBcHBsaWNhdGlvbk9wdGlvbnMsIFN0eWxlIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogQXBwbGljYXRpb25PcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHsgYXBwRGlyLCBhcHBSb290U2VsZWN0b3IsIGNvbXBvbmVudE9wdGlvbnMsIGZvbGRlck5hbWUsIHNvdXJjZURpciB9ID1cbiAgICAgIGF3YWl0IGdldEFwcE9wdGlvbnMoaG9zdCwgb3B0aW9ucyk7XG5cbiAgICBpZiAob3B0aW9ucy5zdGFuZGFsb25lKSB7XG4gICAgICBjb250ZXh0LmxvZ2dlci53YXJuKFxuICAgICAgICAnU3RhbmRhbG9uZSBhcHBsaWNhdGlvbiBzdHJ1Y3R1cmUgaXMgbmV3IGFuZCBub3QgeWV0IHN1cHBvcnRlZCBieSBtYW55IGV4aXN0aW5nJyArXG4gICAgICAgICAgYCAnbmcgYWRkJyBhbmQgJ25nIHVwZGF0ZScgaW50ZWdyYXRpb25zIHdpdGggY29tbXVuaXR5IGxpYnJhcmllcy5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgYWRkQXBwVG9Xb3Jrc3BhY2VGaWxlKG9wdGlvbnMsIGFwcERpciwgZm9sZGVyTmFtZSksXG4gICAgICBvcHRpb25zLnN0YW5kYWxvbmVcbiAgICAgICAgPyBub29wKClcbiAgICAgICAgOiBzY2hlbWF0aWMoJ21vZHVsZScsIHtcbiAgICAgICAgICAgIG5hbWU6ICdhcHAnLFxuICAgICAgICAgICAgY29tbW9uTW9kdWxlOiBmYWxzZSxcbiAgICAgICAgICAgIGZsYXQ6IHRydWUsXG4gICAgICAgICAgICByb3V0aW5nOiBvcHRpb25zLnJvdXRpbmcsXG4gICAgICAgICAgICByb3V0aW5nU2NvcGU6ICdSb290JyxcbiAgICAgICAgICAgIHBhdGg6IHNvdXJjZURpcixcbiAgICAgICAgICAgIHByb2plY3Q6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgICB9KSxcbiAgICAgIHNjaGVtYXRpYygnY29tcG9uZW50Jywge1xuICAgICAgICBuYW1lOiAnYXBwJyxcbiAgICAgICAgc2VsZWN0b3I6IGFwcFJvb3RTZWxlY3RvcixcbiAgICAgICAgZmxhdDogdHJ1ZSxcbiAgICAgICAgcGF0aDogc291cmNlRGlyLFxuICAgICAgICBza2lwSW1wb3J0OiB0cnVlLFxuICAgICAgICBwcm9qZWN0OiBvcHRpb25zLm5hbWUsXG4gICAgICAgIC4uLmNvbXBvbmVudE9wdGlvbnMsXG4gICAgICB9KSxcbiAgICAgIG1lcmdlV2l0aChcbiAgICAgICAgYXBwbHkodXJsKG9wdGlvbnMuc3RhbmRhbG9uZSA/ICcuL2ZpbGVzL3N0YW5kYWxvbmUtZmlsZXMnIDogJy4vZmlsZXMvbW9kdWxlLWZpbGVzJyksIFtcbiAgICAgICAgICBvcHRpb25zLnJvdXRpbmcgPyBub29wKCkgOiBmaWx0ZXIoKHBhdGgpID0+ICFwYXRoLmVuZHNXaXRoKCdhcHAucm91dGVzLnRzLnRlbXBsYXRlJykpLFxuICAgICAgICAgIGNvbXBvbmVudE9wdGlvbnMuc2tpcFRlc3RzXG4gICAgICAgICAgICA/IGZpbHRlcigocGF0aCkgPT4gIXBhdGguZW5kc1dpdGgoJy5zcGVjLnRzLnRlbXBsYXRlJykpXG4gICAgICAgICAgICA6IG5vb3AoKSxcbiAgICAgICAgICBhcHBseVRlbXBsYXRlcyh7XG4gICAgICAgICAgICB1dGlsczogc3RyaW5ncyxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAuLi5jb21wb25lbnRPcHRpb25zLFxuICAgICAgICAgICAgc2VsZWN0b3I6IGFwcFJvb3RTZWxlY3RvcixcbiAgICAgICAgICAgIHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlUm9vdDogcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290KGFwcERpciksXG4gICAgICAgICAgICBhcHBOYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAgICAgICBmb2xkZXJOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1vdmUoYXBwRGlyKSxcbiAgICAgICAgXSksXG4gICAgICAgIE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlLFxuICAgICAgKSxcbiAgICAgIG1lcmdlV2l0aChcbiAgICAgICAgYXBwbHkodXJsKCcuL2ZpbGVzL2NvbW1vbi1maWxlcycpLCBbXG4gICAgICAgICAgb3B0aW9ucy5taW5pbWFsXG4gICAgICAgICAgICA/IGZpbHRlcigocGF0aCkgPT4gIXBhdGguZW5kc1dpdGgoJ3RzY29uZmlnLnNwZWMuanNvbi50ZW1wbGF0ZScpKVxuICAgICAgICAgICAgOiBub29wKCksXG4gICAgICAgICAgY29tcG9uZW50T3B0aW9ucy5pbmxpbmVUZW1wbGF0ZVxuICAgICAgICAgICAgPyBmaWx0ZXIoKHBhdGgpID0+ICFwYXRoLmVuZHNXaXRoKCdjb21wb25lbnQuaHRtbC50ZW1wbGF0ZScpKVxuICAgICAgICAgICAgOiBub29wKCksXG4gICAgICAgICAgYXBwbHlUZW1wbGF0ZXMoe1xuICAgICAgICAgICAgdXRpbHM6IHN0cmluZ3MsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgc2VsZWN0b3I6IGFwcFJvb3RTZWxlY3RvcixcbiAgICAgICAgICAgIHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlUm9vdDogcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290KGFwcERpciksXG4gICAgICAgICAgICBhcHBOYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAgICAgICBmb2xkZXJOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1vdmUoYXBwRGlyKSxcbiAgICAgICAgXSksXG4gICAgICAgIE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlLFxuICAgICAgKSxcbiAgICAgIG9wdGlvbnMuc2tpcFBhY2thZ2VKc29uID8gbm9vcCgpIDogYWRkRGVwZW5kZW5jaWVzVG9QYWNrYWdlSnNvbihvcHRpb25zKSxcbiAgICBdKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gYWRkRGVwZW5kZW5jaWVzVG9QYWNrYWdlSnNvbihvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMpIHtcbiAgcmV0dXJuIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgW1xuICAgICAge1xuICAgICAgICB0eXBlOiBOb2RlRGVwZW5kZW5jeVR5cGUuRGV2LFxuICAgICAgICBuYW1lOiAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJyxcbiAgICAgICAgdmVyc2lvbjogbGF0ZXN0VmVyc2lvbnMuQW5ndWxhcixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IE5vZGVEZXBlbmRlbmN5VHlwZS5EZXYsXG4gICAgICAgIG5hbWU6ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcicsXG4gICAgICAgIHZlcnNpb246IGxhdGVzdFZlcnNpb25zLkRldmtpdEJ1aWxkQW5ndWxhcixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IE5vZGVEZXBlbmRlbmN5VHlwZS5EZXYsXG4gICAgICAgIG5hbWU6ICd0eXBlc2NyaXB0JyxcbiAgICAgICAgdmVyc2lvbjogbGF0ZXN0VmVyc2lvbnNbJ3R5cGVzY3JpcHQnXSxcbiAgICAgIH0sXG4gICAgXS5mb3JFYWNoKChkZXBlbmRlbmN5KSA9PiBhZGRQYWNrYWdlSnNvbkRlcGVuZGVuY3koaG9zdCwgZGVwZW5kZW5jeSkpO1xuXG4gICAgaWYgKCFvcHRpb25zLnNraXBJbnN0YWxsKSB7XG4gICAgICBjb250ZXh0LmFkZFRhc2sobmV3IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2soKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvc3Q7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZEFwcFRvV29ya3NwYWNlRmlsZShcbiAgb3B0aW9uczogQXBwbGljYXRpb25PcHRpb25zLFxuICBhcHBEaXI6IHN0cmluZyxcbiAgZm9sZGVyTmFtZTogc3RyaW5nLFxuKTogUnVsZSB7XG4gIGxldCBwcm9qZWN0Um9vdCA9IGFwcERpcjtcbiAgaWYgKHByb2plY3RSb290KSB7XG4gICAgcHJvamVjdFJvb3QgKz0gJy8nO1xuICB9XG5cbiAgY29uc3Qgc2NoZW1hdGljczogSnNvbk9iamVjdCA9IHt9O1xuXG4gIGlmIChcbiAgICBvcHRpb25zLmlubGluZVRlbXBsYXRlIHx8XG4gICAgb3B0aW9ucy5pbmxpbmVTdHlsZSB8fFxuICAgIG9wdGlvbnMubWluaW1hbCB8fFxuICAgIG9wdGlvbnMuc3R5bGUgIT09IFN0eWxlLkNzc1xuICApIHtcbiAgICBjb25zdCBjb21wb25lbnRTY2hlbWF0aWNzT3B0aW9uczogSnNvbk9iamVjdCA9IHt9O1xuICAgIGlmIChvcHRpb25zLmlubGluZVRlbXBsYXRlID8/IG9wdGlvbnMubWluaW1hbCkge1xuICAgICAgY29tcG9uZW50U2NoZW1hdGljc09wdGlvbnMuaW5saW5lVGVtcGxhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pbmxpbmVTdHlsZSA/PyBvcHRpb25zLm1pbmltYWwpIHtcbiAgICAgIGNvbXBvbmVudFNjaGVtYXRpY3NPcHRpb25zLmlubGluZVN0eWxlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc3R5bGUgJiYgb3B0aW9ucy5zdHlsZSAhPT0gU3R5bGUuQ3NzKSB7XG4gICAgICBjb21wb25lbnRTY2hlbWF0aWNzT3B0aW9ucy5zdHlsZSA9IG9wdGlvbnMuc3R5bGU7XG4gICAgfVxuXG4gICAgc2NoZW1hdGljc1snQHNjaGVtYXRpY3MvYW5ndWxhcjpjb21wb25lbnQnXSA9IGNvbXBvbmVudFNjaGVtYXRpY3NPcHRpb25zO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMuc2tpcFRlc3RzIHx8IG9wdGlvbnMubWluaW1hbCkge1xuICAgIGNvbnN0IHNjaGVtYXRpY3NXaXRoVGVzdHMgPSBbXG4gICAgICAnY2xhc3MnLFxuICAgICAgJ2NvbXBvbmVudCcsXG4gICAgICAnZGlyZWN0aXZlJyxcbiAgICAgICdndWFyZCcsXG4gICAgICAnaW50ZXJjZXB0b3InLFxuICAgICAgJ3BpcGUnLFxuICAgICAgJ3Jlc29sdmVyJyxcbiAgICAgICdzZXJ2aWNlJyxcbiAgICBdO1xuXG4gICAgc2NoZW1hdGljc1dpdGhUZXN0cy5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICBpZiAoIShgQHNjaGVtYXRpY3MvYW5ndWxhcjoke3R5cGV9YCBpbiBzY2hlbWF0aWNzKSkge1xuICAgICAgICBzY2hlbWF0aWNzW2BAc2NoZW1hdGljcy9hbmd1bGFyOiR7dHlwZX1gXSA9IHt9O1xuICAgICAgfVxuICAgICAgKHNjaGVtYXRpY3NbYEBzY2hlbWF0aWNzL2FuZ3VsYXI6JHt0eXBlfWBdIGFzIEpzb25PYmplY3QpLnNraXBUZXN0cyA9IHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5zdGFuZGFsb25lKSB7XG4gICAgY29uc3Qgc2NoZW1hdGljc1dpdGhTdGFuZGFsb25lID0gWydjb21wb25lbnQnLCAnZGlyZWN0aXZlJywgJ3BpcGUnXTtcbiAgICBzY2hlbWF0aWNzV2l0aFN0YW5kYWxvbmUuZm9yRWFjaCgodHlwZSkgPT4ge1xuICAgICAgaWYgKCEoYEBzY2hlbWF0aWNzL2FuZ3VsYXI6JHt0eXBlfWAgaW4gc2NoZW1hdGljcykpIHtcbiAgICAgICAgc2NoZW1hdGljc1tgQHNjaGVtYXRpY3MvYW5ndWxhcjoke3R5cGV9YF0gPSB7fTtcbiAgICAgIH1cbiAgICAgIChzY2hlbWF0aWNzW2BAc2NoZW1hdGljcy9hbmd1bGFyOiR7dHlwZX1gXSBhcyBKc29uT2JqZWN0KS5zdGFuZGFsb25lID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZVJvb3QgPSBqb2luKG5vcm1hbGl6ZShwcm9qZWN0Um9vdCksICdzcmMnKTtcbiAgbGV0IGJ1ZGdldHMgPSBbXTtcbiAgaWYgKG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgYnVkZ2V0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2luaXRpYWwnLFxuICAgICAgICBtYXhpbXVtV2FybmluZzogJzUwMGtiJyxcbiAgICAgICAgbWF4aW11bUVycm9yOiAnMW1iJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdhbnlDb21wb25lbnRTdHlsZScsXG4gICAgICAgIG1heGltdW1XYXJuaW5nOiAnMmtiJyxcbiAgICAgICAgbWF4aW11bUVycm9yOiAnNGtiJyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSBlbHNlIHtcbiAgICBidWRnZXRzID0gW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnaW5pdGlhbCcsXG4gICAgICAgIG1heGltdW1XYXJuaW5nOiAnMm1iJyxcbiAgICAgICAgbWF4aW11bUVycm9yOiAnNW1iJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdhbnlDb21wb25lbnRTdHlsZScsXG4gICAgICAgIG1heGltdW1XYXJuaW5nOiAnNmtiJyxcbiAgICAgICAgbWF4aW11bUVycm9yOiAnMTBrYicsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBjb25zdCBpbmxpbmVTdHlsZUxhbmd1YWdlID0gb3B0aW9ucz8uc3R5bGUgIT09IFN0eWxlLkNzcyA/IG9wdGlvbnMuc3R5bGUgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgcHJvamVjdCA9IHtcbiAgICByb290OiBub3JtYWxpemUocHJvamVjdFJvb3QpLFxuICAgIHNvdXJjZVJvb3QsXG4gICAgcHJvamVjdFR5cGU6IFByb2plY3RUeXBlLkFwcGxpY2F0aW9uLFxuICAgIHByZWZpeDogb3B0aW9ucy5wcmVmaXggfHwgJ2FwcCcsXG4gICAgc2NoZW1hdGljcyxcbiAgICB0YXJnZXRzOiB7XG4gICAgICBidWlsZDoge1xuICAgICAgICBidWlsZGVyOiBCdWlsZGVycy5Ccm93c2VyLFxuICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgb3V0cHV0UGF0aDogYGRpc3QvJHtmb2xkZXJOYW1lfWAsXG4gICAgICAgICAgaW5kZXg6IGAke3NvdXJjZVJvb3R9L2luZGV4Lmh0bWxgLFxuICAgICAgICAgIG1haW46IGAke3NvdXJjZVJvb3R9L21haW4udHNgLFxuICAgICAgICAgIHBvbHlmaWxsczogWyd6b25lLmpzJ10sXG4gICAgICAgICAgdHNDb25maWc6IGAke3Byb2plY3RSb290fXRzY29uZmlnLmFwcC5qc29uYCxcbiAgICAgICAgICBpbmxpbmVTdHlsZUxhbmd1YWdlLFxuICAgICAgICAgIGFzc2V0czogW2Ake3NvdXJjZVJvb3R9L2Zhdmljb24uaWNvYCwgYCR7c291cmNlUm9vdH0vYXNzZXRzYF0sXG4gICAgICAgICAgc3R5bGVzOiBbYCR7c291cmNlUm9vdH0vc3R5bGVzLiR7b3B0aW9ucy5zdHlsZX1gXSxcbiAgICAgICAgICBzY3JpcHRzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgY29uZmlndXJhdGlvbnM6IHtcbiAgICAgICAgICBwcm9kdWN0aW9uOiB7XG4gICAgICAgICAgICBidWRnZXRzLFxuICAgICAgICAgICAgb3V0cHV0SGFzaGluZzogJ2FsbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXZlbG9wbWVudDoge1xuICAgICAgICAgICAgYnVpbGRPcHRpbWl6ZXI6IGZhbHNlLFxuICAgICAgICAgICAgb3B0aW1pemF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHZlbmRvckNodW5rOiB0cnVlLFxuICAgICAgICAgICAgZXh0cmFjdExpY2Vuc2VzOiBmYWxzZSxcbiAgICAgICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWVkQ2h1bmtzOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2VydmU6IHtcbiAgICAgICAgYnVpbGRlcjogQnVpbGRlcnMuRGV2U2VydmVyLFxuICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgb3B0aW9uczoge30sXG4gICAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgICAgcHJvZHVjdGlvbjoge1xuICAgICAgICAgICAgYnJvd3NlclRhcmdldDogYCR7b3B0aW9ucy5uYW1lfTpidWlsZDpwcm9kdWN0aW9uYCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRldmVsb3BtZW50OiB7XG4gICAgICAgICAgICBicm93c2VyVGFyZ2V0OiBgJHtvcHRpb25zLm5hbWV9OmJ1aWxkOmRldmVsb3BtZW50YCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgICdleHRyYWN0LWkxOG4nOiB7XG4gICAgICAgIGJ1aWxkZXI6IEJ1aWxkZXJzLkV4dHJhY3RJMThuLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgYnJvd3NlclRhcmdldDogYCR7b3B0aW9ucy5uYW1lfTpidWlsZGAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGVzdDogb3B0aW9ucy5taW5pbWFsXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDoge1xuICAgICAgICAgICAgYnVpbGRlcjogQnVpbGRlcnMuS2FybWEsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBvbHlmaWxsczogWyd6b25lLmpzJywgJ3pvbmUuanMvdGVzdGluZyddLFxuICAgICAgICAgICAgICB0c0NvbmZpZzogYCR7cHJvamVjdFJvb3R9dHNjb25maWcuc3BlYy5qc29uYCxcbiAgICAgICAgICAgICAgaW5saW5lU3R5bGVMYW5ndWFnZSxcbiAgICAgICAgICAgICAgYXNzZXRzOiBbYCR7c291cmNlUm9vdH0vZmF2aWNvbi5pY29gLCBgJHtzb3VyY2VSb290fS9hc3NldHNgXSxcbiAgICAgICAgICAgICAgc3R5bGVzOiBbYCR7c291cmNlUm9vdH0vc3R5bGVzLiR7b3B0aW9ucy5zdHlsZX1gXSxcbiAgICAgICAgICAgICAgc2NyaXB0czogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gdXBkYXRlV29ya3NwYWNlKCh3b3Jrc3BhY2UpID0+IHtcbiAgICB3b3Jrc3BhY2UucHJvamVjdHMuYWRkKHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIC4uLnByb2plY3QsXG4gICAgfSk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBcHBPcHRpb25zKFxuICBob3N0OiBUcmVlLFxuICBvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMsXG4pOiBQcm9taXNlPHtcbiAgYXBwRGlyOiBzdHJpbmc7XG4gIGFwcFJvb3RTZWxlY3Rvcjogc3RyaW5nO1xuICBjb21wb25lbnRPcHRpb25zOiBQYXJ0aWFsPENvbXBvbmVudE9wdGlvbnM+O1xuICBmb2xkZXJOYW1lOiBzdHJpbmc7XG4gIHNvdXJjZURpcjogc3RyaW5nO1xufT4ge1xuICBjb25zdCBhcHBSb290U2VsZWN0b3IgPSBgJHtvcHRpb25zLnByZWZpeH0tcm9vdGA7XG4gIGNvbnN0IGNvbXBvbmVudE9wdGlvbnMgPSBnZXRDb21wb25lbnRPcHRpb25zKG9wdGlvbnMpO1xuXG4gIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgY29uc3QgbmV3UHJvamVjdFJvb3QgPSAod29ya3NwYWNlLmV4dGVuc2lvbnMubmV3UHJvamVjdFJvb3QgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKSB8fCAnJztcblxuICAvLyBJZiBzY29wZWQgcHJvamVjdCAoaS5lLiBcIkBmb28vYmFyXCIpLCBjb252ZXJ0IGRpciB0byBcImZvby9iYXJcIi5cbiAgbGV0IGZvbGRlck5hbWUgPSBvcHRpb25zLm5hbWUuc3RhcnRzV2l0aCgnQCcpID8gb3B0aW9ucy5uYW1lLnNsaWNlKDEpIDogb3B0aW9ucy5uYW1lO1xuICBpZiAoL1tBLVpdLy50ZXN0KGZvbGRlck5hbWUpKSB7XG4gICAgZm9sZGVyTmFtZSA9IHN0cmluZ3MuZGFzaGVyaXplKGZvbGRlck5hbWUpO1xuICB9XG5cbiAgY29uc3QgYXBwRGlyID1cbiAgICBvcHRpb25zLnByb2plY3RSb290ID09PSB1bmRlZmluZWRcbiAgICAgID8gam9pbihub3JtYWxpemUobmV3UHJvamVjdFJvb3QpLCBmb2xkZXJOYW1lKVxuICAgICAgOiBub3JtYWxpemUob3B0aW9ucy5wcm9qZWN0Um9vdCk7XG5cbiAgY29uc3Qgc291cmNlRGlyID0gYCR7YXBwRGlyfS9zcmMvYXBwYDtcblxuICByZXR1cm4ge1xuICAgIGFwcERpcixcbiAgICBhcHBSb290U2VsZWN0b3IsXG4gICAgY29tcG9uZW50T3B0aW9ucyxcbiAgICBmb2xkZXJOYW1lLFxuICAgIHNvdXJjZURpcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50T3B0aW9ucyhvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMpOiBQYXJ0aWFsPENvbXBvbmVudE9wdGlvbnM+IHtcbiAgY29uc3QgY29tcG9uZW50T3B0aW9uczogUGFydGlhbDxDb21wb25lbnRPcHRpb25zPiA9ICFvcHRpb25zLm1pbmltYWxcbiAgICA/IHtcbiAgICAgICAgaW5saW5lU3R5bGU6IG9wdGlvbnMuaW5saW5lU3R5bGUsXG4gICAgICAgIGlubGluZVRlbXBsYXRlOiBvcHRpb25zLmlubGluZVRlbXBsYXRlLFxuICAgICAgICBza2lwVGVzdHM6IG9wdGlvbnMuc2tpcFRlc3RzLFxuICAgICAgICBzdHlsZTogb3B0aW9ucy5zdHlsZSxcbiAgICAgICAgdmlld0VuY2Fwc3VsYXRpb246IG9wdGlvbnMudmlld0VuY2Fwc3VsYXRpb24sXG4gICAgICB9XG4gICAgOiB7XG4gICAgICAgIGlubGluZVN0eWxlOiBvcHRpb25zLmlubGluZVN0eWxlID8/IHRydWUsXG4gICAgICAgIGlubGluZVRlbXBsYXRlOiBvcHRpb25zLmlubGluZVRlbXBsYXRlID8/IHRydWUsXG4gICAgICAgIHNraXBUZXN0czogdHJ1ZSxcbiAgICAgICAgc3R5bGU6IG9wdGlvbnMuc3R5bGUsXG4gICAgICAgIHZpZXdFbmNhcHN1bGF0aW9uOiBvcHRpb25zLnZpZXdFbmNhcHN1bGF0aW9uLFxuICAgICAgfTtcblxuICByZXR1cm4gY29tcG9uZW50T3B0aW9ucztcbn1cbiJdfQ== |
@@ -22,3 +22,3 @@ /** | ||
/** | ||
* The name of the new app. | ||
* The name of the new application. | ||
*/ | ||
@@ -31,3 +31,3 @@ name: string; | ||
/** | ||
* The root directory of the new app. | ||
* The root directory of the new application. | ||
*/ | ||
@@ -52,2 +52,6 @@ projectRoot?: string; | ||
/** | ||
* Creates an application based upon the standalone API, without NgModules. | ||
*/ | ||
standalone?: boolean; | ||
/** | ||
* Creates an application with stricter bundle budgets settings. | ||
@@ -54,0 +58,0 @@ */ |
@@ -15,3 +15,3 @@ "use strict"; | ||
Style["Scss"] = "scss"; | ||
})(Style = exports.Style || (exports.Style = {})); | ||
})(Style || (exports.Style = Style = {})); | ||
/** | ||
@@ -25,2 +25,3 @@ * The view encapsulation strategy to use in the new application. | ||
ViewEncapsulation["ShadowDom"] = "ShadowDom"; | ||
})(ViewEncapsulation = exports.ViewEncapsulation || (exports.ViewEncapsulation = {})); | ||
})(ViewEncapsulation || (exports.ViewEncapsulation = ViewEncapsulation = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2FwcGxpY2F0aW9uL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRjs7O0FBb0VwRjs7R0FFRztBQUNILElBQVksS0FLWDtBQUxELFdBQVksS0FBSztJQUNiLG9CQUFXLENBQUE7SUFDWCxzQkFBYSxDQUFBO0lBQ2Isc0JBQWEsQ0FBQTtJQUNiLHNCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUxXLEtBQUsscUJBQUwsS0FBSyxRQUtoQjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQ3pCLDBDQUFxQixDQUFBO0lBQ3JCLGtDQUFhLENBQUE7SUFDYiw0Q0FBdUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFJNUIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIFRISVMgRklMRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gVE8gVVBEQVRFIFRISVMgRklMRSBZT1UgTkVFRCBUTyBDSEFOR0UgVEhFXG4vLyBDT1JSRVNQT05ESU5HIEpTT04gU0NIRU1BIEZJTEUsIFRIRU4gUlVOIGRldmtpdC1hZG1pbiBidWlsZCAob3IgYmF6ZWwgYnVpbGQgLi4uKS5cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBuZXcgYmFzaWMgYXBwbGljYXRpb24gZGVmaW5pdGlvbiBpbiB0aGUgXCJwcm9qZWN0c1wiIHN1YmZvbGRlciBvZiB0aGUgd29ya3NwYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogSW5jbHVkZSBzdHlsZXMgaW5saW5lIGluIHRoZSByb290IGNvbXBvbmVudC50cyBmaWxlLiBPbmx5IENTUyBzdHlsZXMgY2FuIGJlIGluY2x1ZGVkXG4gICAgICogaW5saW5lLiBEZWZhdWx0IGlzIGZhbHNlLCBtZWFuaW5nIHRoYXQgYW4gZXh0ZXJuYWwgc3R5bGVzIGZpbGUgaXMgY3JlYXRlZCBhbmQgcmVmZXJlbmNlZFxuICAgICAqIGluIHRoZSByb290IGNvbXBvbmVudC50cyBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVN0eWxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRlbXBsYXRlIGlubGluZSBpbiB0aGUgcm9vdCBjb21wb25lbnQudHMgZmlsZS4gRGVmYXVsdCBpcyBmYWxzZSwgbWVhbmluZyB0aGF0IGFuXG4gICAgICogZXh0ZXJuYWwgdGVtcGxhdGUgZmlsZSBpcyBjcmVhdGVkIGFuZCByZWZlcmVuY2VkIGluIHRoZSByb290IGNvbXBvbmVudC50cyBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVRlbXBsYXRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBiYXJlLWJvbmVzIHByb2plY3Qgd2l0aG91dCBhbnkgdGVzdGluZyBmcmFtZXdvcmtzLiAoVXNlIGZvciBsZWFybmluZyBwdXJwb3Nlc1xuICAgICAqIG9ubHkuKVxuICAgICAqL1xuICAgIG1pbmltYWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBuZXcgYXBwbGljYXRpb24uXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZml4IHRvIGFwcGx5IHRvIGdlbmVyYXRlZCBzZWxlY3RvcnMuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgbmV3IGFwcGxpY2F0aW9uLlxuICAgICAqL1xuICAgIHByb2plY3RSb290Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIHJvdXRpbmcgTmdNb2R1bGUuXG4gICAgICovXG4gICAgcm91dGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU2tpcCBpbnN0YWxsaW5nIGRlcGVuZGVuY3kgcGFja2FnZXMuXG4gICAgICovXG4gICAgc2tpcEluc3RhbGw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBhZGQgZGVwZW5kZW5jaWVzIHRvIHRoZSBcInBhY2thZ2UuanNvblwiIGZpbGUuXG4gICAgICovXG4gICAgc2tpcFBhY2thZ2VKc29uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBhcHBsaWNhdGlvbi5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXBwbGljYXRpb24gYmFzZWQgdXBvbiB0aGUgc3RhbmRhbG9uZSBBUEksIHdpdGhvdXQgTmdNb2R1bGVzLlxuICAgICAqL1xuICAgIHN0YW5kYWxvbmU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXBwbGljYXRpb24gd2l0aCBzdHJpY3RlciBidW5kbGUgYnVkZ2V0cyBzZXR0aW5ncy5cbiAgICAgKi9cbiAgICBzdHJpY3Q/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBmaWxlIGV4dGVuc2lvbiBvciBwcmVwcm9jZXNzb3IgdG8gdXNlIGZvciBzdHlsZSBmaWxlcy5cbiAgICAgKi9cbiAgICBzdHlsZT86IFN0eWxlO1xuICAgIC8qKlxuICAgICAqIFRoZSB2aWV3IGVuY2Fwc3VsYXRpb24gc3RyYXRlZ3kgdG8gdXNlIGluIHRoZSBuZXcgYXBwbGljYXRpb24uXG4gICAgICovXG4gICAgdmlld0VuY2Fwc3VsYXRpb24/OiBWaWV3RW5jYXBzdWxhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgZmlsZSBleHRlbnNpb24gb3IgcHJlcHJvY2Vzc29yIHRvIHVzZSBmb3Igc3R5bGUgZmlsZXMuXG4gKi9cbmV4cG9ydCBlbnVtIFN0eWxlIHtcbiAgICBDc3MgPSBcImNzc1wiLFxuICAgIExlc3MgPSBcImxlc3NcIixcbiAgICBTYXNzID0gXCJzYXNzXCIsXG4gICAgU2NzcyA9IFwic2Nzc1wiLFxufVxuXG4vKipcbiAqIFRoZSB2aWV3IGVuY2Fwc3VsYXRpb24gc3RyYXRlZ3kgdG8gdXNlIGluIHRoZSBuZXcgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBlbnVtIFZpZXdFbmNhcHN1bGF0aW9uIHtcbiAgICBFbXVsYXRlZCA9IFwiRW11bGF0ZWRcIixcbiAgICBOb25lID0gXCJOb25lXCIsXG4gICAgU2hhZG93RG9tID0gXCJTaGFkb3dEb21cIixcbn1cbiJdfQ== |
@@ -10,8 +10,7 @@ { | ||
"projectRoot": { | ||
"description": "The root directory of the new app.", | ||
"type": "string", | ||
"visible": false | ||
"description": "The root directory of the new application.", | ||
"type": "string" | ||
}, | ||
"name": { | ||
"description": "The name of the new app.", | ||
"description": "The name of the new application.", | ||
"type": "string", | ||
@@ -29,3 +28,3 @@ "pattern": "^(?:@[a-zA-Z0-9-*~][a-zA-Z0-9-*._~]*/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$", | ||
"alias": "s", | ||
"x-user-analytics": 9 | ||
"x-user-analytics": "ep.ng_inline_style" | ||
}, | ||
@@ -36,3 +35,3 @@ "inlineTemplate": { | ||
"alias": "t", | ||
"x-user-analytics": 10 | ||
"x-user-analytics": "ep.ng_inline_template" | ||
}, | ||
@@ -42,4 +41,3 @@ "viewEncapsulation": { | ||
"enum": ["Emulated", "None", "ShadowDom"], | ||
"type": "string", | ||
"x-user-analytics": 11 | ||
"type": "string" | ||
}, | ||
@@ -51,3 +49,3 @@ "routing": { | ||
"x-prompt": "Would you like to add Angular routing?", | ||
"x-user-analytics": 17 | ||
"x-user-analytics": "ep.ng_routing" | ||
}, | ||
@@ -85,3 +83,3 @@ "prefix": { | ||
}, | ||
"x-user-analytics": 5 | ||
"x-user-analytics": "ep.ng_style" | ||
}, | ||
@@ -92,4 +90,3 @@ "skipTests": { | ||
"default": false, | ||
"alias": "S", | ||
"x-user-analytics": 12 | ||
"alias": "S" | ||
}, | ||
@@ -104,4 +101,3 @@ "skipPackageJson": { | ||
"type": "boolean", | ||
"default": false, | ||
"x-user-analytics": 14 | ||
"default": false | ||
}, | ||
@@ -116,4 +112,9 @@ "skipInstall": { | ||
"type": "boolean", | ||
"default": true, | ||
"x-user-analytics": 7 | ||
"default": true | ||
}, | ||
"standalone": { | ||
"description": "Creates an application based upon the standalone API, without NgModules.", | ||
"type": "boolean", | ||
"default": false, | ||
"x-user-analytics": "ep.ng_standalone" | ||
} | ||
@@ -120,0 +121,0 @@ }, |
@@ -16,1 +16,2 @@ "use strict"; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvY2xhc3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7QUFHSCx3RUFBbUU7QUFHbkUsbUJBQXlCLE9BQXFCO0lBQzVDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV0RCxPQUFPLElBQUEsdUNBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUpELDRCQUlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IFJ1bGUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUZyb21GaWxlcyB9IGZyb20gJy4uL3V0aWxpdHkvZ2VuZXJhdGUtZnJvbS1maWxlcyc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgQ2xhc3NPcHRpb25zIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogQ2xhc3NPcHRpb25zKTogUnVsZSB7XG4gIG9wdGlvbnMudHlwZSA9IG9wdGlvbnMudHlwZSA/IGAuJHtvcHRpb25zLnR5cGV9YCA6ICcnO1xuXG4gIHJldHVybiBnZW5lcmF0ZUZyb21GaWxlcyhvcHRpb25zKTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic class definition in the given or default project. | ||
* Creates a new, generic class definition in the given project. | ||
*/ | ||
@@ -16,3 +16,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -19,0 +19,0 @@ * Do not create "spec.ts" test files for the new class. |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2NsYXNzL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgY2xhc3MgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBuZXcgY2xhc3MuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwYXRoIGF0IHdoaWNoIHRvIGNyZWF0ZSB0aGUgY2xhc3MsIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBuZXcgY2xhc3MuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgZGV2ZWxvcGVyLWRlZmluZWQgdHlwZSB0byB0aGUgZmlsZW5hbWUsIGluIHRoZSBmb3JtYXQgXCJuYW1lLnR5cGUudHNcIi5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nO1xufVxuIl19 |
@@ -6,3 +6,3 @@ { | ||
"type": "object", | ||
"description": "Creates a new, generic class definition in the given or default project.", | ||
"description": "Creates a new, generic class definition in the given project.", | ||
"additionalProperties": false, | ||
@@ -38,4 +38,3 @@ "properties": { | ||
"description": "Do not create \"spec.ts\" test files for the new class.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
@@ -47,3 +46,3 @@ "type": { | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -118,4 +118,14 @@ { | ||
"description": "Create a Web Worker." | ||
}, | ||
"environments": { | ||
"factory": "./environments", | ||
"schema": "./environments/schema.json", | ||
"description": "Generate project environment files." | ||
}, | ||
"config": { | ||
"factory": "./config", | ||
"schema": "./config/schema.json", | ||
"description": "Generates a configuration file." | ||
} | ||
} | ||
} |
@@ -9,30 +9,5 @@ "use strict"; | ||
*/ | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const schematics_1 = require("@angular-devkit/schematics"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
const ast_utils_1 = require("../utility/ast-utils"); | ||
const change_1 = require("../utility/change"); | ||
const add_declaration_to_ng_module_1 = require("../utility/add-declaration-to-ng-module"); | ||
const find_module_1 = require("../utility/find-module"); | ||
@@ -43,44 +18,2 @@ const parse_name_1 = require("../utility/parse-name"); | ||
const schema_1 = require("./schema"); | ||
function readIntoSourceFile(host, modulePath) { | ||
const sourceText = host.readText(modulePath); | ||
return ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); | ||
} | ||
function addDeclarationToNgModule(options) { | ||
return (host) => { | ||
if (options.skipImport || options.standalone || !options.module) { | ||
return host; | ||
} | ||
options.type = options.type != null ? options.type : 'Component'; | ||
const modulePath = options.module; | ||
const source = readIntoSourceFile(host, modulePath); | ||
const componentPath = `/${options.path}/` + | ||
(options.flat ? '' : schematics_1.strings.dasherize(options.name) + '/') + | ||
schematics_1.strings.dasherize(options.name) + | ||
(options.type ? '.' : '') + | ||
schematics_1.strings.dasherize(options.type); | ||
const relativePath = (0, find_module_1.buildRelativePath)(modulePath, componentPath); | ||
const classifiedName = schematics_1.strings.classify(options.name) + schematics_1.strings.classify(options.type); | ||
const declarationChanges = (0, ast_utils_1.addDeclarationToModule)(source, modulePath, classifiedName, relativePath); | ||
const declarationRecorder = host.beginUpdate(modulePath); | ||
for (const change of declarationChanges) { | ||
if (change instanceof change_1.InsertChange) { | ||
declarationRecorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
} | ||
host.commitUpdate(declarationRecorder); | ||
if (options.export) { | ||
// Need to refresh the AST because we overwrote the file in the host. | ||
const source = readIntoSourceFile(host, modulePath); | ||
const exportRecorder = host.beginUpdate(modulePath); | ||
const exportChanges = (0, ast_utils_1.addExportToModule)(source, modulePath, schematics_1.strings.classify(options.name) + schematics_1.strings.classify(options.type), relativePath); | ||
for (const change of exportChanges) { | ||
if (change instanceof change_1.InsertChange) { | ||
exportRecorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
} | ||
host.commitUpdate(exportRecorder); | ||
} | ||
return host; | ||
}; | ||
} | ||
function buildSelector(options, projectPrefix) { | ||
@@ -135,5 +68,12 @@ let selector = schematics_1.strings.dasherize(options.name); | ||
]); | ||
return (0, schematics_1.chain)([addDeclarationToNgModule(options), (0, schematics_1.mergeWith)(templateSource)]); | ||
return (0, schematics_1.chain)([ | ||
(0, add_declaration_to_ng_module_1.addDeclarationToNgModule)({ | ||
type: 'component', | ||
...options, | ||
}), | ||
(0, schematics_1.mergeWith)(templateSource), | ||
]); | ||
}; | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvY29tcG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBZW9DO0FBQ3BDLDBGQUFtRjtBQUNuRix3REFBK0Q7QUFDL0Qsc0RBQWtEO0FBQ2xELHNEQUE2RDtBQUM3RCxvREFBc0U7QUFDdEUscUNBQTZEO0FBRTdELFNBQVMsYUFBYSxDQUFDLE9BQXlCLEVBQUUsYUFBcUI7SUFDckUsSUFBSSxRQUFRLEdBQUcsb0JBQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNsQixRQUFRLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO0tBQzVDO1NBQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxhQUFhLEVBQUU7UUFDeEQsUUFBUSxHQUFHLEdBQUcsYUFBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO0tBQzNDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELG1CQUF5QixPQUF5QjtJQUNoRCxPQUFPLEtBQUssRUFBRSxJQUFVLEVBQUUsRUFBRTtRQUMxQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsd0JBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBaUIsQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksZ0NBQW1CLENBQUMsWUFBWSxPQUFPLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxL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QztBQUNKLENBQUM7QUF0REQsNEJBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEZpbGVPcGVyYXRvcixcbiAgUnVsZSxcbiAgU2NoZW1hdGljc0V4Y2VwdGlvbixcbiAgVHJlZSxcbiAgYXBwbHksXG4gIGFwcGx5VGVtcGxhdGVzLFxuICBjaGFpbixcbiAgZmlsdGVyLFxuICBmb3JFYWNoLFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIG5vb3AsXG4gIHN0cmluZ3MsXG4gIHVybCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgYWRkRGVjbGFyYXRpb25Ub05nTW9kdWxlIH0gZnJvbSAnLi4vdXRpbGl0eS9hZGQtZGVjbGFyYXRpb24tdG8tbmctbW9kdWxlJztcbmltcG9ydCB7IGZpbmRNb2R1bGVGcm9tT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxpdHkvZmluZC1tb2R1bGUnO1xuaW1wb3J0IHsgcGFyc2VOYW1lIH0gZnJvbSAnLi4vdXRpbGl0eS9wYXJzZS1uYW1lJztcbmltcG9ydCB7IHZhbGlkYXRlSHRtbFNlbGVjdG9yIH0gZnJvbSAnLi4vdXRpbGl0eS92YWxpZGF0aW9uJztcbmltcG9ydCB7IGJ1aWxkRGVmYXVsdFBhdGgsIGdldFdvcmtzcGFjZSB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlJztcbmltcG9ydCB7IFNjaGVtYSBhcyBDb21wb25lbnRPcHRpb25zLCBTdHlsZSB9IGZyb20gJy4vc2NoZW1hJztcblxuZnVuY3Rpb24gYnVpbGRTZWxlY3RvcihvcHRpb25zOiBDb21wb25lbnRPcHRpb25zLCBwcm9qZWN0UHJlZml4OiBzdHJpbmcpIHtcbiAgbGV0IHNlbGVjdG9yID0gc3RyaW5ncy5kYXNoZXJpemUob3B0aW9ucy5uYW1lKTtcbiAgaWYgKG9wdGlvbnMucHJlZml4KSB7XG4gICAgc2VsZWN0b3IgPSBgJHtvcHRpb25zLnByZWZpeH0tJHtzZWxlY3Rvcn1gO1xuICB9IGVsc2UgaWYgKG9wdGlvbnMucHJlZml4ID09PSB1bmRlZmluZWQgJiYgcHJvamVjdFByZWZpeCkge1xuICAgIHNlbGVjdG9yID0gYCR7cHJvamVjdFByZWZpeH0tJHtzZWxlY3Rvcn1gO1xuICB9XG5cbiAgcmV0dXJuIHNlbGVjdG9yO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogQ29tcG9uZW50T3B0aW9ucyk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKGhvc3Q6IFRyZWUpID0+IHtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSBhd2FpdCBnZXRXb3Jrc3BhY2UoaG9zdCk7XG4gICAgY29uc3QgcHJvamVjdCA9IHdvcmtzcGFjZS5wcm9qZWN0cy5nZXQob3B0aW9ucy5wcm9qZWN0IGFzIHN0cmluZyk7XG5cbiAgICBpZiAoIXByb2plY3QpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBQcm9qZWN0IFwiJHtvcHRpb25zLnByb2plY3R9XCIgZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLnBhdGggPSBidWlsZERlZmF1bHRQYXRoKHByb2plY3QpO1xuICAgIH1cblxuICAgIG9wdGlvbnMubW9kdWxlID0gZmluZE1vZHVsZUZyb21PcHRpb25zKGhvc3QsIG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcGFyc2VkUGF0aCA9IHBhcnNlTmFtZShvcHRpb25zLnBhdGggYXMgc3RyaW5nLCBvcHRpb25zLm5hbWUpO1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnNlZFBhdGgubmFtZTtcbiAgICBvcHRpb25zLnBhdGggPSBwYXJzZWRQYXRoLnBhdGg7XG4gICAgb3B0aW9ucy5zZWxlY3RvciA9XG4gICAgICBvcHRpb25zLnNlbGVjdG9yIHx8IGJ1aWxkU2VsZWN0b3Iob3B0aW9ucywgKHByb2plY3QgJiYgcHJvamVjdC5wcmVmaXgpIHx8ICcnKTtcblxuICAgIHZhbGlkYXRlSHRtbFNlbGVjdG9yKG9wdGlvbnMuc2VsZWN0b3IpO1xuXG4gICAgY29uc3Qgc2tpcFN0eWxlRmlsZSA9IG9wdGlvbnMuaW5saW5lU3R5bGUgfHwgb3B0aW9ucy5zdHlsZSA9PT0gU3R5bGUuTm9uZTtcbiAgICBjb25zdCB0ZW1wbGF0ZVNvdXJjZSA9IGFwcGx5KHVybCgnLi9maWxlcycpLCBbXG4gICAgICBvcHRpb25zLnNraXBUZXN0cyA/IGZpbHRlcigocGF0aCkgPT4gIXBhdGguZW5kc1dpdGgoJy5zcGVjLnRzLnRlbXBsYXRlJykpIDogbm9vcCgpLFxuICAgICAgc2tpcFN0eWxlRmlsZSA/IGZpbHRlcigocGF0aCkgPT4gIXBhdGguZW5kc1dpdGgoJy5fX3N0eWxlX18udGVtcGxhdGUnKSkgOiBub29wKCksXG4gICAgICBvcHRpb25zLmlubGluZVRlbXBsYXRlID8gZmlsdGVyKChwYXRoKSA9PiAhcGF0aC5lbmRzV2l0aCgnLmh0bWwudGVtcGxhdGUnKSkgOiBub29wKCksXG4gICAgICBhcHBseVRlbXBsYXRlcyh7XG4gICAgICAgIC4uLnN0cmluZ3MsXG4gICAgICAgICdpZi1mbGF0JzogKHM6IHN0cmluZykgPT4gKG9wdGlvbnMuZmxhdCA/ICcnIDogcyksXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9KSxcbiAgICAgICFvcHRpb25zLnR5cGVcbiAgICAgICAgPyBmb3JFYWNoKCgoZmlsZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUucGF0aC5pbmNsdWRlcygnLi4nKVxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGZpbGUuY29udGVudCxcbiAgICAgICAgICAgICAgICAgIHBhdGg6IGZpbGUucGF0aC5yZXBsYWNlKCcuLicsICcuJyksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA6IGZpbGU7XG4gICAgICAgICAgfSkgYXMgRmlsZU9wZXJhdG9yKVxuICAgICAgICA6IG5vb3AoKSxcbiAgICAgIG1vdmUocGFyc2VkUGF0aC5wYXRoKSxcbiAgICBdKTtcblxuICAgIHJldHVybiBjaGFpbihbXG4gICAgICBhZGREZWNsYXJhdGlvblRvTmdNb2R1bGUoe1xuICAgICAgICB0eXBlOiAnY29tcG9uZW50JyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VXaXRoKHRlbXBsYXRlU291cmNlKSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic component definition in the given or default project. | ||
* Creates a new, generic component definition in the given project. | ||
*/ | ||
@@ -51,3 +51,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -54,0 +54,0 @@ * The HTML selector to use for this component. |
@@ -13,3 +13,3 @@ "use strict"; | ||
ChangeDetection["OnPush"] = "OnPush"; | ||
})(ChangeDetection = exports.ChangeDetection || (exports.ChangeDetection = {})); | ||
})(ChangeDetection || (exports.ChangeDetection = ChangeDetection = {})); | ||
/** | ||
@@ -26,3 +26,3 @@ * The file extension or preprocessor to use for style files, or 'none' to skip generating | ||
Style["Scss"] = "scss"; | ||
})(Style = exports.Style || (exports.Style = {})); | ||
})(Style || (exports.Style = Style = {})); | ||
/** | ||
@@ -36,2 +36,3 @@ * The view encapsulation strategy to use in the new component. | ||
ViewEncapsulation["ShadowDom"] = "ShadowDom"; | ||
})(ViewEncapsulation = exports.ViewEncapsulation || (exports.ViewEncapsulation = {})); | ||
})(ViewEncapsulation || (exports.ViewEncapsulation = ViewEncapsulation = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2NvbXBvbmVudC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0Y7OztBQXdGcEY7O0dBRUc7QUFDSCxJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDdkIsc0NBQW1CLENBQUE7SUFDbkIsb0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGVBQWUsK0JBQWYsZUFBZSxRQUcxQjtBQUVEOzs7R0FHRztBQUNILElBQVksS0FNWDtBQU5ELFdBQVksS0FBSztJQUNiLG9CQUFXLENBQUE7SUFDWCxzQkFBYSxDQUFBO0lBQ2Isc0JBQWEsQ0FBQTtJQUNiLHNCQUFhLENBQUE7SUFDYixzQkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxLQUFLLHFCQUFMLEtBQUssUUFNaEI7QUFFRDs7R0FFRztBQUNILElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUN6QiwwQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBYSxDQUFBO0lBQ2IsNENBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyBjb21wb25lbnQgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgbmV3IGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBjaGFuZ2VEZXRlY3Rpb24/OiBDaGFuZ2VEZXRlY3Rpb247XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIGlmIHRoZSBzdHlsZSB3aWxsIGNvbnRhaW4gYDpob3N0IHsgZGlzcGxheTogYmxvY2s7IH1gLlxuICAgICAqL1xuICAgIGRpc3BsYXlCbG9jaz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZSBleHBvcnRzIHRoaXMgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGV4cG9ydD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHRoZSBuZXcgZmlsZXMgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgY3VycmVudCBwcm9qZWN0LlxuICAgICAqL1xuICAgIGZsYXQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEluY2x1ZGUgc3R5bGVzIGlubGluZSBpbiB0aGUgY29tcG9uZW50LnRzIGZpbGUuIE9ubHkgQ1NTIHN0eWxlcyBjYW4gYmUgaW5jbHVkZWQgaW5saW5lLlxuICAgICAqIEJ5IGRlZmF1bHQsIGFuIGV4dGVybmFsIHN0eWxlcyBmaWxlIGlzIGNyZWF0ZWQgYW5kIHJlZmVyZW5jZWQgaW4gdGhlIGNvbXBvbmVudC50cyBmaWxlLlxuICAgICAqL1xuICAgIGlubGluZVN0eWxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRlbXBsYXRlIGlubGluZSBpbiB0aGUgY29tcG9uZW50LnRzIGZpbGUuIEJ5IGRlZmF1bHQsIGFuIGV4dGVybmFsIHRlbXBsYXRlIGZpbGVcbiAgICAgKiBpcyBjcmVhdGVkIGFuZCByZWZlcmVuY2VkIGluIHRoZSBjb21wb25lbnQudHMgZmlsZS5cbiAgICAgKi9cbiAgICBpbmxpbmVUZW1wbGF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZS5cbiAgICAgKi9cbiAgICBtb2R1bGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBjb21wb25lbnQgZmlsZSwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuICAgICAqIERlZmF1bHQgaXMgYSBmb2xkZXIgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBjb21wb25lbnQgaW4gdGhlIHByb2plY3Qgcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwcmVmaXggdG8gYXBwbHkgdG8gdGhlIGdlbmVyYXRlZCBjb21wb25lbnQgc2VsZWN0b3IuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgSFRNTCBzZWxlY3RvciB0byB1c2UgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHNlbGVjdG9yPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBpbXBvcnQgdGhpcyBjb21wb25lbnQgaW50byB0aGUgb3duaW5nIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIHNraXBJbXBvcnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyBpZiB0aGUgY29tcG9uZW50IHNob3VsZCBoYXZlIGEgc2VsZWN0b3Igb3Igbm90LlxuICAgICAqL1xuICAgIHNraXBTZWxlY3Rvcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGdlbmVyYXRlZCBjb21wb25lbnQgaXMgc3RhbmRhbG9uZS5cbiAgICAgKi9cbiAgICBzdGFuZGFsb25lPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZmlsZSBleHRlbnNpb24gb3IgcHJlcHJvY2Vzc29yIHRvIHVzZSBmb3Igc3R5bGUgZmlsZXMsIG9yICdub25lJyB0byBza2lwIGdlbmVyYXRpbmdcbiAgICAgKiB0aGUgc3R5bGUgZmlsZS5cbiAgICAgKi9cbiAgICBzdHlsZT86IFN0eWxlO1xuICAgIC8qKlxuICAgICAqIEFkZHMgYSBkZXZlbG9wZXItZGVmaW5lZCB0eXBlIHRvIHRoZSBmaWxlbmFtZSwgaW4gdGhlIGZvcm1hdCBcIm5hbWUudHlwZS50c1wiLlxuICAgICAqL1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHZpZXcgZW5jYXBzdWxhdGlvbiBzdHJhdGVneSB0byB1c2UgaW4gdGhlIG5ldyBjb21wb25lbnQuXG4gICAgICovXG4gICAgdmlld0VuY2Fwc3VsYXRpb24/OiBWaWV3RW5jYXBzdWxhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneSB0byB1c2UgaW4gdGhlIG5ldyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBlbnVtIENoYW5nZURldGVjdGlvbiB7XG4gICAgRGVmYXVsdCA9IFwiRGVmYXVsdFwiLFxuICAgIE9uUHVzaCA9IFwiT25QdXNoXCIsXG59XG5cbi8qKlxuICogVGhlIGZpbGUgZXh0ZW5zaW9uIG9yIHByZXByb2Nlc3NvciB0byB1c2UgZm9yIHN0eWxlIGZpbGVzLCBvciAnbm9uZScgdG8gc2tpcCBnZW5lcmF0aW5nXG4gKiB0aGUgc3R5bGUgZmlsZS5cbiAqL1xuZXhwb3J0IGVudW0gU3R5bGUge1xuICAgIENzcyA9IFwiY3NzXCIsXG4gICAgTGVzcyA9IFwibGVzc1wiLFxuICAgIE5vbmUgPSBcIm5vbmVcIixcbiAgICBTYXNzID0gXCJzYXNzXCIsXG4gICAgU2NzcyA9IFwic2Nzc1wiLFxufVxuXG4vKipcbiAqIFRoZSB2aWV3IGVuY2Fwc3VsYXRpb24gc3RyYXRlZ3kgdG8gdXNlIGluIHRoZSBuZXcgY29tcG9uZW50LlxuICovXG5leHBvcnQgZW51bSBWaWV3RW5jYXBzdWxhdGlvbiB7XG4gICAgRW11bGF0ZWQgPSBcIkVtdWxhdGVkXCIsXG4gICAgTm9uZSA9IFwiTm9uZVwiLFxuICAgIFNoYWRvd0RvbSA9IFwiU2hhZG93RG9tXCIsXG59XG4iXX0= |
@@ -6,3 +6,3 @@ { | ||
"type": "object", | ||
"description": "Creates a new, generic component definition in the given or default project.", | ||
"description": "Creates a new, generic component definition in the given project.", | ||
"additionalProperties": false, | ||
@@ -46,3 +46,3 @@ "properties": { | ||
"alias": "s", | ||
"x-user-analytics": 9 | ||
"x-user-analytics": "ep.ng_inline_style" | ||
}, | ||
@@ -54,3 +54,3 @@ "inlineTemplate": { | ||
"alias": "t", | ||
"x-user-analytics": 10 | ||
"x-user-analytics": "ep.ng_inline_template" | ||
}, | ||
@@ -61,3 +61,3 @@ "standalone": { | ||
"default": false, | ||
"x-user-analytics": 15 | ||
"x-user-analytics": "ep.ng_standalone" | ||
}, | ||
@@ -68,4 +68,3 @@ "viewEncapsulation": { | ||
"type": "string", | ||
"alias": "v", | ||
"x-user-analytics": 11 | ||
"alias": "v" | ||
}, | ||
@@ -98,3 +97,3 @@ "changeDetection": { | ||
"enum": ["css", "scss", "sass", "less", "none"], | ||
"x-user-analytics": 5 | ||
"x-user-analytics": "ep.ng_style" | ||
}, | ||
@@ -109,4 +108,3 @@ "type": { | ||
"description": "Do not create \"spec.ts\" test files for the new component.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
@@ -121,4 +119,3 @@ "flat": { | ||
"description": "Do not import this component into the owning NgModule.", | ||
"default": false, | ||
"x-user-analytics": 18 | ||
"default": false | ||
}, | ||
@@ -143,7 +140,6 @@ "selector": { | ||
"default": false, | ||
"description": "The declaring NgModule exports this component.", | ||
"x-user-analytics": 19 | ||
"description": "The declaring NgModule exports this component." | ||
} | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -9,30 +9,5 @@ "use strict"; | ||
*/ | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const schematics_1 = require("@angular-devkit/schematics"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
const ast_utils_1 = require("../utility/ast-utils"); | ||
const change_1 = require("../utility/change"); | ||
const add_declaration_to_ng_module_1 = require("../utility/add-declaration-to-ng-module"); | ||
const find_module_1 = require("../utility/find-module"); | ||
@@ -42,40 +17,2 @@ const parse_name_1 = require("../utility/parse-name"); | ||
const workspace_1 = require("../utility/workspace"); | ||
function addDeclarationToNgModule(options) { | ||
return (host) => { | ||
if (options.skipImport || options.standalone || !options.module) { | ||
return host; | ||
} | ||
const modulePath = options.module; | ||
const sourceText = host.readText(modulePath); | ||
const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); | ||
const directivePath = `/${options.path}/` + | ||
(options.flat ? '' : schematics_1.strings.dasherize(options.name) + '/') + | ||
schematics_1.strings.dasherize(options.name) + | ||
'.directive'; | ||
const relativePath = (0, find_module_1.buildRelativePath)(modulePath, directivePath); | ||
const classifiedName = schematics_1.strings.classify(`${options.name}Directive`); | ||
const declarationChanges = (0, ast_utils_1.addDeclarationToModule)(source, modulePath, classifiedName, relativePath); | ||
const declarationRecorder = host.beginUpdate(modulePath); | ||
for (const change of declarationChanges) { | ||
if (change instanceof change_1.InsertChange) { | ||
declarationRecorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
} | ||
host.commitUpdate(declarationRecorder); | ||
if (options.export) { | ||
// Need to refresh the AST because we overwrote the file in the host. | ||
const sourceText = host.readText(modulePath); | ||
const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); | ||
const exportRecorder = host.beginUpdate(modulePath); | ||
const exportChanges = (0, ast_utils_1.addExportToModule)(source, modulePath, schematics_1.strings.classify(`${options.name}Directive`), relativePath); | ||
for (const change of exportChanges) { | ||
if (change instanceof change_1.InsertChange) { | ||
exportRecorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
} | ||
host.commitUpdate(exportRecorder); | ||
} | ||
return host; | ||
}; | ||
} | ||
function buildSelector(options, projectPrefix) { | ||
@@ -116,5 +53,12 @@ let selector = options.name; | ||
]); | ||
return (0, schematics_1.chain)([addDeclarationToNgModule(options), (0, schematics_1.mergeWith)(templateSource)]); | ||
return (0, schematics_1.chain)([ | ||
(0, add_declaration_to_ng_module_1.addDeclarationToNgModule)({ | ||
type: 'directive', | ||
...options, | ||
}), | ||
(0, schematics_1.mergeWith)(templateSource), | ||
]); | ||
}; | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvZGlyZWN0aXZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBYW9DO0FBQ3BDLDBGQUFtRjtBQUNuRix3REFBK0Q7QUFDL0Qsc0RBQWtEO0FBQ2xELHNEQUE2RDtBQUM3RCxvREFBc0U7QUFHdEUsU0FBUyxhQUFhLENBQUMsT0FBeUIsRUFBRSxhQUFxQjtJQUNyRSxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzVCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNsQixRQUFRLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO0tBQzVDO1NBQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxhQUFhLEVBQUU7UUFDeEQsUUFBUSxHQUFHLEdBQUcsYUFBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO0tBQzNDO0lBRUQsT0FBTyxvQkFBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBRUQsbUJBQXlCLE9BQXlCO0lBQ2hELE9BQU8sS0FBSyxFQUFFLElBQVUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSx3QkFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFpQixDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxnQ0FBbUIsQ0FBQyxZQUFZLE9BQU8sQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7U0FDL0U7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzlCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBQSw0QkFBZ0IsRUFBQyxPQUFPLENBQUMsQ0FBQztTQUMxQztRQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBQSxtQ0FBcUIsRUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdEQsTUFBTSxVQUFVLEdBQUcsSUFBQSxzQkFBUyxFQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMvQixPQUFPLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVwRixJQUFBLGlDQUFvQixFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxNQUFNLGNBQWMsR0FBRyxJQUFBLGtCQUFLLEVBQUMsSUFBQSxnQkFBRyxFQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQU0sRUFBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQkFBSSxHQUFFO1lBQ2xGLElBQUEsMkJBQWMsRUFBQztnQkFDYixHQUFHLG9CQUFPO2dCQUNWLFNBQVMsRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsR0FBRyxPQUFPO2FBQ1gsQ0FBQztZQUNGLElBQUEsaUJBQUksRUFBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3RCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxrQkFBSyxFQUFDO1lBQ1gsSUFBQSx1REFBd0IsRUFBQztnQkFDdkIsSUFBSSxFQUFFLFdBQVc7Z0JBRWpCLEdBQUcsT0FBTzthQUNYLENBQUM7WUFDRixJQUFBLHNCQUFTLEVBQUMsY0FBYyxDQUFDO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUF4Q0QsNEJBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIFJ1bGUsXG4gIFNjaGVtYXRpY3NFeGNlcHRpb24sXG4gIFRyZWUsXG4gIGFwcGx5LFxuICBhcHBseVRlbXBsYXRlcyxcbiAgY2hhaW4sXG4gIGZpbHRlcixcbiAgbWVyZ2VXaXRoLFxuICBtb3ZlLFxuICBub29wLFxuICBzdHJpbmdzLFxuICB1cmwsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IGFkZERlY2xhcmF0aW9uVG9OZ01vZHVsZSB9IGZyb20gJy4uL3V0aWxpdHkvYWRkLWRlY2xhcmF0aW9uLXRvLW5nLW1vZHVsZSc7XG5pbXBvcnQgeyBmaW5kTW9kdWxlRnJvbU9wdGlvbnMgfSBmcm9tICcuLi91dGlsaXR5L2ZpbmQtbW9kdWxlJztcbmltcG9ydCB7IHBhcnNlTmFtZSB9IGZyb20gJy4uL3V0aWxpdHkvcGFyc2UtbmFtZSc7XG5pbXBvcnQgeyB2YWxpZGF0ZUh0bWxTZWxlY3RvciB9IGZyb20gJy4uL3V0aWxpdHkvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBidWlsZERlZmF1bHRQYXRoLCBnZXRXb3Jrc3BhY2UgfSBmcm9tICcuLi91dGlsaXR5L3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgRGlyZWN0aXZlT3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuZnVuY3Rpb24gYnVpbGRTZWxlY3RvcihvcHRpb25zOiBEaXJlY3RpdmVPcHRpb25zLCBwcm9qZWN0UHJlZml4OiBzdHJpbmcpIHtcbiAgbGV0IHNlbGVjdG9yID0gb3B0aW9ucy5uYW1lO1xuICBpZiAob3B0aW9ucy5wcmVmaXgpIHtcbiAgICBzZWxlY3RvciA9IGAke29wdGlvbnMucHJlZml4fS0ke3NlbGVjdG9yfWA7XG4gIH0gZWxzZSBpZiAob3B0aW9ucy5wcmVmaXggPT09IHVuZGVmaW5lZCAmJiBwcm9qZWN0UHJlZml4KSB7XG4gICAgc2VsZWN0b3IgPSBgJHtwcm9qZWN0UHJlZml4fS0ke3NlbGVjdG9yfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5ncy5jYW1lbGl6ZShzZWxlY3Rvcik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBEaXJlY3RpdmVPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcbiAgICBjb25zdCBwcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChvcHRpb25zLnByb2plY3QgYXMgc3RyaW5nKTtcbiAgICBpZiAoIXByb2plY3QpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBQcm9qZWN0IFwiJHtvcHRpb25zLnByb2plY3R9XCIgZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvcHRpb25zLnBhdGggPSBidWlsZERlZmF1bHRQYXRoKHByb2plY3QpO1xuICAgIH1cblxuICAgIG9wdGlvbnMubW9kdWxlID0gZmluZE1vZHVsZUZyb21PcHRpb25zKGhvc3QsIG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcGFyc2VkUGF0aCA9IHBhcnNlTmFtZShvcHRpb25zLnBhdGgsIG9wdGlvbnMubmFtZSk7XG4gICAgb3B0aW9ucy5uYW1lID0gcGFyc2VkUGF0aC5uYW1lO1xuICAgIG9wdGlvbnMucGF0aCA9IHBhcnNlZFBhdGgucGF0aDtcbiAgICBvcHRpb25zLnNlbGVjdG9yID0gb3B0aW9ucy5zZWxlY3RvciB8fCBidWlsZFNlbGVjdG9yKG9wdGlvbnMsIHByb2plY3QucHJlZml4IHx8ICcnKTtcblxuICAgIHZhbGlkYXRlSHRtbFNlbGVjdG9yKG9wdGlvbnMuc2VsZWN0b3IpO1xuXG4gICAgY29uc3QgdGVtcGxhdGVTb3VyY2UgPSBhcHBseSh1cmwoJy4vZmlsZXMnKSwgW1xuICAgICAgb3B0aW9ucy5za2lwVGVzdHMgPyBmaWx0ZXIoKHBhdGgpID0+ICFwYXRoLmVuZHNXaXRoKCcuc3BlYy50cy50ZW1wbGF0ZScpKSA6IG5vb3AoKSxcbiAgICAgIGFwcGx5VGVtcGxhdGVzKHtcbiAgICAgICAgLi4uc3RyaW5ncyxcbiAgICAgICAgJ2lmLWZsYXQnOiAoczogc3RyaW5nKSA9PiAob3B0aW9ucy5mbGF0ID8gJycgOiBzKSxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH0pLFxuICAgICAgbW92ZShwYXJzZWRQYXRoLnBhdGgpLFxuICAgIF0pO1xuXG4gICAgcmV0dXJuIGNoYWluKFtcbiAgICAgIGFkZERlY2xhcmF0aW9uVG9OZ01vZHVsZSh7XG4gICAgICAgIHR5cGU6ICdkaXJlY3RpdmUnLFxuXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9KSxcbiAgICAgIG1lcmdlV2l0aCh0ZW1wbGF0ZVNvdXJjZSksXG4gICAgXSk7XG4gIH07XG59XG4iXX0= |
/** | ||
* Creates a new, generic directive definition in the given or default project. | ||
* Creates a new, generic directive definition in the given project. | ||
*/ | ||
@@ -33,3 +33,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -36,0 +36,0 @@ * The HTML selector to use for this directive. |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2RpcmVjdGl2ZS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIFRISVMgRklMRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gVE8gVVBEQVRFIFRISVMgRklMRSBZT1UgTkVFRCBUTyBDSEFOR0UgVEhFXG4vLyBDT1JSRVNQT05ESU5HIEpTT04gU0NIRU1BIEZJTEUsIFRIRU4gUlVOIGRldmtpdC1hZG1pbiBidWlsZCAob3IgYmF6ZWwgYnVpbGQgLi4uKS5cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3LCBnZW5lcmljIGRpcmVjdGl2ZSBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZSBleHBvcnRzIHRoaXMgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIGV4cG9ydD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNyZWF0ZXMgdGhlIG5ldyBmaWxlcyBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBjdXJyZW50IHByb2plY3QuXG4gICAgICovXG4gICAgZmxhdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZS5cbiAgICAgKi9cbiAgICBtb2R1bGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIG5ldyBkaXJlY3RpdmUuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBwYXRoIGF0IHdoaWNoIHRvIGNyZWF0ZSB0aGUgaW50ZXJmYWNlIHRoYXQgZGVmaW5lcyB0aGUgZGlyZWN0aXZlLCByZWxhdGl2ZSB0byB0aGVcbiAgICAgKiB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZml4IHRvIGFwcGx5IHRvIGdlbmVyYXRlZCBzZWxlY3RvcnMuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgSFRNTCBzZWxlY3RvciB0byB1c2UgZm9yIHRoaXMgZGlyZWN0aXZlLlxuICAgICAqL1xuICAgIHNlbGVjdG9yPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBpbXBvcnQgdGhpcyBkaXJlY3RpdmUgaW50byB0aGUgb3duaW5nIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIHNraXBJbXBvcnQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBjcmVhdGUgXCJzcGVjLnRzXCIgdGVzdCBmaWxlcyBmb3IgdGhlIG5ldyBjbGFzcy5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGdlbmVyYXRlZCBkaXJlY3RpdmUgaXMgc3RhbmRhbG9uZS5cbiAgICAgKi9cbiAgICBzdGFuZGFsb25lPzogYm9vbGVhbjtcbn1cbiJdfQ== |
@@ -6,3 +6,3 @@ { | ||
"type": "object", | ||
"description": "Creates a new, generic directive definition in the given or default project.", | ||
"description": "Creates a new, generic directive definition in the given project.", | ||
"additionalProperties": false, | ||
@@ -52,4 +52,3 @@ "properties": { | ||
"description": "Do not create \"spec.ts\" test files for the new class.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
@@ -59,4 +58,3 @@ "skipImport": { | ||
"description": "Do not import this directive into the owning NgModule.", | ||
"default": false, | ||
"x-user-analytics": 18 | ||
"default": false | ||
}, | ||
@@ -72,3 +70,3 @@ "selector": { | ||
"default": false, | ||
"x-user-analytics": 15 | ||
"x-user-analytics": "ep.ng_standalone" | ||
}, | ||
@@ -88,7 +86,6 @@ "flat": { | ||
"default": false, | ||
"description": "The declaring NgModule exports this directive.", | ||
"x-user-analytics": 19 | ||
"description": "The declaring NgModule exports this directive." | ||
} | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -77,1 +77,2 @@ "use strict"; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvZTJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBVW9DO0FBQ3BDLHlEQU1xQztBQUNyQywrQkFBcUM7QUFDckMsb0RBQWdEO0FBQ2hELGdFQUE0RDtBQUc1RDs7OztHQUlHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3pDLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsU0FBUztJQUNULGFBQWE7Q0FDZCxDQUFDLENBQUM7QUFFSCxTQUFTLHVCQUF1QjtJQUM5QixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDZCxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sYUFBYSxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxtQkFBeUIsT0FBbUI7SUFDMUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVuQyxPQUFPLElBQUEseUJBQWUsRUFBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ25DLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixNQUFNLElBQUksZ0NBQW1CLENBQUMsaUJBQWlCLGNBQWMsc0JBQXNCLENBQUMsQ0FBQztTQUN0RjtRQUVELE1BQU0sV0FBVyxHQUFHLFlBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVuRCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNsQixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSx3QkFBYyxDQUFDLFVBQVU7WUFDbEMsb0JBQW9CLEVBQUUsYUFBYTtZQUNuQyxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCLEVBQUUsWUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsb0JBQW9CLENBQUM7YUFDL0Q7WUFDRCxjQUFjLEVBQUU7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLGVBQWUsRUFBRSxHQUFHLGNBQWMsbUJBQW1CO2lCQUN0RDtnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsZUFBZSxFQUFFLEdBQUcsY0FBYyxvQkFBb0I7aUJBQ3ZEO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUEsa0JBQUssRUFBQztZQUNYLElBQUEsc0JBQVMsRUFDUCxJQUFBLGtCQUFLLEVBQUMsSUFBQSxnQkFBRyxFQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNwQixJQUFBLDJCQUFjLEVBQUM7b0JBQ2IsS0FBSyxFQUFFLG9CQUFPO29CQUNkLEdBQUcsT0FBTztvQkFDViwyQkFBMkIsRUFBRSxZQUFJLENBQUMsUUFBUSxDQUFDLFlBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEdBQUcsQ0FBQztpQkFDN0UsQ0FBQztnQkFDRixJQUFBLGlCQUFJLEVBQUMsV0FBVyxDQUFDO2FBQ2xCLENBQUMsQ0FDSDtZQUNELEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDbkMsSUFBQSx1QkFBYSxFQUFDLElBQUksRUFBRSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN4QyxJQUFJLEVBQUUsd0JBQWMsQ0FBQyxHQUFHO2dCQUN4QixRQUFRLEVBQUUsMEJBQWdCLENBQUMsSUFBSTthQUNoQyxDQUFDLENBQ0g7WUFDRCx1QkFBdUIsRUFBRTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFqREQsNEJBaURDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIFJ1bGUsXG4gIFNjaGVtYXRpY3NFeGNlcHRpb24sXG4gIGFwcGx5LFxuICBhcHBseVRlbXBsYXRlcyxcbiAgY2hhaW4sXG4gIG1lcmdlV2l0aCxcbiAgbW92ZSxcbiAgc3RyaW5ncyxcbiAgdXJsLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1xuICBBbmd1bGFyQnVpbGRlcixcbiAgRGVwZW5kZW5jeVR5cGUsXG4gIEV4aXN0aW5nQmVoYXZpb3IsXG4gIGFkZERlcGVuZGVuY3ksXG4gIHVwZGF0ZVdvcmtzcGFjZSxcbn0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5JztcbmltcG9ydCB7IHBvc2l4IGFzIHBhdGggfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEpTT05GaWxlIH0gZnJvbSAnLi4vdXRpbGl0eS9qc29uLWZpbGUnO1xuaW1wb3J0IHsgbGF0ZXN0VmVyc2lvbnMgfSBmcm9tICcuLi91dGlsaXR5L2xhdGVzdC12ZXJzaW9ucyc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgRTJlT3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuLyoqXG4gKiBUaGUgbGlzdCBvZiBkZXZlbG9wbWVudCBkZXBlbmRlbmNpZXMgdXNlZCBieSB0aGUgRTJFIHByb3RyYWN0b3ItYmFzZWQgYnVpbGRlci5cbiAqIFRoZSB2ZXJzaW9ucyBhcmUgc291cmNlZCBmcm9tIHRoZSBsYXRlc3QgdmVyc2lvbnMgYC4uL3V0aWxpdHkvbGF0ZXN0LXZlcnNpb25zL3BhY2thZ2UuanNvbmBcbiAqIGZpbGUgd2hpY2ggaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIHZpYSByZW5vdmF0ZS5cbiAqL1xuY29uc3QgRTJFX0RFVl9ERVBFTkRFTkNJRVMgPSBPYmplY3QuZnJlZXplKFtcbiAgJ3Byb3RyYWN0b3InLFxuICAnamFzbWluZS1zcGVjLXJlcG9ydGVyJyxcbiAgJ3RzLW5vZGUnLFxuICAnQHR5cGVzL25vZGUnLFxuXSk7XG5cbmZ1bmN0aW9uIGFkZFNjcmlwdHNUb1BhY2thZ2VKc29uKCk6IFJ1bGUge1xuICByZXR1cm4gKGhvc3QpID0+IHtcbiAgICBjb25zdCBwa2dKc29uID0gbmV3IEpTT05GaWxlKGhvc3QsICdwYWNrYWdlLmpzb24nKTtcbiAgICBjb25zdCBlMmVTY3JpcHRQYXRoID0gWydzY3JpcHRzJywgJ2UyZSddO1xuXG4gICAgaWYgKCFwa2dKc29uLmdldChlMmVTY3JpcHRQYXRoKSkge1xuICAgICAgcGtnSnNvbi5tb2RpZnkoZTJlU2NyaXB0UGF0aCwgJ25nIGUyZScsIGZhbHNlKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBFMmVPcHRpb25zKTogUnVsZSB7XG4gIGNvbnN0IHsgcmVsYXRlZEFwcE5hbWUgfSA9IG9wdGlvbnM7XG5cbiAgcmV0dXJuIHVwZGF0ZVdvcmtzcGFjZSgod29ya3NwYWNlKSA9PiB7XG4gICAgY29uc3QgcHJvamVjdCA9IHdvcmtzcGFjZS5wcm9qZWN0cy5nZXQocmVsYXRlZEFwcE5hbWUpO1xuXG4gICAgaWYgKCFwcm9qZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgUHJvamVjdCBuYW1lIFwiJHtyZWxhdGVkQXBwTmFtZX1cIiBkb2Vzbid0IG5vdCBleGlzdC5gKTtcbiAgICB9XG5cbiAgICBjb25zdCBlMmVSb290UGF0aCA9IHBhdGguam9pbihwcm9qZWN0LnJvb3QsICdlMmUnKTtcblxuICAgIHByb2plY3QudGFyZ2V0cy5hZGQoe1xuICAgICAgbmFtZTogJ2UyZScsXG4gICAgICBidWlsZGVyOiBBbmd1bGFyQnVpbGRlci5Qcm90cmFjdG9yLFxuICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb246ICdkZXZlbG9wbWVudCcsXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIHByb3RyYWN0b3JDb25maWc6IHBhdGguam9pbihlMmVSb290UGF0aCwgJ3Byb3RyYWN0b3IuY29uZi5qcycpLFxuICAgICAgfSxcbiAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgIHByb2R1Y3Rpb246IHtcbiAgICAgICAgICBkZXZTZXJ2ZXJUYXJnZXQ6IGAke3JlbGF0ZWRBcHBOYW1lfTpzZXJ2ZTpwcm9kdWN0aW9uYCxcbiAgICAgICAgfSxcbiAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICBkZXZTZXJ2ZXJUYXJnZXQ6IGAke3JlbGF0ZWRBcHBOYW1lfTpzZXJ2ZTpkZXZlbG9wbWVudGAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNoYWluKFtcbiAgICAgIG1lcmdlV2l0aChcbiAgICAgICAgYXBwbHkodXJsKCcuL2ZpbGVzJyksIFtcbiAgICAgICAgICBhcHBseVRlbXBsYXRlcyh7XG4gICAgICAgICAgICB1dGlsczogc3RyaW5ncyxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3Q6IHBhdGgucmVsYXRpdmUocGF0aC5qb2luKCcvJywgZTJlUm9vdFBhdGgpLCAnLycpLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1vdmUoZTJlUm9vdFBhdGgpLFxuICAgICAgICBdKSxcbiAgICAgICksXG4gICAgICAuLi5FMkVfREVWX0RFUEVOREVOQ0lFUy5tYXAoKG5hbWUpID0+XG4gICAgICAgIGFkZERlcGVuZGVuY3kobmFtZSwgbGF0ZXN0VmVyc2lvbnNbbmFtZV0sIHtcbiAgICAgICAgICB0eXBlOiBEZXBlbmRlbmN5VHlwZS5EZXYsXG4gICAgICAgICAgZXhpc3Rpbmc6IEV4aXN0aW5nQmVoYXZpb3IuU2tpcCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgYWRkU2NyaXB0c1RvUGFja2FnZUpzb24oKSxcbiAgICBdKTtcbiAgfSk7XG59XG4iXX0= |
/** | ||
* Generates a new, generic end-to-end test definition for the given or default project. | ||
* Generates a new, generic end-to-end test definition in the given project. | ||
*/ | ||
@@ -4,0 +4,0 @@ export interface Schema { |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2UyZS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIFRISVMgRklMRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gVE8gVVBEQVRFIFRISVMgRklMRSBZT1UgTkVFRCBUTyBDSEFOR0UgVEhFXG4vLyBDT1JSRVNQT05ESU5HIEpTT04gU0NIRU1BIEZJTEUsIFRIRU4gUlVOIGRldmtpdC1hZG1pbiBidWlsZCAob3IgYmF6ZWwgYnVpbGQgLi4uKS5cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBuZXcsIGdlbmVyaWMgZW5kLXRvLWVuZCB0ZXN0IGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24gYmVpbmcgdGVzdGVkLlxuICAgICAqL1xuICAgIHJlbGF0ZWRBcHBOYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIEhUTUwgc2VsZWN0b3IgZm9yIHRoZSByb290IGNvbXBvbmVudCBvZiB0aGUgdGVzdCBhcHAuXG4gICAgICovXG4gICAgcm9vdFNlbGVjdG9yPzogc3RyaW5nO1xufVxuIl19 |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Generates a new, generic end-to-end test definition for the given or default project.", | ||
"description": "Generates a new, generic end-to-end test definition in the given project.", | ||
"properties": { | ||
@@ -10,0 +10,0 @@ "rootSelector": { |
@@ -16,1 +16,2 @@ "use strict"; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvZW51bS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUdILHdFQUFtRTtBQUduRSxtQkFBeUIsT0FBb0I7SUFDM0MsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRXRELE9BQU8sSUFBQSx1Q0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBSkQsNEJBSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgUnVsZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IGdlbmVyYXRlRnJvbUZpbGVzIH0gZnJvbSAnLi4vdXRpbGl0eS9nZW5lcmF0ZS1mcm9tLWZpbGVzJztcbmltcG9ydCB7IFNjaGVtYSBhcyBFbnVtT3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKG9wdGlvbnM6IEVudW1PcHRpb25zKTogUnVsZSB7XG4gIG9wdGlvbnMudHlwZSA9IG9wdGlvbnMudHlwZSA/IGAuJHtvcHRpb25zLnR5cGV9YCA6ICcnO1xuXG4gIHJldHVybiBnZW5lcmF0ZUZyb21GaWxlcyhvcHRpb25zKTtcbn1cbiJdfQ== |
/** | ||
* Generates a new, generic enum definition for the given or default project. | ||
* Generates a new, generic enum definition in the given project. | ||
*/ | ||
@@ -17,3 +17,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -20,0 +20,0 @@ * Adds a developer-defined type to the filename, in the format "name.type.ts". |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2VudW0vc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxtRkFBbUY7QUFDbkYsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3LCBnZW5lcmljIGVudW0gZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBlbnVtLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIGVudW0gZGVmaW5pdGlvbiwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuICAgICAqL1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgaW4gd2hpY2ggdG8gY3JlYXRlIHRoZSBlbnVtLiBEZWZhdWx0IGlzIHRoZSBjb25maWd1cmVkIGRlZmF1bHRcbiAgICAgKiBwcm9qZWN0IGZvciB0aGUgd29ya3NwYWNlLlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgZGV2ZWxvcGVyLWRlZmluZWQgdHlwZSB0byB0aGUgZmlsZW5hbWUsIGluIHRoZSBmb3JtYXQgXCJuYW1lLnR5cGUudHNcIi5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nO1xufVxuIl19 |
@@ -6,3 +6,3 @@ { | ||
"type": "object", | ||
"description": "Generates a new, generic enum definition for the given or default project.", | ||
"description": "Generates a new, generic enum definition in the given project.", | ||
"additionalProperties": false, | ||
@@ -40,3 +40,3 @@ "properties": { | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -17,23 +17,33 @@ "use strict"; | ||
} | ||
const implementations = options.implements | ||
.map((implement) => (implement === 'CanDeactivate' ? 'CanDeactivate<unknown>' : implement)) | ||
.join(', '); | ||
const commonRouterNameImports = ['ActivatedRouteSnapshot', 'RouterStateSnapshot']; | ||
const routerNamedImports = [...options.implements, 'UrlTree']; | ||
if (options.implements.includes(schema_1.Implement.CanLoad)) { | ||
routerNamedImports.push('Route', 'UrlSegment'); | ||
if (options.implements.length > 1) { | ||
if (options.implements.length > 1 && options.functional) { | ||
throw new schematics_1.SchematicsException('Can only specify one value for implements when generating a functional guard.'); | ||
} | ||
if (options.functional) { | ||
const guardType = options.implements[0] + 'Fn'; | ||
return (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './type-files' }, { guardType }); | ||
} | ||
else { | ||
const implementations = options.implements | ||
.map((implement) => (implement === 'CanDeactivate' ? 'CanDeactivate<unknown>' : implement)) | ||
.join(', '); | ||
const commonRouterNameImports = ['ActivatedRouteSnapshot', 'RouterStateSnapshot']; | ||
const routerNamedImports = [...options.implements, 'UrlTree']; | ||
if (options.implements.includes(schema_1.Implement.CanMatch)) { | ||
routerNamedImports.push('Route', 'UrlSegment'); | ||
if (options.implements.length > 1) { | ||
routerNamedImports.push(...commonRouterNameImports); | ||
} | ||
} | ||
else { | ||
routerNamedImports.push(...commonRouterNameImports); | ||
} | ||
routerNamedImports.sort(); | ||
const routerImports = routerNamedImports.join(', '); | ||
return (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './implements-files' }, { | ||
implementations, | ||
routerImports, | ||
}); | ||
} | ||
else { | ||
routerNamedImports.push(...commonRouterNameImports); | ||
} | ||
routerNamedImports.sort(); | ||
const implementationImports = routerNamedImports.join(', '); | ||
return (0, generate_from_files_1.generateFromFiles)(options, { | ||
implementations, | ||
implementationImports, | ||
}); | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvZ3VhcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7QUFFSCwyREFBdUU7QUFFdkUsd0VBQW1FO0FBRW5FLHFDQUErRTtBQUUvRSxtQkFBeUIsT0FBcUI7SUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDdkIsTUFBTSxJQUFJLGdDQUFtQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7S0FDbkU7SUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1FBQ3ZELE1BQU0sSUFBSSxnQ0FBbUIsQ0FDM0IsK0VBQStFLENBQ2hGLENBQUM7S0FDSDtJQUVELElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtRQUN0QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUUvQyxPQUFPLElBQUEsdUNBQWlCLEVBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDakc7U0FBTTtRQUNMLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxVQUFVO2FBQ3ZDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2QsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLHdCQUF3QixFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDbEYsTUFBTSxrQkFBa0IsR0FBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV4RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEQsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUUvQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQzthQUNyRDtTQUNGO2FBQU07WUFDTCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFMUIsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBELE9BQU8sSUFBQSx1Q0FBaUIsRUFDdEIsRUFBRSxHQUFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxFQUM1RDtZQUNFLGVBQWU7WUFDZixhQUFhO1NBQ2QsQ0FDRixDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBM0NELDRCQTJDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBSdWxlLCBTY2hlbWF0aWNzRXhjZXB0aW9uIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUZyb21GaWxlcyB9IGZyb20gJy4uL3V0aWxpdHkvZ2VuZXJhdGUtZnJvbS1maWxlcyc7XG5cbmltcG9ydCB7IEltcGxlbWVudCBhcyBHdWFyZEludGVyZmFjZSwgU2NoZW1hIGFzIEd1YXJkT3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKG9wdGlvbnM6IEd1YXJkT3B0aW9ucyk6IFJ1bGUge1xuICBpZiAoIW9wdGlvbnMuaW1wbGVtZW50cykge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKCdPcHRpb24gXCJpbXBsZW1lbnRzXCIgaXMgcmVxdWlyZWQuJyk7XG4gIH1cbiAgaWYgKG9wdGlvbnMuaW1wbGVtZW50cy5sZW5ndGggPiAxICYmIG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKFxuICAgICAgJ0NhbiBvbmx5IHNwZWNpZnkgb25lIHZhbHVlIGZvciBpbXBsZW1lbnRzIHdoZW4gZ2VuZXJhdGluZyBhIGZ1bmN0aW9uYWwgZ3VhcmQuJyxcbiAgICApO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgIGNvbnN0IGd1YXJkVHlwZSA9IG9wdGlvbnMuaW1wbGVtZW50c1swXSArICdGbic7XG5cbiAgICByZXR1cm4gZ2VuZXJhdGVGcm9tRmlsZXMoeyAuLi5vcHRpb25zLCB0ZW1wbGF0ZUZpbGVzRGlyZWN0b3J5OiAnLi90eXBlLWZpbGVzJyB9LCB7IGd1YXJkVHlwZSB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBpbXBsZW1lbnRhdGlvbnMgPSBvcHRpb25zLmltcGxlbWVudHNcbiAgICAgIC5tYXAoKGltcGxlbWVudCkgPT4gKGltcGxlbWVudCA9PT0gJ0NhbkRlYWN0aXZhdGUnID8gJ0NhbkRlYWN0aXZhdGU8dW5rbm93bj4nIDogaW1wbGVtZW50KSlcbiAgICAgIC5qb2luKCcsICcpO1xuICAgIGNvbnN0IGNvbW1vblJvdXRlck5hbWVJbXBvcnRzID0gWydBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90JywgJ1JvdXRlclN0YXRlU25hcHNob3QnXTtcbiAgICBjb25zdCByb3V0ZXJOYW1lZEltcG9ydHM6IHN0cmluZ1tdID0gWy4uLm9wdGlvbnMuaW1wbGVtZW50cywgJ1VybFRyZWUnXTtcblxuICAgIGlmIChvcHRpb25zLmltcGxlbWVudHMuaW5jbHVkZXMoR3VhcmRJbnRlcmZhY2UuQ2FuTWF0Y2gpKSB7XG4gICAgICByb3V0ZXJOYW1lZEltcG9ydHMucHVzaCgnUm91dGUnLCAnVXJsU2VnbWVudCcpO1xuXG4gICAgICBpZiAob3B0aW9ucy5pbXBsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgcm91dGVyTmFtZWRJbXBvcnRzLnB1c2goLi4uY29tbW9uUm91dGVyTmFtZUltcG9ydHMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZXJOYW1lZEltcG9ydHMucHVzaCguLi5jb21tb25Sb3V0ZXJOYW1lSW1wb3J0cyk7XG4gICAgfVxuXG4gICAgcm91dGVyTmFtZWRJbXBvcnRzLnNvcnQoKTtcblxuICAgIGNvbnN0IHJvdXRlckltcG9ydHMgPSByb3V0ZXJOYW1lZEltcG9ydHMuam9pbignLCAnKTtcblxuICAgIHJldHVybiBnZW5lcmF0ZUZyb21GaWxlcyhcbiAgICAgIHsgLi4ub3B0aW9ucywgdGVtcGxhdGVGaWxlc0RpcmVjdG9yeTogJy4vaW1wbGVtZW50cy1maWxlcycgfSxcbiAgICAgIHtcbiAgICAgICAgaW1wbGVtZW50YXRpb25zLFxuICAgICAgICByb3V0ZXJJbXBvcnRzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0= |
/** | ||
* Generates a new, generic route guard definition in the given or default project. | ||
* Generates a new, generic route guard definition in the given project. | ||
*/ | ||
@@ -10,4 +10,8 @@ export interface Schema { | ||
/** | ||
* Specifies which interfaces to implement. | ||
* Specifies whether to generate a guard as a function. | ||
*/ | ||
functional?: boolean; | ||
/** | ||
* Specifies which type of guard to create. | ||
*/ | ||
implements?: Implement[]; | ||
@@ -26,3 +30,3 @@ /** | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -37,3 +41,3 @@ * Do not create "spec.ts" test files for the new guard. | ||
CanDeactivate = "CanDeactivate", | ||
CanLoad = "CanLoad" | ||
CanMatch = "CanMatch" | ||
} |
@@ -11,3 +11,4 @@ "use strict"; | ||
Implement["CanDeactivate"] = "CanDeactivate"; | ||
Implement["CanLoad"] = "CanLoad"; | ||
})(Implement = exports.Implement || (exports.Implement = {})); | ||
Implement["CanMatch"] = "CanMatch"; | ||
})(Implement || (exports.Implement = Implement = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2d1YXJkL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRjs7O0FBcUNwRixJQUFZLFNBS1g7QUFMRCxXQUFZLFNBQVM7SUFDakIsd0NBQTJCLENBQUE7SUFDM0Isa0RBQXFDLENBQUE7SUFDckMsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLFNBQVMseUJBQVQsU0FBUyxRQUtwQiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG5ldywgZ2VuZXJpYyByb3V0ZSBndWFyZCBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNyZWF0ZXMgdGhlIG5ldyBmaWxlcyBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBjdXJyZW50IHByb2plY3QuXG4gICAgICovXG4gICAgZmxhdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gZ2VuZXJhdGUgYSBndWFyZCBhcyBhIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uYWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB3aGljaCB0eXBlIG9mIGd1YXJkIHRvIGNyZWF0ZS5cbiAgICAgKi9cbiAgICBpbXBsZW1lbnRzPzogSW1wbGVtZW50W107XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIG5ldyByb3V0ZSBndWFyZC5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBpbnRlcmZhY2UgdGhhdCBkZWZpbmVzIHRoZSBndWFyZCwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnRcbiAgICAgKiB3b3Jrc3BhY2UuXG4gICAgICovXG4gICAgcGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IGd1YXJkLlxuICAgICAqL1xuICAgIHNraXBUZXN0cz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEltcGxlbWVudCB7XG4gICAgQ2FuQWN0aXZhdGUgPSBcIkNhbkFjdGl2YXRlXCIsXG4gICAgQ2FuQWN0aXZhdGVDaGlsZCA9IFwiQ2FuQWN0aXZhdGVDaGlsZFwiLFxuICAgIENhbkRlYWN0aXZhdGUgPSBcIkNhbkRlYWN0aXZhdGVcIixcbiAgICBDYW5NYXRjaCA9IFwiQ2FuTWF0Y2hcIixcbn1cbiJdfQ== |
@@ -6,3 +6,3 @@ { | ||
"type": "object", | ||
"description": "Generates a new, generic route guard definition in the given or default project.", | ||
"description": "Generates a new, generic route guard definition in the given project.", | ||
"additionalProperties": false, | ||
@@ -22,4 +22,3 @@ "properties": { | ||
"description": "Do not create \"spec.ts\" test files for the new guard.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
@@ -47,16 +46,22 @@ "flat": { | ||
}, | ||
"functional": { | ||
"type": "boolean", | ||
"description": "Specifies whether to generate a guard as a function.", | ||
"default": true | ||
}, | ||
"implements": { | ||
"alias": "guardType", | ||
"type": "array", | ||
"description": "Specifies which interfaces to implement.", | ||
"description": "Specifies which type of guard to create.", | ||
"uniqueItems": true, | ||
"minItems": 1, | ||
"items": { | ||
"enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanLoad"], | ||
"enum": ["CanActivate", "CanActivateChild", "CanDeactivate", "CanMatch"], | ||
"type": "string" | ||
}, | ||
"default": ["CanActivate"], | ||
"x-prompt": "Which interfaces would you like to implement?" | ||
"x-prompt": "Which type of guard would you like to create?" | ||
} | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -15,6 +15,10 @@ "use strict"; | ||
options.flat = true; | ||
return (0, generate_from_files_1.generateFromFiles)(options, { | ||
const extraTemplateValues = { | ||
'if-flat': (s) => (flat ? '' : s), | ||
}); | ||
}; | ||
return options.functional | ||
? (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './functional-files' }, extraTemplateValues) | ||
: (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './class-files' }, extraTemplateValues); | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvaW50ZXJjZXB0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7QUFHSCx3RUFBbUU7QUFHbkUsbUJBQXlCLE9BQTJCO0lBQ2xELG1FQUFtRTtJQUNuRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLE1BQU0sbUJBQW1CLEdBQUc7UUFDMUIsU0FBUyxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUMsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDLFVBQVU7UUFDdkIsQ0FBQyxDQUFDLElBQUEsdUNBQWlCLEVBQ2YsRUFBRSxHQUFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxFQUM1RCxtQkFBbUIsQ0FDcEI7UUFDSCxDQUFDLENBQUMsSUFBQSx1Q0FBaUIsRUFDZixFQUFFLEdBQUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxFQUN2RCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUNSLENBQUM7QUFqQkQsNEJBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IFJ1bGUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUZyb21GaWxlcyB9IGZyb20gJy4uL3V0aWxpdHkvZ2VuZXJhdGUtZnJvbS1maWxlcyc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgSW50ZXJjZXB0b3JPcHRpb25zIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogSW50ZXJjZXB0b3JPcHRpb25zKTogUnVsZSB7XG4gIC8vIFRoaXMgc2NoZW1hdGljIHVzZXMgYW4gb2xkZXIgbWV0aG9kIHRvIGltcGxlbWVudCB0aGUgZmxhdCBvcHRpb25cbiAgY29uc3QgZmxhdCA9IG9wdGlvbnMuZmxhdDtcbiAgb3B0aW9ucy5mbGF0ID0gdHJ1ZTtcbiAgY29uc3QgZXh0cmFUZW1wbGF0ZVZhbHVlcyA9IHtcbiAgICAnaWYtZmxhdCc6IChzOiBzdHJpbmcpID0+IChmbGF0ID8gJycgOiBzKSxcbiAgfTtcblxuICByZXR1cm4gb3B0aW9ucy5mdW5jdGlvbmFsXG4gICAgPyBnZW5lcmF0ZUZyb21GaWxlcyhcbiAgICAgICAgeyAuLi5vcHRpb25zLCB0ZW1wbGF0ZUZpbGVzRGlyZWN0b3J5OiAnLi9mdW5jdGlvbmFsLWZpbGVzJyB9LFxuICAgICAgICBleHRyYVRlbXBsYXRlVmFsdWVzLFxuICAgICAgKVxuICAgIDogZ2VuZXJhdGVGcm9tRmlsZXMoXG4gICAgICAgIHsgLi4ub3B0aW9ucywgdGVtcGxhdGVGaWxlc0RpcmVjdG9yeTogJy4vY2xhc3MtZmlsZXMnIH0sXG4gICAgICAgIGV4dHJhVGVtcGxhdGVWYWx1ZXMsXG4gICAgICApO1xufVxuIl19 |
/** | ||
* Creates a new, generic interceptor definition in the given or default project. | ||
* Creates a new, generic interceptor definition in the given project. | ||
*/ | ||
@@ -10,2 +10,6 @@ export interface Schema { | ||
/** | ||
* Creates the interceptor as a `HttpInterceptorFn`. | ||
*/ | ||
functional?: boolean; | ||
/** | ||
* The name of the interceptor. | ||
@@ -21,3 +25,3 @@ */ | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -24,0 +28,0 @@ * Do not create "spec.ts" test files for the new interceptor. |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2ludGVyY2VwdG9yL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgaW50ZXJjZXB0b3IgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFdoZW4gdHJ1ZSAodGhlIGRlZmF1bHQpLCBjcmVhdGVzIGZpbGVzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHByb2plY3QuXG4gICAgICovXG4gICAgZmxhdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgaW50ZXJjZXB0b3IgYXMgYSBgSHR0cEludGVyY2VwdG9yRm5gLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uYWw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBpbnRlcmNlcHRvci5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBpbnRlcmNlcHRvciwgcmVsYXRpdmUgdG8gdGhlIHdvcmtzcGFjZSByb290LlxuICAgICAqL1xuICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG4gICAgICovXG4gICAgcHJvamVjdDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBjcmVhdGUgXCJzcGVjLnRzXCIgdGVzdCBmaWxlcyBmb3IgdGhlIG5ldyBpbnRlcmNlcHRvci5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xufVxuIl19 |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Creates a new, generic interceptor definition in the given or default project.", | ||
"description": "Creates a new, generic interceptor definition in the given project.", | ||
"properties": { | ||
@@ -43,7 +43,11 @@ "name": { | ||
"description": "Do not create \"spec.ts\" test files for the new interceptor.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
"functional": { | ||
"type": "boolean", | ||
"description": "Creates the interceptor as a `HttpInterceptorFn`.", | ||
"default": false | ||
} | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -16,1 +16,2 @@ "use strict"; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvaW50ZXJmYWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBR0gsd0VBQW1FO0FBR25FLG1CQUF5QixPQUF5QjtJQUNoRCxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFdEQsT0FBTyxJQUFBLHVDQUFpQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFKRCw0QkFJQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgZ2VuZXJhdGVGcm9tRmlsZXMgfSBmcm9tICcuLi91dGlsaXR5L2dlbmVyYXRlLWZyb20tZmlsZXMnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIEludGVyZmFjZU9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBJbnRlcmZhY2VPcHRpb25zKTogUnVsZSB7XG4gIG9wdGlvbnMudHlwZSA9IG9wdGlvbnMudHlwZSA/IGAuJHtvcHRpb25zLnR5cGV9YCA6ICcnO1xuXG4gIHJldHVybiBnZW5lcmF0ZUZyb21GaWxlcyhvcHRpb25zKTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic interface definition in the given or default project. | ||
* Creates a new, generic interface definition in the given project. | ||
*/ | ||
@@ -20,3 +20,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -23,0 +23,0 @@ * Adds a developer-defined type to the filename, in the format "name.type.ts". |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2ludGVyZmFjZS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIFRISVMgRklMRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gVE8gVVBEQVRFIFRISVMgRklMRSBZT1UgTkVFRCBUTyBDSEFOR0UgVEhFXG4vLyBDT1JSRVNQT05ESU5HIEpTT04gU0NIRU1BIEZJTEUsIFRIRU4gUlVOIGRldmtpdC1hZG1pbiBidWlsZCAob3IgYmF6ZWwgYnVpbGQgLi4uKS5cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3LCBnZW5lcmljIGludGVyZmFjZSBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGludGVyZmFjZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBpbnRlcmZhY2UsIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEEgcHJlZml4IHRvIGFwcGx5IHRvIGdlbmVyYXRlZCBzZWxlY3RvcnMuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBZGRzIGEgZGV2ZWxvcGVyLWRlZmluZWQgdHlwZSB0byB0aGUgZmlsZW5hbWUsIGluIHRoZSBmb3JtYXQgXCJuYW1lLnR5cGUudHNcIi5cbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nO1xufVxuIl19 |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Creates a new, generic interface definition in the given or default project.", | ||
"description": "Creates a new, generic interface definition in the given project.", | ||
"properties": { | ||
@@ -48,3 +48,3 @@ "name": { | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -89,5 +89,4 @@ "use strict"; | ||
options: { | ||
main: `${projectRoot}/src/test.ts`, | ||
tsConfig: `${projectRoot}/tsconfig.spec.json`, | ||
karmaConfig: `${projectRoot}/karma.conf.js`, | ||
polyfills: ['zone.js', 'zone.js/testing'], | ||
}, | ||
@@ -114,5 +113,7 @@ }, | ||
} | ||
const projectRoot = (0, core_1.join)((0, core_1.normalize)(newProjectRoot), folderName); | ||
const libDir = options.projectRoot !== undefined | ||
? (0, core_1.normalize)(options.projectRoot) | ||
: (0, core_1.join)((0, core_1.normalize)(newProjectRoot), folderName); | ||
const distRoot = `dist/${folderName}`; | ||
const sourceDir = `${projectRoot}/src/lib`; | ||
const sourceDir = `${libDir}/src/lib`; | ||
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [ | ||
@@ -123,5 +124,5 @@ (0, schematics_1.applyTemplates)({ | ||
packageName, | ||
projectRoot, | ||
libDir, | ||
distRoot, | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(projectRoot), | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(libDir), | ||
prefix, | ||
@@ -132,16 +133,18 @@ angularLatestVersion: latest_versions_1.latestVersions.Angular.replace(/~|\^/, ''), | ||
}), | ||
(0, schematics_1.move)(projectRoot), | ||
(0, schematics_1.move)(libDir), | ||
]); | ||
return (0, schematics_1.chain)([ | ||
(0, schematics_1.mergeWith)(templateSource), | ||
addLibToWorkspaceFile(options, projectRoot, packageName), | ||
addLibToWorkspaceFile(options, libDir, packageName), | ||
options.skipPackageJson ? (0, schematics_1.noop)() : addDependenciesToPackageJson(), | ||
options.skipTsConfig ? (0, schematics_1.noop)() : updateTsConfig(packageName, distRoot), | ||
(0, schematics_1.schematic)('module', { | ||
name: options.name, | ||
commonModule: false, | ||
flat: true, | ||
path: sourceDir, | ||
project: packageName, | ||
}), | ||
options.standalone | ||
? (0, schematics_1.noop)() | ||
: (0, schematics_1.schematic)('module', { | ||
name: options.name, | ||
commonModule: false, | ||
flat: true, | ||
path: sourceDir, | ||
project: packageName, | ||
}), | ||
(0, schematics_1.schematic)('component', { | ||
@@ -155,2 +158,3 @@ name: options.name, | ||
export: true, | ||
standalone: options.standalone, | ||
project: packageName, | ||
@@ -173,1 +177,2 @@ }), | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvbGlicmFyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILCtDQUF1RDtBQUN2RCwyREFhb0M7QUFDcEMsNERBQTBFO0FBQzFFLDBEQUF1RjtBQUN2RixvREFBZ0Q7QUFDaEQsZ0VBQTREO0FBQzVELDRDQUErRDtBQUMvRCxvREFBcUU7QUFDckUsa0VBQW9FO0FBR3BFLFNBQVMsY0FBYyxDQUFDLFdBQW1CLEVBQUUsR0FBRyxLQUFlO0lBQzdELE9BQU8sQ0FBQyxJQUFVLEVBQUUsRUFBRTtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0UsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNEJBQTRCO0lBQ25DLE9BQU8sQ0FBQyxJQUFVLEVBQUUsRUFBRTtRQUNwQjtZQUNFO2dCQUNFLElBQUksRUFBRSxpQ0FBa0IsQ0FBQyxHQUFHO2dCQUM1QixJQUFJLEVBQUUsdUJBQXVC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LFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLFdBQVc7YUFDckIsQ0FBQztZQUNGLENBQUMsS0FBVyxFQUFFLE9BQXlCLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUNwRCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksOEJBQXNCLEVBQUUsQ0FBQyxDQUFDO2lCQUMvQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBakZELDRCQWlGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBqb2luLCBub3JtYWxpemUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1xuICBSdWxlLFxuICBTY2hlbWF0aWNDb250ZXh0LFxuICBUcmVlLFxuICBhcHBseSxcbiAgYXBwbHlUZW1wbGF0ZXMsXG4gIGNoYWluLFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIG5vb3AsXG4gIHNjaGVtYXRpYyxcbiAgc3RyaW5ncyxcbiAgdXJsLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBOb2RlUGFja2FnZUluc3RhbGxUYXNrIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MvdGFza3MnO1xuaW1wb3J0IHsgTm9kZURlcGVuZGVuY3lUeXBlLCBhZGRQYWNrYWdlSnNvbkRlcGVuZGVuY3kgfSBmcm9tICcuLi91dGlsaXR5L2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBKU09ORmlsZSB9IGZyb20gJy4uL3V0aWxpdHkvanNvbi1maWxlJztcbmltcG9ydCB7IGxhdGVzdFZlcnNpb25zIH0gZnJvbSAnLi4vdXRpbGl0eS9sYXRlc3QtdmVyc2lvbnMnO1xuaW1wb3J0IHsgcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290IH0gZnJvbSAnLi4vdXRpbGl0eS9wYXRocyc7XG5pbXBvcnQgeyBnZXRXb3Jrc3BhY2UsIHVwZGF0ZVdvcmtzcGFjZSB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlJztcbmltcG9ydCB7IEJ1aWxkZXJzLCBQcm9qZWN0VHlwZSB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlLW1vZGVscyc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgTGlicmFyeU9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmZ1bmN0aW9uIHVwZGF0ZVRzQ29uZmlnKHBhY2thZ2VOYW1lOiBzdHJpbmcsIC4uLnBhdGhzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gKGhvc3Q6IFRyZWUpID0+IHtcbiAgICBpZiAoIWhvc3QuZXhpc3RzKCd0c2NvbmZpZy5qc29uJykpIHtcbiAgICAgIHJldHVybiBob3N0O1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSBuZXcgSlNPTkZpbGUoaG9zdCwgJ3RzY29uZmlnLmpzb24nKTtcbiAgICBjb25zdCBqc29uUGF0aCA9IFsnY29tcGlsZXJPcHRpb25zJywgJ3BhdGhzJywgcGFja2FnZU5hbWVdO1xuICAgIGNvbnN0IHZhbHVlID0gZmlsZS5nZXQoanNvblBhdGgpO1xuICAgIGZpbGUubW9kaWZ5KGpzb25QYXRoLCBBcnJheS5pc0FycmF5KHZhbHVlKSA/IFsuLi52YWx1ZSwgLi4ucGF0aHNdIDogcGF0aHMpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBhZGREZXBlbmRlbmNpZXNUb1BhY2thZ2VKc29uKCkge1xuICByZXR1cm4gKGhvc3Q6IFRyZWUpID0+IHtcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6IE5vZGVEZXBlbmRlbmN5VHlwZS5EZXYsXG4gICAgICAgIG5hbWU6ICdAYW5ndWxhci9jb21waWxlci1jbGknLFxuICAgICAgICB2ZXJzaW9uOiBsYXRlc3RWZXJzaW9ucy5Bbmd1bGFyLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogTm9kZURlcGVuZGVuY3lUeXBlLkRldixcbiAgICAgICAgbmFtZTogJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyJyxcbiAgICAgICAgdmVyc2lvbjogbGF0ZXN0VmVyc2lvbnMuRGV2a2l0QnVpbGRBbmd1bGFyLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogTm9kZURlcGVuZGVuY3lUeXBlLkRldixcbiAgICAgICAgbmFtZTogJ25nLXBhY2thZ3InLFxuICAgICAgICB2ZXJzaW9uOiBsYXRlc3RWZXJzaW9uc1snbmctcGFja2FnciddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogTm9kZURlcGVuZGVuY3lUeXBlLkRlZmF1bHQsXG4gICAgICAgIG5hbWU6ICd0c2xpYicsXG4gICAgICAgIHZlcnNpb246IGxhdGVzdFZlcnNpb25zWyd0c2xpYiddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdHlwZTogTm9kZURlcGVuZGVuY3lUeXBlLkRldixcbiAgICAgICAgbmFtZTogJ3R5cGVzY3JpcHQnLFxuICAgICAgICB2ZXJzaW9uOiBsYXRlc3RWZXJzaW9uc1sndHlwZXNjcmlwdCddLFxuICAgICAgfSxcbiAgICBdLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IGFkZFBhY2thZ2VKc29uRGVwZW5kZW5jeShob3N0LCBkZXBlbmRlbmN5KSk7XG5cbiAgICByZXR1cm4gaG9zdDtcbiAgfTtcbn1cblxuZnVuY3Rpb24gYWRkTGliVG9Xb3Jrc3BhY2VGaWxlKFxuICBvcHRpb25zOiBMaWJyYXJ5T3B0aW9ucyxcbiAgcHJvamVjdFJvb3Q6IHN0cmluZyxcbiAgcHJvamVjdE5hbWU6IHN0cmluZyxcbik6IFJ1bGUge1xuICByZXR1cm4gdXBkYXRlV29ya3NwYWNlKCh3b3Jrc3BhY2UpID0+IHtcbiAgICB3b3Jrc3BhY2UucHJvamVjdHMuYWRkKHtcbiAgICAgIG5hbWU6IHByb2plY3ROYW1lLFxuICAgICAgcm9vdDogcHJvamVjdFJvb3QsXG4gICAgICBzb3VyY2VSb290OiBgJHtwcm9qZWN0Um9vdH0vc3JjYCxcbiAgICAgIHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZS5MaWJyYXJ5LFxuICAgICAgcHJlZml4OiBvcHRpb25zLnByZWZpeCxcbiAgICAgIHRhcmdldHM6IHtcbiAgICAgICAgYnVpbGQ6IHtcbiAgICAgICAgICBidWlsZGVyOiBCdWlsZGVycy5OZ1BhY2thZ3IsXG4gICAgICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb246ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9qZWN0OiBgJHtwcm9qZWN0Um9vdH0vbmctcGFja2FnZS5qc29uYCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgICAgICBwcm9kdWN0aW9uOiB7XG4gICAgICAgICAgICAgIHRzQ29uZmlnOiBgJHtwcm9qZWN0Um9vdH0vdHNjb25maWcubGliLnByb2QuanNvbmAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICAgICAgdHNDb25maWc6IGAke3Byb2plY3RSb290fS90c2NvbmZpZy5saWIuanNvbmAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRlc3Q6IHtcbiAgICAgICAgICBidWlsZGVyOiBCdWlsZGVycy5LYXJtYSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB0c0NvbmZpZzogYCR7cHJvamVjdFJvb3R9L3RzY29uZmlnLnNwZWMuanNvbmAsXG4gICAgICAgICAgICBwb2x5ZmlsbHM6IFsnem9uZS5qcycsICd6b25lLmpzL3Rlc3RpbmcnXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBMaWJyYXJ5T3B0aW9ucyk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKGhvc3Q6IFRyZWUpID0+IHtcbiAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zLnByZWZpeDtcblxuICAgIC8vIElmIHNjb3BlZCBwcm9qZWN0IChpLmUuIFwiQGZvby9iYXJcIiksIGNvbnZlcnQgcHJvamVjdERpciB0byBcImZvby9iYXJcIi5cbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICBpZiAoL15ALipcXC8uKi8udGVzdChvcHRpb25zLm5hbWUpKSB7XG4gICAgICBjb25zdCBbLCBuYW1lXSA9IG9wdGlvbnMubmFtZS5zcGxpdCgnLycpO1xuICAgICAgb3B0aW9ucy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCB3b3Jrc3BhY2UgPSBhd2FpdCBnZXRXb3Jrc3BhY2UoaG9zdCk7XG4gICAgY29uc3QgbmV3UHJvamVjdFJvb3QgPSAod29ya3NwYWNlLmV4dGVuc2lvbnMubmV3UHJvamVjdFJvb3QgYXMgc3RyaW5nIHwgdW5kZWZpbmVkKSB8fCAnJztcblxuICAgIGxldCBmb2xkZXJOYW1lID0gcGFja2FnZU5hbWUuc3RhcnRzV2l0aCgnQCcpID8gcGFja2FnZU5hbWUuc2xpY2UoMSkgOiBwYWNrYWdlTmFtZTtcbiAgICBpZiAoL1tBLVpdLy50ZXN0KGZvbGRlck5hbWUpKSB7XG4gICAgICBmb2xkZXJOYW1lID0gc3RyaW5ncy5kYXNoZXJpemUoZm9sZGVyTmFtZSk7XG4gICAgfVxuXG4gICAgY29uc3QgbGliRGlyID1cbiAgICAgIG9wdGlvbnMucHJvamVjdFJvb3QgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IG5vcm1hbGl6ZShvcHRpb25zLnByb2plY3RSb290KVxuICAgICAgICA6IGpvaW4obm9ybWFsaXplKG5ld1Byb2plY3RSb290KSwgZm9sZGVyTmFtZSk7XG5cbiAgICBjb25zdCBkaXN0Um9vdCA9IGBkaXN0LyR7Zm9sZGVyTmFtZX1gO1xuICAgIGNvbnN0IHNvdXJjZURpciA9IGAke2xpYkRpcn0vc3JjL2xpYmA7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZVNvdXJjZSA9IGFwcGx5KHVybCgnLi9maWxlcycpLCBbXG4gICAgICBhcHBseVRlbXBsYXRlcyh7XG4gICAgICAgIC4uLnN0cmluZ3MsXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgICBsaWJEaXIsXG4gICAgICAgIGRpc3RSb290LFxuICAgICAgICByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3Q6IHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlUm9vdChsaWJEaXIpLFxuICAgICAgICBwcmVmaXgsXG4gICAgICAgIGFuZ3VsYXJMYXRlc3RWZXJzaW9uOiBsYXRlc3RWZXJzaW9ucy5Bbmd1bGFyLnJlcGxhY2UoL358XFxeLywgJycpLFxuICAgICAgICB0c0xpYkxhdGVzdFZlcnNpb246IGxhdGVzdFZlcnNpb25zWyd0c2xpYiddLnJlcGxhY2UoL358XFxeLywgJycpLFxuICAgICAgICBmb2xkZXJOYW1lLFxuICAgICAgfSksXG4gICAgICBtb3ZlKGxpYkRpciksXG4gICAgXSk7XG5cbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgbWVyZ2VXaXRoKHRlbXBsYXRlU291cmNlKSxcbiAgICAgIGFkZExpYlRvV29ya3NwYWNlRmlsZShvcHRpb25zLCBsaWJEaXIsIHBhY2thZ2VOYW1lKSxcbiAgICAgIG9wdGlvbnMuc2tpcFBhY2thZ2VKc29uID8gbm9vcCgpIDogYWRkRGVwZW5kZW5jaWVzVG9QYWNrYWdlSnNvbigpLFxuICAgICAgb3B0aW9ucy5za2lwVHNDb25maWcgPyBub29wKCkgOiB1cGRhdGVUc0NvbmZpZyhwYWNrYWdlTmFtZSwgZGlzdFJvb3QpLFxuICAgICAgb3B0aW9ucy5zdGFuZGFsb25lXG4gICAgICAgID8gbm9vcCgpXG4gICAgICAgIDogc2NoZW1hdGljKCdtb2R1bGUnLCB7XG4gICAgICAgICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAgICAgICBjb21tb25Nb2R1bGU6IGZhbHNlLFxuICAgICAgICAgICAgZmxhdDogdHJ1ZSxcbiAgICAgICAgICAgIHBhdGg6IHNvdXJjZURpcixcbiAgICAgICAgICAgIHByb2plY3Q6IHBhY2thZ2VOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgc2NoZW1hdGljKCdjb21wb25lbnQnLCB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgc2VsZWN0b3I6IGAke3ByZWZpeH0tJHtvcHRpb25zLm5hbWV9YCxcbiAgICAgICAgaW5saW5lU3R5bGU6IHRydWUsXG4gICAgICAgIGlubGluZVRlbXBsYXRlOiB0cnVlLFxuICAgICAgICBmbGF0OiB0cnVlLFxuICAgICAgICBwYXRoOiBzb3VyY2VEaXIsXG4gICAgICAgIGV4cG9ydDogdHJ1ZSxcbiAgICAgICAgc3RhbmRhbG9uZTogb3B0aW9ucy5zdGFuZGFsb25lLFxuICAgICAgICBwcm9qZWN0OiBwYWNrYWdlTmFtZSxcbiAgICAgIH0pLFxuICAgICAgc2NoZW1hdGljKCdzZXJ2aWNlJywge1xuICAgICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAgIGZsYXQ6IHRydWUsXG4gICAgICAgIHBhdGg6IHNvdXJjZURpcixcbiAgICAgICAgcHJvamVjdDogcGFja2FnZU5hbWUsXG4gICAgICB9KSxcbiAgICAgIChfdHJlZTogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMuc2tpcFBhY2thZ2VKc29uICYmICFvcHRpb25zLnNraXBJbnN0YWxsKSB7XG4gICAgICAgICAgY29udGV4dC5hZGRUYXNrKG5ldyBOb2RlUGFja2FnZUluc3RhbGxUYXNrKCkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIF0pO1xuICB9O1xufVxuIl19 |
@@ -18,2 +18,6 @@ /** | ||
/** | ||
* The root directory of the new library. | ||
*/ | ||
projectRoot?: string; | ||
/** | ||
* Do not install dependency packages. | ||
@@ -31,2 +35,6 @@ */ | ||
skipTsConfig?: boolean; | ||
/** | ||
* Creates a library based upon the standalone API, without NgModules. | ||
*/ | ||
standalone?: boolean; | ||
} |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL2xpYnJhcnkvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxtRkFBbUY7QUFDbkYsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyBsaWJyYXJ5IHByb2plY3QgaW4gdGhlIGN1cnJlbnQgd29ya3NwYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggYXQgd2hpY2ggdG8gY3JlYXRlIHRoZSBsaWJyYXJ5J3MgcHVibGljIEFQSSBmaWxlLCByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIHJvb3QuXG4gICAgICovXG4gICAgZW50cnlGaWxlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBsaWJyYXJ5LlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBBIHByZWZpeCB0byBhcHBseSB0byBnZW5lcmF0ZWQgc2VsZWN0b3JzLlxuICAgICAqL1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIG5ldyBsaWJyYXJ5LlxuICAgICAqL1xuICAgIHByb2plY3RSb290Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBpbnN0YWxsIGRlcGVuZGVuY3kgcGFja2FnZXMuXG4gICAgICovXG4gICAgc2tpcEluc3RhbGw/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIERvIG5vdCBhZGQgZGVwZW5kZW5jaWVzIHRvIHRoZSBcInBhY2thZ2UuanNvblwiIGZpbGUuXG4gICAgICovXG4gICAgc2tpcFBhY2thZ2VKc29uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgdXBkYXRlIFwidHNjb25maWcuanNvblwiIHRvIGFkZCBhIHBhdGggbWFwcGluZyBmb3IgdGhlIG5ldyBsaWJyYXJ5LiBUaGUgcGF0aCBtYXBwaW5nXG4gICAgICogaXMgbmVlZGVkIHRvIHVzZSB0aGUgbGlicmFyeSBpbiBhbiBhcHAsIGJ1dCBjYW4gYmUgZGlzYWJsZWQgaGVyZSB0byBzaW1wbGlmeSBkZXZlbG9wbWVudC5cbiAgICAgKi9cbiAgICBza2lwVHNDb25maWc/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBsaWJyYXJ5IGJhc2VkIHVwb24gdGhlIHN0YW5kYWxvbmUgQVBJLCB3aXRob3V0IE5nTW9kdWxlcy5cbiAgICAgKi9cbiAgICBzdGFuZGFsb25lPzogYm9vbGVhbjtcbn1cbiJdfQ== |
@@ -46,2 +46,12 @@ { | ||
"description": "Do not update \"tsconfig.json\" to add a path mapping for the new library. The path mapping is needed to use the library in an app, but can be disabled here to simplify development." | ||
}, | ||
"projectRoot": { | ||
"type": "string", | ||
"description": "The root directory of the new library." | ||
}, | ||
"standalone": { | ||
"description": "Creates a library based upon the standalone API, without NgModules.", | ||
"type": "boolean", | ||
"default": false, | ||
"x-user-analytics": "ep.ng_standalone" | ||
} | ||
@@ -48,0 +58,0 @@ }, |
{ | ||
"schematics": { | ||
"update-angular-packages-version-prefix": { | ||
"version": "14.0.0", | ||
"factory": "./update-14/angular-packages-version-prefix", | ||
"description": "Update Angular packages 'dependencies' and 'devDependencies' version prefix to '^' instead of '~'." | ||
}, | ||
"update-tsconfig-target": { | ||
"version": "14.0.0", | ||
"factory": "./update-14/update-tsconfig-target", | ||
"description": "Update TypeScript compilation target to 'ES2020'." | ||
}, | ||
"remove-show-circular-dependencies-option": { | ||
"version": "14.0.0", | ||
"factory": "./update-14/remove-show-circular-dependencies-option", | ||
"description": "Remove 'showCircularDependencies' option from browser and server builders." | ||
}, | ||
"remove-default-project-option": { | ||
"version": "14.0.0", | ||
"factory": "./update-14/remove-default-project-option", | ||
"version": "16.0.0", | ||
"factory": "./update-16/remove-default-project-option", | ||
"description": "Remove 'defaultProject' option from workspace configuration. The project to use will be determined from the current working directory." | ||
}, | ||
"replace-default-collection-option": { | ||
"version": "14.0.0", | ||
"factory": "./update-14/replace-default-collection-option", | ||
"description": "Replace 'defaultCollection' option in workspace configuration with 'schematicCollections'." | ||
"version": "16.0.0", | ||
"factory": "./update-16/replace-default-collection-option", | ||
"description": "Replace removed 'defaultCollection' option in workspace configuration with 'schematicCollections'." | ||
}, | ||
"update-libraries-secondary-entrypoints": { | ||
"version": "14.0.0", | ||
"factory": "./update-14/update-libraries-secondary-entrypoints", | ||
"description": "Remove 'package.json' files from library projects secondary entrypoints." | ||
"update-server-builder-config": { | ||
"version": "16.0.0", | ||
"factory": "./update-16/update-server-builder-config", | ||
"description": "Update the '@angular-devkit/build-angular:server' builder configuration to disable 'buildOptimizer' for non optimized builds." | ||
} | ||
} | ||
} |
@@ -50,3 +50,3 @@ "use strict"; | ||
} | ||
function addDeclarationToNgModule(options) { | ||
function addImportToNgModule(options) { | ||
return (host) => { | ||
@@ -148,3 +148,3 @@ if (!options.module) { | ||
return (0, schematics_1.chain)([ | ||
!isLazyLoadedModuleGen ? addDeclarationToNgModule(options) : (0, schematics_1.noop)(), | ||
!isLazyLoadedModuleGen ? addImportToNgModule(options) : (0, schematics_1.noop)(), | ||
addRouteDeclarationToNgModule(options, routingModulePath), | ||
@@ -157,1 +157,2 @@ (0, schematics_1.mergeWith)(templateSource), | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvbW9kdWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwrQ0FBdUQ7QUFDdkQsMkRBYW9DO0FBRXBDLGtHQUFvRjtBQUNwRixvREFBc0Y7QUFDdEYsOENBQWlEO0FBQ2pELHdEQUtnQztBQUNoQyxzREFBa0Q7QUFDbEQsc0RBQTBEO0FBQzFELG9EQUF5RDtBQUN6RCxxQ0FBaUU7QUFFakUsU0FBUyx1QkFBdUIsQ0FBQyxPQUFzQixFQUFFLFVBQWtCO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxnQkFBUyxFQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEdBQUc7UUFDakIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDM0Qsb0JBQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMvQixTQUFTLENBQ1osQ0FBQztJQUVGLE9BQU8sSUFBQSwrQkFBaUIsRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxPQUFzQjtJQUNqRCxPQUFPLENBQUMsSUFBVSxFQUFFLEVBQUU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxNQUFN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RUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztTQUN6QixDQUFDO1FBRUYsT0FBTyxJQUFBLGtCQUFLLEVBQUM7WUFDWCxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQkFBSSxHQUFFO1lBQzlELDZCQUE2QixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztZQUN6RCxJQUFBLHNCQUFTLEVBQUMsY0FBYyxDQUFDO1lBQ3pCLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFBLHNCQUFTLEVBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQUksR0FBRTtTQUMxRSxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBeERELDRCQXdEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBQYXRoLCBub3JtYWxpemUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1xuICBSdWxlLFxuICBUcmVlLFxuICBhcHBseSxcbiAgYXBwbHlUZW1wbGF0ZXMsXG4gIGNoYWluLFxuICBmaWx0ZXIsXG4gIG1lcmdlV2l0aCxcbiAgbW92ZSxcbiAgbm9vcCxcbiAgc2NoZW1hdGljLFxuICBzdHJpbmdzLFxuICB1cmwsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IFNjaGVtYSBhcyBDb21wb25lbnRPcHRpb25zIH0gZnJvbSAnLi4vY29tcG9uZW50L3NjaGVtYSc7XG5pbXBvcnQgKiBhcyB0cyBmcm9tICcuLi90aGlyZF9wYXJ0eS9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L2xpYi90eXBlc2NyaXB0JztcbmltcG9ydCB7IGFkZEltcG9ydFRvTW9kdWxlLCBhZGRSb3V0ZURlY2xhcmF0aW9uVG9Nb2R1bGUgfSBmcm9tICcuLi91dGlsaXR5L2FzdC11dGlscyc7XG5pbXBvcnQgeyBJbnNlcnRDaGFuZ2UgfSBmcm9tICcuLi91dGlsaXR5L2NoYW5nZSc7XG5pbXBvcnQge1xuICBNT0RVTEVfRVhULFxuICBST1VUSU5HX01PRFVMRV9FWFQsXG4gIGJ1aWxkUmVsYXRpdmVQYXRoLFxuICBmaW5kTW9kdWxlRnJvbU9wdGlvbnMsXG59IGZyb20gJy4uL3V0aWxpdHkvZmluZC1tb2R1bGUnO1xuaW1wb3J0IHsgcGFyc2VOYW1lIH0gZnJvbSAnLi4vdXRpbGl0eS9wYXJzZS1uYW1lJztcbmltcG9ydCB7IHZhbGlkYXRlQ2xhc3NOYW1lIH0gZnJvbSAnLi4vdXRpbGl0eS92YWxpZGF0aW9uJztcbmltcG9ydCB7IGNyZWF0ZURlZmF1bHRQYXRoIH0gZnJvbSAnLi4vdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIE1vZHVsZU9wdGlvbnMsIFJvdXRpbmdTY29wZSB9IGZyb20gJy4vc2NoZW1hJztcblxuZnVuY3Rpb24gYnVpbGRSZWxhdGl2ZU1vZHVsZVBhdGgob3B0aW9uczogTW9kdWxlT3B0aW9ucywgbW9kdWxlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgaW1wb3J0TW9kdWxlUGF0aCA9IG5vcm1hbGl6ZShcbiAgICBgLyR7b3B0aW9ucy5wYXRofS9gICtcbiAgICAgIChvcHRpb25zLmZsYXQgPyAnJyA6IHN0cmluZ3MuZGFzaGVyaXplKG9wdGlvbnMubmFtZSkgKyAnLycpICtcbiAgICAgIHN0cmluZ3MuZGFzaGVyaXplKG9wdGlvbnMubmFtZSkgK1xuICAgICAgJy5tb2R1bGUnLFxuICApO1xuXG4gIHJldHVybiBidWlsZFJlbGF0aXZlUGF0aChtb2R1bGVQYXRoLCBpbXBvcnRNb2R1bGVQYXRoKTtcbn1cblxuZnVuY3Rpb24gYWRkSW1wb3J0VG9OZ01vZHVsZShvcHRpb25zOiBNb2R1bGVPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGlmICghb3B0aW9ucy5tb2R1bGUpIHtcbiAgICAgIHJldHVybiBob3N0O1xuICAgIH1cblxuICAgIGNvbnN0IG1vZHVsZVBhdGggPSBvcHRpb25zLm1vZHVsZTtcblxuICAgIGNvbnN0IHNvdXJjZVRleHQgPSBob3N0LnJlYWRUZXh0KG1vZHVsZVBhdGgpO1xuICAgIGNvbnN0IHNvdXJjZSA9IHRzLmNyZWF0ZVNvdXJjZUZpbGUobW9kdWxlUGF0aCwgc291cmNlVGV4dCwgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCwgdHJ1ZSk7XG5cbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSBidWlsZFJlbGF0aXZlTW9kdWxlUGF0aChvcHRpb25zLCBtb2R1bGVQYXRoKTtcbiAgICBjb25zdCBjaGFuZ2VzID0gYWRkSW1wb3J0VG9Nb2R1bGUoXG4gICAgICBzb3VyY2UsXG4gICAgICBtb2R1bGVQYXRoLFxuICAgICAgc3RyaW5ncy5jbGFzc2lmeShgJHtvcHRpb25zLm5hbWV9TW9kdWxlYCksXG4gICAgICByZWxhdGl2ZVBhdGgsXG4gICAgKTtcblxuICAgIGNvbnN0IHJlY29yZGVyID0gaG9zdC5iZWdpblVwZGF0ZShtb2R1bGVQYXRoKTtcbiAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgICBpZiAoY2hhbmdlIGluc3RhbmNlb2YgSW5zZXJ0Q2hhbmdlKSB7XG4gICAgICAgIHJlY29yZGVyLmluc2VydExlZnQoY2hhbmdlLnBvcywgY2hhbmdlLnRvQWRkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaG9zdC5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuXG4gICAgcmV0dXJuIGhvc3Q7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZFJvdXRlRGVjbGFyYXRpb25Ub05nTW9kdWxlKFxuICBvcHRpb25zOiBNb2R1bGVPcHRpb25zLFxuICByb3V0aW5nTW9kdWxlUGF0aDogUGF0aCB8IHVuZGVmaW5lZCxcbik6IFJ1bGUge1xuICByZXR1cm4gKGhvc3Q6IFRyZWUpID0+IHtcbiAgICBpZiAoIW9wdGlvbnMucm91dGUpIHtcbiAgICAgIHJldHVybiBob3N0O1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMubW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBvcHRpb24gcmVxdWlyZWQgd2hlbiBjcmVhdGluZyBhIGxhenkgbG9hZGVkIHJvdXRpbmcgbW9kdWxlLicpO1xuICAgIH1cblxuICAgIGxldCBwYXRoOiBzdHJpbmc7XG4gICAgaWYgKHJvdXRpbmdNb2R1bGVQYXRoKSB7XG4gICAgICBwYXRoID0gcm91dGluZ01vZHVsZVBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhdGggPSBvcHRpb25zLm1vZHVsZTtcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VUZXh0ID0gaG9zdC5yZWFkVGV4dChwYXRoKTtcblxuICAgIGNvbnN0IGFkZERlY2xhcmF0aW9uID0gYWRkUm91dGVEZWNsYXJhdGlvblRvTW9kdWxlKFxuICAgICAgdHMuY3JlYXRlU291cmNlRmlsZShwYXRoLCBzb3VyY2VUZXh0LCB0cy5TY3JpcHRUYXJnZXQuTGF0ZXN0LCB0cnVlKSxcbiAgICAgIHBhdGgsXG4gICAgICBidWlsZFJvdXRlKG9wdGlvbnMsIG9wdGlvbnMubW9kdWxlKSxcbiAgICApIGFzIEluc2VydENoYW5nZTtcblxuICAgIGNvbnN0IHJlY29yZGVyID0gaG9zdC5iZWdpblVwZGF0ZShwYXRoKTtcbiAgICByZWNvcmRlci5pbnNlcnRMZWZ0KGFkZERlY2xhcmF0aW9uLnBvcywgYWRkRGVjbGFyYXRpb24udG9BZGQpO1xuICAgIGhvc3QuY29tbWl0VXBkYXRlKHJlY29yZGVyKTtcblxuICAgIHJldHVybiBob3N0O1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRSb3V0aW5nTW9kdWxlUGF0aChob3N0OiBUcmVlLCBtb2R1bGVQYXRoOiBzdHJpbmcpOiBQYXRoIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgcm91dGluZ01vZHVsZVBhdGggPSBtb2R1bGVQYXRoLmVuZHNXaXRoKFJPVVRJTkdfTU9EVUxFX0VYVClcbiAgICA/IG1vZHVsZVBhdGhcbiAgICA6IG1vZHVsZVBhdGgucmVwbGFjZShNT0RVTEVfRVhULCBST1VUSU5HX01PRFVMRV9FWFQpO1xuXG4gIHJldHVybiBob3N0LmV4aXN0cyhyb3V0aW5nTW9kdWxlUGF0aCkgPyBub3JtYWxpemUocm91dGluZ01vZHVsZVBhdGgpIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBidWlsZFJvdXRlKG9wdGlvbnM6IE1vZHVsZU9wdGlvbnMsIG1vZHVsZVBhdGg6IHN0cmluZykge1xuICBjb25zdCByZWxhdGl2ZU1vZHVsZVBhdGggPSBidWlsZFJlbGF0aXZlTW9kdWxlUGF0aChvcHRpb25zLCBtb2R1bGVQYXRoKTtcbiAgY29uc3QgbW9kdWxlTmFtZSA9IGAke3N0cmluZ3MuY2xhc3NpZnkob3B0aW9ucy5uYW1lKX1Nb2R1bGVgO1xuICBjb25zdCBsb2FkQ2hpbGRyZW4gPSBgKCkgPT4gaW1wb3J0KCcke3JlbGF0aXZlTW9kdWxlUGF0aH0nKS50aGVuKG0gPT4gbS4ke21vZHVsZU5hbWV9KWA7XG5cbiAgcmV0dXJuIGB7IHBhdGg6ICcke29wdGlvbnMucm91dGV9JywgbG9hZENoaWxkcmVuOiAke2xvYWRDaGlsZHJlbn0gfWA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBNb2R1bGVPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGlmIChvcHRpb25zLnBhdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3B0aW9ucy5wYXRoID0gYXdhaXQgY3JlYXRlRGVmYXVsdFBhdGgoaG9zdCwgb3B0aW9ucy5wcm9qZWN0IGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubW9kdWxlKSB7XG4gICAgICBvcHRpb25zLm1vZHVsZSA9IGZpbmRNb2R1bGVGcm9tT3B0aW9ucyhob3N0LCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBsZXQgcm91dGluZ01vZHVsZVBhdGg6IFBhdGggfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgaXNMYXp5TG9hZGVkTW9kdWxlR2VuID0gISEob3B0aW9ucy5yb3V0ZSAmJiBvcHRpb25zLm1vZHVsZSk7XG4gICAgaWYgKGlzTGF6eUxvYWRlZE1vZHVsZUdlbikge1xuICAgICAgb3B0aW9ucy5yb3V0aW5nU2NvcGUgPSBSb3V0aW5nU2NvcGUuQ2hpbGQ7XG4gICAgICByb3V0aW5nTW9kdWxlUGF0aCA9IGdldFJvdXRpbmdNb2R1bGVQYXRoKGhvc3QsIG9wdGlvbnMubW9kdWxlIGFzIHN0cmluZyk7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkUGF0aCA9IHBhcnNlTmFtZShvcHRpb25zLnBhdGgsIG9wdGlvbnMubmFtZSk7XG4gICAgb3B0aW9ucy5uYW1lID0gcGFyc2VkUGF0aC5uYW1lO1xuICAgIG9wdGlvbnMucGF0aCA9IHBhcnNlZFBhdGgucGF0aDtcbiAgICB2YWxpZGF0ZUNsYXNzTmFtZShzdHJpbmdzLmNsYXNzaWZ5KG9wdGlvbnMubmFtZSkpO1xuXG4gICAgY29uc3QgdGVtcGxhdGVTb3VyY2UgPSBhcHBseSh1cmwoJy4vZmlsZXMnKSwgW1xuICAgICAgb3B0aW9ucy5yb3V0aW5nIHx8IChpc0xhenlMb2FkZWRNb2R1bGVHZW4gJiYgcm91dGluZ01vZHVsZVBhdGgpXG4gICAgICAgID8gbm9vcCgpXG4gICAgICAgIDogZmlsdGVyKChwYXRoKSA9PiAhcGF0aC5lbmRzV2l0aCgnLXJvdXRpbmcubW9kdWxlLnRzLnRlbXBsYXRlJykpLFxuICAgICAgYXBwbHlUZW1wbGF0ZXMoe1xuICAgICAgICAuLi5zdHJpbmdzLFxuICAgICAgICAnaWYtZmxhdCc6IChzOiBzdHJpbmcpID0+IChvcHRpb25zLmZsYXQgPyAnJyA6IHMpLFxuICAgICAgICBsYXp5Um91dGU6IGlzTGF6eUxvYWRlZE1vZHVsZUdlbixcbiAgICAgICAgbGF6eVJvdXRlV2l0aG91dFJvdXRlTW9kdWxlOiBpc0xhenlMb2FkZWRNb2R1bGVHZW4gJiYgIXJvdXRpbmdNb2R1bGVQYXRoLFxuICAgICAgICBsYXp5Um91dGVXaXRoUm91dGVNb2R1bGU6IGlzTGF6eUxvYWRlZE1vZHVsZUdlbiAmJiAhIXJvdXRpbmdNb2R1bGVQYXRoLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfSksXG4gICAgICBtb3ZlKHBhcnNlZFBhdGgucGF0aCksXG4gICAgXSk7XG4gICAgY29uc3QgbW9kdWxlRGFzaGVyaXplZCA9IHN0cmluZ3MuZGFzaGVyaXplKG9wdGlvbnMubmFtZSk7XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IGAke1xuICAgICAgIW9wdGlvbnMuZmxhdCA/IG1vZHVsZURhc2hlcml6ZWQgKyAnLycgOiAnJ1xuICAgIH0ke21vZHVsZURhc2hlcml6ZWR9Lm1vZHVsZS50c2A7XG5cbiAgICBjb25zdCBjb21wb25lbnRPcHRpb25zOiBDb21wb25lbnRPcHRpb25zID0ge1xuICAgICAgbW9kdWxlOiBtb2R1bGVQYXRoLFxuICAgICAgZmxhdDogb3B0aW9ucy5mbGF0LFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgcGF0aDogb3B0aW9ucy5wYXRoLFxuICAgICAgcHJvamVjdDogb3B0aW9ucy5wcm9qZWN0LFxuICAgIH07XG5cbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgIWlzTGF6eUxvYWRlZE1vZHVsZUdlbiA/IGFkZEltcG9ydFRvTmdNb2R1bGUob3B0aW9ucykgOiBub29wKCksXG4gICAgICBhZGRSb3V0ZURlY2xhcmF0aW9uVG9OZ01vZHVsZShvcHRpb25zLCByb3V0aW5nTW9kdWxlUGF0aCksXG4gICAgICBtZXJnZVdpdGgodGVtcGxhdGVTb3VyY2UpLFxuICAgICAgaXNMYXp5TG9hZGVkTW9kdWxlR2VuID8gc2NoZW1hdGljKCdjb21wb25lbnQnLCBjb21wb25lbnRPcHRpb25zKSA6IG5vb3AoKSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic NgModule definition in the given or default project. | ||
* Creates a new, generic NgModule definition in the given project. | ||
*/ | ||
@@ -28,3 +28,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -31,0 +31,0 @@ * The route path for a lazy-loaded module. When supplied, creates a component in the new |
@@ -13,2 +13,3 @@ "use strict"; | ||
RoutingScope["Root"] = "Root"; | ||
})(RoutingScope = exports.RoutingScope || (exports.RoutingScope = {})); | ||
})(RoutingScope || (exports.RoutingScope = RoutingScope = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL21vZHVsZS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0Y7OztBQThDcEY7O0dBRUc7QUFDSCxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFlBQVksNEJBQVosWUFBWSxRQUd2QiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcsIGdlbmVyaWMgTmdNb2R1bGUgZGVmaW5pdGlvbiBpbiB0aGUgZ2l2ZW4gcHJvamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIFRoZSBuZXcgTmdNb2R1bGUgaW1wb3J0cyBcIkNvbW1vbk1vZHVsZVwiLlxuICAgICAqL1xuICAgIGNvbW1vbk1vZHVsZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHRoZSBuZXcgZmlsZXMgYXQgdGhlIHRvcCBsZXZlbCBvZiB0aGUgY3VycmVudCBwcm9qZWN0IHJvb3QuXG4gICAgICovXG4gICAgZmxhdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIGRlY2xhcmluZyBOZ01vZHVsZS5cbiAgICAgKi9cbiAgICBtb2R1bGU/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIE5nTW9kdWxlLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIE5nTW9kdWxlLCByZWxhdGl2ZSB0byB0aGUgd29ya3NwYWNlIHJvb3QuXG4gICAgICovXG4gICAgcGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHJvdXRlIHBhdGggZm9yIGEgbGF6eS1sb2FkZWQgbW9kdWxlLiBXaGVuIHN1cHBsaWVkLCBjcmVhdGVzIGEgY29tcG9uZW50IGluIHRoZSBuZXdcbiAgICAgKiBtb2R1bGUsIGFuZCBhZGRzIHRoZSByb3V0ZSB0byB0aGF0IGNvbXBvbmVudCBpbiB0aGUgYFJvdXRlc2AgYXJyYXkgZGVjbGFyZWQgaW4gdGhlIG1vZHVsZVxuICAgICAqIHByb3ZpZGVkIGluIHRoZSBgLS1tb2R1bGVgIG9wdGlvbi5cbiAgICAgKi9cbiAgICByb3V0ZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSByb3V0aW5nIG1vZHVsZS5cbiAgICAgKi9cbiAgICByb3V0aW5nPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc2NvcGUgZm9yIHRoZSBuZXcgcm91dGluZyBtb2R1bGUuXG4gICAgICovXG4gICAgcm91dGluZ1Njb3BlPzogUm91dGluZ1Njb3BlO1xufVxuXG4vKipcbiAqIFRoZSBzY29wZSBmb3IgdGhlIG5ldyByb3V0aW5nIG1vZHVsZS5cbiAqL1xuZXhwb3J0IGVudW0gUm91dGluZ1Njb3BlIHtcbiAgICBDaGlsZCA9IFwiQ2hpbGRcIixcbiAgICBSb290ID0gXCJSb290XCIsXG59XG4iXX0= |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Creates a new, generic NgModule definition in the given or default project.", | ||
"description": "Creates a new, generic NgModule definition in the given project.", | ||
"properties": { | ||
@@ -39,3 +39,3 @@ "name": { | ||
"default": false, | ||
"x-user-analytics": 17 | ||
"x-user-analytics": "ep.ng_routing" | ||
}, | ||
@@ -69,3 +69,3 @@ "routingScope": { | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -40,2 +40,3 @@ "use strict"; | ||
minimal: options.minimal, | ||
standalone: options.standalone, | ||
}; | ||
@@ -67,1 +68,2 @@ return (0, schematics_1.chain)([ | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvbmctbmV3L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBV29DO0FBQ3BDLDREQUkwQztBQUsxQyxtQkFBeUIsT0FBcUI7SUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDdEIsdUVBQXVFO1FBQ3ZFLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3pGO0lBRUQsTUFBTSxnQkFBZ0IsR0FBcUI7UUFDekMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7UUFDdEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7S0FDdkMsQ0FBQztJQUNGLE1BQU0sa0JBQWtCLEdBQXVCO1FBQzdDLFdBQVcsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztRQUNoQyxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7UUFDdEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3RCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7UUFDNUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztRQUNwQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7UUFDNUIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsNkRBQTZEO1FBQzdELFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO0tBQy9CLENBQUM7SUFFRixPQUFPLElBQUEsa0JBQUssRUFBQztRQUNYLElBQUEsc0JBQVMsRUFDUCxJQUFBLGtCQUFLLEVBQUMsSUFBQSxrQkFBSyxHQUFFLEVBQUU7WUFDYixJQUFBLHNCQUFTLEVBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBQSxzQkFBUyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBSTtZQUMvRSxJQUFBLGlCQUFJLEVBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztTQUN4QixDQUFDLENBQ0g7UUFDRCxDQUFDLEtBQVcsRUFBRSxPQUF5QixFQUFFLEVBQUU7WUFDekMsSUFBSSxXQUFXLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3hCLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUMzQixJQUFJLDhCQUFzQixDQUFDO29CQUN6QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDbkMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO2lCQUN2QyxDQUFDLENBQ0gsQ0FBQztnQkFDRixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7b0JBQ25CLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUMzQixJQUFJLDJCQUFtQixDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQzFELENBQUMsV0FBVyxDQUFDLENBQ2QsQ0FBQztpQkFDSDthQUNGO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLE1BQU0sTUFBTSxHQUNWLE9BQU8sT0FBTyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUVuRixPQUFPLENBQUMsT0FBTyxDQUNiLElBQUksaUNBQXlCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFDeEQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2pDLENBQUM7YUFDSDtRQUNILENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBbkVELDRCQW1FQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBSdWxlLFxuICBTY2hlbWF0aWNDb250ZXh0LFxuICBUcmVlLFxuICBhcHBseSxcbiAgY2hhaW4sXG4gIGVtcHR5LFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIG5vb3AsXG4gIHNjaGVtYXRpYyxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtcbiAgTm9kZVBhY2thZ2VJbnN0YWxsVGFzayxcbiAgTm9kZVBhY2thZ2VMaW5rVGFzayxcbiAgUmVwb3NpdG9yeUluaXRpYWxpemVyVGFzayxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MvdGFza3MnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIEFwcGxpY2F0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2FwcGxpY2F0aW9uL3NjaGVtYSc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgV29ya3NwYWNlT3B0aW9ucyB9IGZyb20gJy4uL3dvcmtzcGFjZS9zY2hlbWEnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIE5nTmV3T3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKG9wdGlvbnM6IE5nTmV3T3B0aW9ucyk6IFJ1bGUge1xuICBpZiAoIW9wdGlvbnMuZGlyZWN0b3J5KSB7XG4gICAgLy8gSWYgc2NvcGVkIHByb2plY3QgKGkuZS4gXCJAZm9vL2JhclwiKSwgY29udmVydCBkaXJlY3RvcnkgdG8gXCJmb28vYmFyXCIuXG4gICAgb3B0aW9ucy5kaXJlY3RvcnkgPSBvcHRpb25zLm5hbWUuc3RhcnRzV2l0aCgnQCcpID8gb3B0aW9ucy5uYW1lLnNsaWNlKDEpIDogb3B0aW9ucy5uYW1lO1xuICB9XG5cbiAgY29uc3Qgd29ya3NwYWNlT3B0aW9uczogV29ya3NwYWNlT3B0aW9ucyA9IHtcbiAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uLFxuICAgIG5ld1Byb2plY3RSb290OiBvcHRpb25zLm5ld1Byb2plY3RSb290LFxuICAgIG1pbmltYWw6IG9wdGlvbnMubWluaW1hbCxcbiAgICBzdHJpY3Q6IG9wdGlvbnMuc3RyaWN0LFxuICAgIHBhY2thZ2VNYW5hZ2VyOiBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyLFxuICB9O1xuICBjb25zdCBhcHBsaWNhdGlvbk9wdGlvbnM6IEFwcGxpY2F0aW9uT3B0aW9ucyA9IHtcbiAgICBwcm9qZWN0Um9vdDogJycsXG4gICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgIGlubGluZVN0eWxlOiBvcHRpb25zLmlubGluZVN0eWxlLFxuICAgIGlubGluZVRlbXBsYXRlOiBvcHRpb25zLmlubGluZVRlbXBsYXRlLFxuICAgIHByZWZpeDogb3B0aW9ucy5wcmVmaXgsXG4gICAgdmlld0VuY2Fwc3VsYXRpb246IG9wdGlvbnMudmlld0VuY2Fwc3VsYXRpb24sXG4gICAgcm91dGluZzogb3B0aW9ucy5yb3V0aW5nLFxuICAgIHN0eWxlOiBvcHRpb25zLnN0eWxlLFxuICAgIHNraXBUZXN0czogb3B0aW9ucy5za2lwVGVzdHMsXG4gICAgc2tpcFBhY2thZ2VKc29uOiBmYWxzZSxcbiAgICAvLyBhbHdheXMgJ3NraXBJbnN0YWxsJyBoZXJlLCBzbyB0aGF0IHdlIGRvIGl0IGFmdGVyIHRoZSBtb3ZlXG4gICAgc2tpcEluc3RhbGw6IHRydWUsXG4gICAgc3RyaWN0OiBvcHRpb25zLnN0cmljdCxcbiAgICBtaW5pbWFsOiBvcHRpb25zLm1pbmltYWwsXG4gICAgc3RhbmRhbG9uZTogb3B0aW9ucy5zdGFuZGFsb25lLFxuICB9O1xuXG4gIHJldHVybiBjaGFpbihbXG4gICAgbWVyZ2VXaXRoKFxuICAgICAgYXBwbHkoZW1wdHkoKSwgW1xuICAgICAgICBzY2hlbWF0aWMoJ3dvcmtzcGFjZScsIHdvcmtzcGFjZU9wdGlvbnMpLFxuICAgICAgICBvcHRpb25zLmNyZWF0ZUFwcGxpY2F0aW9uID8gc2NoZW1hdGljKCdhcHBsaWNhdGlvbicsIGFwcGxpY2F0aW9uT3B0aW9ucykgOiBub29wLFxuICAgICAgICBtb3ZlKG9wdGlvbnMuZGlyZWN0b3J5KSxcbiAgICAgIF0pLFxuICAgICksXG4gICAgKF9ob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgICBsZXQgcGFja2FnZVRhc2s7XG4gICAgICBpZiAoIW9wdGlvbnMuc2tpcEluc3RhbGwpIHtcbiAgICAgICAgcGFja2FnZVRhc2sgPSBjb250ZXh0LmFkZFRhc2soXG4gICAgICAgICAgbmV3IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2soe1xuICAgICAgICAgICAgd29ya2luZ0RpcmVjdG9yeTogb3B0aW9ucy5kaXJlY3RvcnksXG4gICAgICAgICAgICBwYWNrYWdlTWFuYWdlcjogb3B0aW9ucy5wYWNrYWdlTWFuYWdlcixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG9wdGlvbnMubGlua0NsaSkge1xuICAgICAgICAgIHBhY2thZ2VUYXNrID0gY29udGV4dC5hZGRUYXNrKFxuICAgICAgICAgICAgbmV3IE5vZGVQYWNrYWdlTGlua1Rhc2soJ0Bhbmd1bGFyL2NsaScsIG9wdGlvbnMuZGlyZWN0b3J5KSxcbiAgICAgICAgICAgIFtwYWNrYWdlVGFza10sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFvcHRpb25zLnNraXBHaXQpIHtcbiAgICAgICAgY29uc3QgY29tbWl0ID1cbiAgICAgICAgICB0eXBlb2Ygb3B0aW9ucy5jb21taXQgPT0gJ29iamVjdCcgPyBvcHRpb25zLmNvbW1pdCA6IG9wdGlvbnMuY29tbWl0ID8ge30gOiBmYWxzZTtcblxuICAgICAgICBjb250ZXh0LmFkZFRhc2soXG4gICAgICAgICAgbmV3IFJlcG9zaXRvcnlJbml0aWFsaXplclRhc2sob3B0aW9ucy5kaXJlY3RvcnksIGNvbW1pdCksXG4gICAgICAgICAgcGFja2FnZVRhc2sgPyBbcGFja2FnZVRhc2tdIDogW10sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcbiAgXSk7XG59XG4iXX0= |
@@ -70,2 +70,6 @@ /** | ||
/** | ||
* Creates an application based upon the standalone API, without NgModules. | ||
*/ | ||
standalone?: boolean; | ||
/** | ||
* Creates a workspace with stricter type checking and stricter bundle budgets settings. | ||
@@ -92,3 +96,3 @@ * This setting helps improve maintainability and catch bugs ahead of time. For more | ||
*/ | ||
export declare type CommitUnion = boolean | CommitObject; | ||
export type CommitUnion = boolean | CommitObject; | ||
export interface CommitObject { | ||
@@ -98,2 +102,3 @@ email: string; | ||
name: string; | ||
[property: string]: any; | ||
} | ||
@@ -100,0 +105,0 @@ /** |
@@ -15,3 +15,3 @@ "use strict"; | ||
PackageManager["Yarn"] = "yarn"; | ||
})(PackageManager = exports.PackageManager || (exports.PackageManager = {})); | ||
})(PackageManager || (exports.PackageManager = PackageManager = {})); | ||
/** | ||
@@ -26,3 +26,3 @@ * The file extension or preprocessor to use for style files. | ||
Style["Scss"] = "scss"; | ||
})(Style = exports.Style || (exports.Style = {})); | ||
})(Style || (exports.Style = Style = {})); | ||
/** | ||
@@ -36,2 +36,3 @@ * The view encapsulation strategy to use in the initial project. | ||
ViewEncapsulation["ShadowDom"] = "ShadowDom"; | ||
})(ViewEncapsulation = exports.ViewEncapsulation || (exports.ViewEncapsulation = {})); | ||
})(ViewEncapsulation || (exports.ViewEncapsulation = ViewEncapsulation = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL25nLW5ldy9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0Y7OztBQTBHcEY7O0dBRUc7QUFDSCxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDdEIsK0JBQWEsQ0FBQTtJQUNiLDZCQUFXLENBQUE7SUFDWCwrQkFBYSxDQUFBO0lBQ2IsK0JBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsY0FBYyw4QkFBZCxjQUFjLFFBS3pCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLEtBS1g7QUFMRCxXQUFZLEtBQUs7SUFDYixvQkFBVyxDQUFBO0lBQ1gsc0JBQWEsQ0FBQTtJQUNiLHNCQUFhLENBQUE7SUFDYixzQkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxLQUFLLHFCQUFMLEtBQUssUUFLaEI7QUFFRDs7R0FFRztBQUNILElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUN6QiwwQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBYSxDQUFBO0lBQ2IsNENBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBwcm9qZWN0IGJ5IGNvbWJpbmluZyB0aGUgd29ya3NwYWNlIGFuZCBhcHBsaWNhdGlvbiBzY2hlbWF0aWNzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogSW5pdGlhbCBnaXQgcmVwb3NpdG9yeSBjb21taXQgaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgY29tbWl0PzogQ29tbWl0VW5pb247XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbmV3IGluaXRpYWwgYXBwbGljYXRpb24gcHJvamVjdCBpbiB0aGUgJ3NyYycgZm9sZGVyIG9mIHRoZSBuZXcgd29ya3NwYWNlLiBXaGVuXG4gICAgICogZmFsc2UsIGNyZWF0ZXMgYW4gZW1wdHkgd29ya3NwYWNlIHdpdGggbm8gaW5pdGlhbCBhcHBsaWNhdGlvbi4gWW91IGNhbiB0aGVuIHVzZSB0aGVcbiAgICAgKiBnZW5lcmF0ZSBhcHBsaWNhdGlvbiBjb21tYW5kIHNvIHRoYXQgYWxsIGFwcGxpY2F0aW9ucyBhcmUgY3JlYXRlZCBpbiB0aGUgcHJvamVjdHMgZm9sZGVyLlxuICAgICAqL1xuICAgIGNyZWF0ZUFwcGxpY2F0aW9uPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZGlyZWN0b3J5IG5hbWUgdG8gY3JlYXRlIHRoZSB3b3Jrc3BhY2UgaW4uXG4gICAgICovXG4gICAgZGlyZWN0b3J5Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEluY2x1ZGUgc3R5bGVzIGlubGluZSBpbiB0aGUgY29tcG9uZW50IFRTIGZpbGUuIEJ5IGRlZmF1bHQsIGFuIGV4dGVybmFsIHN0eWxlcyBmaWxlIGlzXG4gICAgICogY3JlYXRlZCBhbmQgcmVmZXJlbmNlZCBpbiB0aGUgY29tcG9uZW50IFR5cGVTY3JpcHQgZmlsZS5cbiAgICAgKi9cbiAgICBpbmxpbmVTdHlsZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogSW5jbHVkZSB0ZW1wbGF0ZSBpbmxpbmUgaW4gdGhlIGNvbXBvbmVudCBUUyBmaWxlLiBCeSBkZWZhdWx0LCBhbiBleHRlcm5hbCB0ZW1wbGF0ZSBmaWxlXG4gICAgICogaXMgY3JlYXRlZCBhbmQgcmVmZXJlbmNlZCBpbiB0aGUgY29tcG9uZW50IFR5cGVTY3JpcHQgZmlsZS5cbiAgICAgKi9cbiAgICBpbmxpbmVUZW1wbGF0ZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogTGluayB0aGUgQ0xJIHRvIHRoZSBnbG9iYWwgdmVyc2lvbiAoaW50ZXJuYWwgZGV2ZWxvcG1lbnQgb25seSkuXG4gICAgICovXG4gICAgbGlua0NsaT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgd29ya3NwYWNlIHdpdGhvdXQgYW55IHRlc3RpbmcgZnJhbWV3b3Jrcy4gKFVzZSBmb3IgbGVhcm5pbmcgcHVycG9zZXMgb25seS4pXG4gICAgICovXG4gICAgbWluaW1hbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIG5ldyB3b3Jrc3BhY2UgYW5kIGluaXRpYWwgcHJvamVjdC5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggd2hlcmUgbmV3IHByb2plY3RzIHdpbGwgYmUgY3JlYXRlZCwgcmVsYXRpdmUgdG8gdGhlIG5ldyB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBuZXdQcm9qZWN0Um9vdD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHVzZWQgdG8gaW5zdGFsbCBkZXBlbmRlbmNpZXMuXG4gICAgICovXG4gICAgcGFja2FnZU1hbmFnZXI/OiBQYWNrYWdlTWFuYWdlcjtcbiAgICAvKipcbiAgICAgKiBUaGUgcHJlZml4IHRvIGFwcGx5IHRvIGdlbmVyYXRlZCBzZWxlY3RvcnMgZm9yIHRoZSBpbml0aWFsIHByb2plY3QuXG4gICAgICovXG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlIGEgcm91dGluZyBtb2R1bGUgZm9yIHRoZSBpbml0aWFsIHByb2plY3QuXG4gICAgICovXG4gICAgcm91dGluZz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRG8gbm90IGluaXRpYWxpemUgYSBnaXQgcmVwb3NpdG9yeS5cbiAgICAgKi9cbiAgICBza2lwR2l0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgaW5zdGFsbCBkZXBlbmRlbmN5IHBhY2thZ2VzLlxuICAgICAqL1xuICAgIHNraXBJbnN0YWxsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEbyBub3QgZ2VuZXJhdGUgXCJzcGVjLnRzXCIgdGVzdCBmaWxlcyBmb3IgdGhlIG5ldyBwcm9qZWN0LlxuICAgICAqL1xuICAgIHNraXBUZXN0cz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcHBsaWNhdGlvbiBiYXNlZCB1cG9uIHRoZSBzdGFuZGFsb25lIEFQSSwgd2l0aG91dCBOZ01vZHVsZXMuXG4gICAgICovXG4gICAgc3RhbmRhbG9uZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHdvcmtzcGFjZSB3aXRoIHN0cmljdGVyIHR5cGUgY2hlY2tpbmcgYW5kIHN0cmljdGVyIGJ1bmRsZSBidWRnZXRzIHNldHRpbmdzLlxuICAgICAqIFRoaXMgc2V0dGluZyBoZWxwcyBpbXByb3ZlIG1haW50YWluYWJpbGl0eSBhbmQgY2F0Y2ggYnVncyBhaGVhZCBvZiB0aW1lLiBGb3IgbW9yZVxuICAgICAqIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL3N0cmljdC1tb2RlXG4gICAgICovXG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZmlsZSBleHRlbnNpb24gb3IgcHJlcHJvY2Vzc29yIHRvIHVzZSBmb3Igc3R5bGUgZmlsZXMuXG4gICAgICovXG4gICAgc3R5bGU/OiBTdHlsZTtcbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBDTEkgdG8gdXNlLlxuICAgICAqL1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgaW5pdGlhbCBwcm9qZWN0LlxuICAgICAqL1xuICAgIHZpZXdFbmNhcHN1bGF0aW9uPzogVmlld0VuY2Fwc3VsYXRpb247XG59XG5cbi8qKlxuICogSW5pdGlhbCBnaXQgcmVwb3NpdG9yeSBjb21taXQgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIENvbW1pdFVuaW9uID0gYm9vbGVhbiB8IENvbW1pdE9iamVjdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb21taXRPYmplY3Qge1xuICAgIGVtYWlsOiAgICBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBuYW1lOiAgICAgc3RyaW5nO1xuICAgIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xufVxuXG4vKipcbiAqIFRoZSBwYWNrYWdlIG1hbmFnZXIgdXNlZCB0byBpbnN0YWxsIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGVudW0gUGFja2FnZU1hbmFnZXIge1xuICAgIENucG0gPSBcImNucG1cIixcbiAgICBOcG0gPSBcIm5wbVwiLFxuICAgIFBucG0gPSBcInBucG1cIixcbiAgICBZYXJuID0gXCJ5YXJuXCIsXG59XG5cbi8qKlxuICogVGhlIGZpbGUgZXh0ZW5zaW9uIG9yIHByZXByb2Nlc3NvciB0byB1c2UgZm9yIHN0eWxlIGZpbGVzLlxuICovXG5leHBvcnQgZW51bSBTdHlsZSB7XG4gICAgQ3NzID0gXCJjc3NcIixcbiAgICBMZXNzID0gXCJsZXNzXCIsXG4gICAgU2FzcyA9IFwic2Fzc1wiLFxuICAgIFNjc3MgPSBcInNjc3NcIixcbn1cblxuLyoqXG4gKiBUaGUgdmlldyBlbmNhcHN1bGF0aW9uIHN0cmF0ZWd5IHRvIHVzZSBpbiB0aGUgaW5pdGlhbCBwcm9qZWN0LlxuICovXG5leHBvcnQgZW51bSBWaWV3RW5jYXBzdWxhdGlvbiB7XG4gICAgRW11bGF0ZWQgPSBcIkVtdWxhdGVkXCIsXG4gICAgTm9uZSA9IFwiTm9uZVwiLFxuICAgIFNoYWRvd0RvbSA9IFwiU2hhZG93RG9tXCIsXG59XG4iXX0= |
@@ -71,3 +71,3 @@ { | ||
"alias": "s", | ||
"x-user-analytics": 9 | ||
"x-user-analytics": "ep.ng_inline_style" | ||
}, | ||
@@ -78,3 +78,3 @@ "inlineTemplate": { | ||
"alias": "t", | ||
"x-user-analytics": 10 | ||
"x-user-analytics": "ep.ng_inline_template" | ||
}, | ||
@@ -84,4 +84,3 @@ "viewEncapsulation": { | ||
"enum": ["Emulated", "None", "ShadowDom"], | ||
"type": "string", | ||
"x-user-analytics": 11 | ||
"type": "string" | ||
}, | ||
@@ -99,3 +98,3 @@ "version": { | ||
"description": "Generate a routing module for the initial project.", | ||
"x-user-analytics": 17 | ||
"x-user-analytics": "ep.ng_routing" | ||
}, | ||
@@ -114,3 +113,3 @@ "prefix": { | ||
"enum": ["css", "scss", "sass", "less"], | ||
"x-user-analytics": 5 | ||
"x-user-analytics": "ep.ng_style" | ||
}, | ||
@@ -121,4 +120,3 @@ "skipTests": { | ||
"default": false, | ||
"alias": "S", | ||
"x-user-analytics": 12 | ||
"alias": "S" | ||
}, | ||
@@ -133,4 +131,3 @@ "createApplication": { | ||
"type": "boolean", | ||
"default": false, | ||
"x-user-analytics": 14 | ||
"default": false | ||
}, | ||
@@ -140,4 +137,3 @@ "strict": { | ||
"type": "boolean", | ||
"default": true, | ||
"x-user-analytics": 7 | ||
"default": true | ||
}, | ||
@@ -148,2 +144,8 @@ "packageManager": { | ||
"enum": ["npm", "yarn", "pnpm", "cnpm"] | ||
}, | ||
"standalone": { | ||
"description": "Creates an application based upon the standalone API, without NgModules.", | ||
"type": "boolean", | ||
"default": false, | ||
"x-user-analytics": "ep.ng_standalone" | ||
} | ||
@@ -150,0 +152,0 @@ }, |
{ | ||
"name": "@schematics/angular", | ||
"version": "14.1.1", | ||
"version": "16.2.10", | ||
"description": "Schematics specific to Angular", | ||
"homepage": "https://github.com/angular/angular-cli", | ||
"keywords": [ | ||
"angular", | ||
"Angular CLI", | ||
"devkit", | ||
"sdk", | ||
"Angular DevKit", | ||
"angular", | ||
"blueprints", | ||
"code generation", | ||
"schematics" | ||
"devkit", | ||
"schematics", | ||
"sdk" | ||
], | ||
@@ -26,5 +26,5 @@ "exports": { | ||
"dependencies": { | ||
"@angular-devkit/core": "14.1.1", | ||
"@angular-devkit/schematics": "14.1.1", | ||
"jsonc-parser": "3.1.0" | ||
"@angular-devkit/core": "16.2.10", | ||
"@angular-devkit/schematics": "16.2.10", | ||
"jsonc-parser": "3.2.0" | ||
}, | ||
@@ -36,3 +36,3 @@ "repository": { | ||
"engines": { | ||
"node": "^14.15.0 || >=16.10.0", | ||
"node": "^16.14.0 || >=18.10.0", | ||
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0", | ||
@@ -39,0 +39,0 @@ "yarn": ">= 1.13.0" |
@@ -9,30 +9,5 @@ "use strict"; | ||
*/ | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const schematics_1 = require("@angular-devkit/schematics"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
const ast_utils_1 = require("../utility/ast-utils"); | ||
const change_1 = require("../utility/change"); | ||
const add_declaration_to_ng_module_1 = require("../utility/add-declaration-to-ng-module"); | ||
const find_module_1 = require("../utility/find-module"); | ||
@@ -42,42 +17,5 @@ const parse_name_1 = require("../utility/parse-name"); | ||
const workspace_1 = require("../utility/workspace"); | ||
function addDeclarationToNgModule(options) { | ||
return (host) => { | ||
if (options.skipImport || options.standalone || !options.module) { | ||
return host; | ||
} | ||
const modulePath = options.module; | ||
const sourceText = host.readText(modulePath); | ||
const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); | ||
const pipePath = `/${options.path}/` + | ||
(options.flat ? '' : schematics_1.strings.dasherize(options.name) + '/') + | ||
schematics_1.strings.dasherize(options.name) + | ||
'.pipe'; | ||
const relativePath = (0, find_module_1.buildRelativePath)(modulePath, pipePath); | ||
const changes = (0, ast_utils_1.addDeclarationToModule)(source, modulePath, schematics_1.strings.classify(`${options.name}Pipe`), relativePath); | ||
const recorder = host.beginUpdate(modulePath); | ||
for (const change of changes) { | ||
if (change instanceof change_1.InsertChange) { | ||
recorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
} | ||
host.commitUpdate(recorder); | ||
if (options.export) { | ||
const sourceText = host.readText(modulePath); | ||
const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true); | ||
const exportRecorder = host.beginUpdate(modulePath); | ||
const exportChanges = (0, ast_utils_1.addExportToModule)(source, modulePath, schematics_1.strings.classify(`${options.name}Pipe`), relativePath); | ||
for (const change of exportChanges) { | ||
if (change instanceof change_1.InsertChange) { | ||
exportRecorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
} | ||
host.commitUpdate(exportRecorder); | ||
} | ||
return host; | ||
}; | ||
} | ||
function default_1(options) { | ||
return async (host) => { | ||
var _a; | ||
(_a = options.path) !== null && _a !== void 0 ? _a : (options.path = await (0, workspace_1.createDefaultPath)(host, options.project)); | ||
options.path ?? (options.path = await (0, workspace_1.createDefaultPath)(host, options.project)); | ||
options.module = (0, find_module_1.findModuleFromOptions)(host, options); | ||
@@ -97,5 +35,12 @@ const parsedPath = (0, parse_name_1.parseName)(options.path, options.name); | ||
]); | ||
return (0, schematics_1.chain)([addDeclarationToNgModule(options), (0, schematics_1.mergeWith)(templateSource)]); | ||
return (0, schematics_1.chain)([ | ||
(0, add_declaration_to_ng_module_1.addDeclarationToNgModule)({ | ||
type: 'pipe', | ||
...options, | ||
}), | ||
(0, schematics_1.mergeWith)(templateSource), | ||
]); | ||
}; | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvcGlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILDJEQVlvQztBQUNwQywwRkFBbUY7QUFDbkYsd0RBQStEO0FBQy9ELHNEQUFrRDtBQUNsRCxzREFBMEQ7QUFDMUQsb0RBQXlEO0FBR3pELG1CQUF5QixPQUFvQjtJQUMzQyxPQUFPLEtBQUssRUFBRSxJQUFVLEVBQUUsRUFBRTtRQUMxQixPQUFPLENBQUMsSUFBSSxLQUFaLE9BQU8sQ0FBQyxJQUFJLEdBQUssTUFBTSxJQUFBLDZCQUFpQixFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBaUIsQ0FBQyxFQUFDO1FBQzFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBQSxtQ0FBcUIsRUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdEQsTUFBTSxVQUFVLEdBQUcsSUFBQSxzQkFBUyxFQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELE9BQU8sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMvQixPQUFPLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsSUFBQSw4QkFBaUIsRUFBQyxvQkFBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVsRCxNQUFNLGNBQWMsR0FBRyxJQUFBLGtCQUFLLEVBQUMsSUFBQSxnQkFBRyxFQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsbUJBQU0sRUFBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQkFBSSxHQUFFO1lBQ2xGLElBQUEsMkJBQWMsRUFBQztnQkFDYixHQUFHLG9CQUFPO2dCQUNWLFNBQVMsRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsR0FBRyxPQUFPO2FBQ1gsQ0FBQztZQUNGLElBQUEsaUJBQUksRUFBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3RCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxrQkFBSyxFQUFDO1lBQ1gsSUFBQSx1REFBd0IsRUFBQztnQkFDdkIsSUFBSSxFQUFFLE1BQU07Z0JBRVosR0FBRyxPQUFPO2FBQ1gsQ0FBQztZQUNGLElBQUEsc0JBQVMsRUFBQyxjQUFjLENBQUM7U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQTdCRCw0QkE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtcbiAgUnVsZSxcbiAgVHJlZSxcbiAgYXBwbHksXG4gIGFwcGx5VGVtcGxhdGVzLFxuICBjaGFpbixcbiAgZmlsdGVyLFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIG5vb3AsXG4gIHN0cmluZ3MsXG4gIHVybCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgYWRkRGVjbGFyYXRpb25Ub05nTW9kdWxlIH0gZnJvbSAnLi4vdXRpbGl0eS9hZGQtZGVjbGFyYXRpb24tdG8tbmctbW9kdWxlJztcbmltcG9ydCB7IGZpbmRNb2R1bGVGcm9tT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxpdHkvZmluZC1tb2R1bGUnO1xuaW1wb3J0IHsgcGFyc2VOYW1lIH0gZnJvbSAnLi4vdXRpbGl0eS9wYXJzZS1uYW1lJztcbmltcG9ydCB7IHZhbGlkYXRlQ2xhc3NOYW1lIH0gZnJvbSAnLi4vdXRpbGl0eS92YWxpZGF0aW9uJztcbmltcG9ydCB7IGNyZWF0ZURlZmF1bHRQYXRoIH0gZnJvbSAnLi4vdXRpbGl0eS93b3Jrc3BhY2UnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIFBpcGVPcHRpb25zIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogUGlwZU9wdGlvbnMpOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jIChob3N0OiBUcmVlKSA9PiB7XG4gICAgb3B0aW9ucy5wYXRoID8/PSBhd2FpdCBjcmVhdGVEZWZhdWx0UGF0aChob3N0LCBvcHRpb25zLnByb2plY3QgYXMgc3RyaW5nKTtcbiAgICBvcHRpb25zLm1vZHVsZSA9IGZpbmRNb2R1bGVGcm9tT3B0aW9ucyhob3N0LCBvcHRpb25zKTtcblxuICAgIGNvbnN0IHBhcnNlZFBhdGggPSBwYXJzZU5hbWUob3B0aW9ucy5wYXRoLCBvcHRpb25zLm5hbWUpO1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnNlZFBhdGgubmFtZTtcbiAgICBvcHRpb25zLnBhdGggPSBwYXJzZWRQYXRoLnBhdGg7XG4gICAgdmFsaWRhdGVDbGFzc05hbWUoc3RyaW5ncy5jbGFzc2lmeShvcHRpb25zLm5hbWUpKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlU291cmNlID0gYXBwbHkodXJsKCcuL2ZpbGVzJyksIFtcbiAgICAgIG9wdGlvbnMuc2tpcFRlc3RzID8gZmlsdGVyKChwYXRoKSA9PiAhcGF0aC5lbmRzV2l0aCgnLnNwZWMudHMudGVtcGxhdGUnKSkgOiBub29wKCksXG4gICAgICBhcHBseVRlbXBsYXRlcyh7XG4gICAgICAgIC4uLnN0cmluZ3MsXG4gICAgICAgICdpZi1mbGF0JzogKHM6IHN0cmluZykgPT4gKG9wdGlvbnMuZmxhdCA/ICcnIDogcyksXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9KSxcbiAgICAgIG1vdmUocGFyc2VkUGF0aC5wYXRoKSxcbiAgICBdKTtcblxuICAgIHJldHVybiBjaGFpbihbXG4gICAgICBhZGREZWNsYXJhdGlvblRvTmdNb2R1bGUoe1xuICAgICAgICB0eXBlOiAncGlwZScsXG5cbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VXaXRoKHRlbXBsYXRlU291cmNlKSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic pipe definition in the given or default project. | ||
* Creates a new, generic pipe definition in the given project. | ||
*/ | ||
@@ -28,3 +28,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -31,0 +31,0 @@ * Do not import this pipe into the owning NgModule. |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3BpcGUvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxtRkFBbUY7QUFDbkYsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyBwaXBlIGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZGVjbGFyaW5nIE5nTW9kdWxlIGV4cG9ydHMgdGhpcyBwaXBlLlxuICAgICAqL1xuICAgIGV4cG9ydD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlICh0aGUgZGVmYXVsdCkgY3JlYXRlcyBmaWxlcyBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIGZsYXQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBkZWNsYXJpbmcgTmdNb2R1bGUuXG4gICAgICovXG4gICAgbW9kdWxlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwaXBlLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIHBpcGUsIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgaW1wb3J0IHRoaXMgcGlwZSBpbnRvIHRoZSBvd25pbmcgTmdNb2R1bGUuXG4gICAgICovXG4gICAgc2tpcEltcG9ydD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRG8gbm90IGNyZWF0ZSBcInNwZWMudHNcIiB0ZXN0IGZpbGVzIGZvciB0aGUgbmV3IHBpcGUuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBnZW5lcmF0ZWQgcGlwZSBpcyBzdGFuZGFsb25lLlxuICAgICAqL1xuICAgIHN0YW5kYWxvbmU/OiBib29sZWFuO1xufVxuIl19 |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Creates a new, generic pipe definition in the given or default project.", | ||
"description": "Creates a new, generic pipe definition in the given project.", | ||
"properties": { | ||
@@ -43,4 +43,3 @@ "name": { | ||
"description": "Do not create \"spec.ts\" test files for the new pipe.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
@@ -50,4 +49,3 @@ "skipImport": { | ||
"default": false, | ||
"description": "Do not import this pipe into the owning NgModule.", | ||
"x-user-analytics": 18 | ||
"description": "Do not import this pipe into the owning NgModule." | ||
}, | ||
@@ -58,3 +56,3 @@ "standalone": { | ||
"default": false, | ||
"x-user-analytics": 15 | ||
"x-user-analytics": "ep.ng_standalone" | ||
}, | ||
@@ -69,7 +67,6 @@ "module": { | ||
"default": false, | ||
"description": "The declaring NgModule exports this pipe.", | ||
"x-user-analytics": 19 | ||
"description": "The declaring NgModule exports this pipe." | ||
} | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -8,2 +8,2 @@ /** | ||
*/ | ||
export { addModuleImportToStandaloneBootstrap, findBootstrapApplicationCall, importsProvidersFrom, } from './standalone'; | ||
export { addModuleImportToStandaloneBootstrap, addFunctionalProvidersToStandaloneBootstrap, callsProvidersFunction, findBootstrapApplicationCall, importsProvidersFrom, } from './standalone'; |
@@ -10,6 +10,9 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.importsProvidersFrom = exports.findBootstrapApplicationCall = exports.addModuleImportToStandaloneBootstrap = void 0; | ||
exports.importsProvidersFrom = exports.findBootstrapApplicationCall = exports.callsProvidersFunction = exports.addFunctionalProvidersToStandaloneBootstrap = exports.addModuleImportToStandaloneBootstrap = void 0; | ||
var standalone_1 = require("./standalone"); | ||
Object.defineProperty(exports, "addModuleImportToStandaloneBootstrap", { enumerable: true, get: function () { return standalone_1.addModuleImportToStandaloneBootstrap; } }); | ||
Object.defineProperty(exports, "addFunctionalProvidersToStandaloneBootstrap", { enumerable: true, get: function () { return standalone_1.addFunctionalProvidersToStandaloneBootstrap; } }); | ||
Object.defineProperty(exports, "callsProvidersFunction", { enumerable: true, get: function () { return standalone_1.callsProvidersFunction; } }); | ||
Object.defineProperty(exports, "findBootstrapApplicationCall", { enumerable: true, get: function () { return standalone_1.findBootstrapApplicationCall; } }); | ||
Object.defineProperty(exports, "importsProvidersFrom", { enumerable: true, get: function () { return standalone_1.importsProvidersFrom; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci9wcml2YXRlL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkNBTXNCO0FBTHBCLGtJQUFBLG9DQUFvQyxPQUFBO0FBQ3BDLHlJQUFBLDJDQUEyQyxPQUFBO0FBQzNDLG9IQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDBIQUFBLDRCQUE0QixPQUFBO0FBQzVCLGtIQUFBLG9CQUFvQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCB7XG4gIGFkZE1vZHVsZUltcG9ydFRvU3RhbmRhbG9uZUJvb3RzdHJhcCxcbiAgYWRkRnVuY3Rpb25hbFByb3ZpZGVyc1RvU3RhbmRhbG9uZUJvb3RzdHJhcCxcbiAgY2FsbHNQcm92aWRlcnNGdW5jdGlvbixcbiAgZmluZEJvb3RzdHJhcEFwcGxpY2F0aW9uQ2FsbCxcbiAgaW1wb3J0c1Byb3ZpZGVyc0Zyb20sXG59IGZyb20gJy4vc3RhbmRhbG9uZSc7XG4iXX0= |
@@ -15,5 +15,16 @@ /** | ||
* @param className Class name of the module to search for. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
export declare function importsProvidersFrom(tree: Tree, filePath: string, className: string): boolean; | ||
/** | ||
* Checks whether a providers function is being called in a `bootstrapApplication` call. | ||
* @param tree File tree of the project. | ||
* @param filePath Path of the file in which to check. | ||
* @param functionName Name of the function to search for. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
export declare function callsProvidersFunction(tree: Tree, filePath: string, functionName: string): boolean; | ||
/** | ||
* Adds an `importProvidersFrom` call to the `bootstrapApplication` call. | ||
@@ -24,5 +35,23 @@ * @param tree File tree of the project. | ||
* @param modulePath Path from which to import the module. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
export declare function addModuleImportToStandaloneBootstrap(tree: Tree, filePath: string, moduleName: string, modulePath: string): void; | ||
/** Finds the call to `bootstrapApplication` within a file. */ | ||
/** | ||
* Adds a providers function call to the `bootstrapApplication` call. | ||
* @param tree File tree of the project. | ||
* @param filePath Path to the file that should be updated. | ||
* @param functionName Name of the function that should be called. | ||
* @param importPath Path from which to import the function. | ||
* @param args Arguments to use when calling the function. | ||
* @returns The file path that the provider was added to. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
export declare function addFunctionalProvidersToStandaloneBootstrap(tree: Tree, filePath: string, functionName: string, importPath: string, args?: ts.Expression[]): string; | ||
/** | ||
* Finds the call to `bootstrapApplication` within a file. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
export declare function findBootstrapApplicationCall(sourceFile: ts.SourceFile): ts.CallExpression | null; |
@@ -13,4 +13,5 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.findBootstrapApplicationCall = exports.addModuleImportToStandaloneBootstrap = exports.importsProvidersFrom = void 0; | ||
exports.findBootstrapApplicationCall = exports.addFunctionalProvidersToStandaloneBootstrap = exports.addModuleImportToStandaloneBootstrap = exports.callsProvidersFunction = exports.importsProvidersFrom = void 0; | ||
const schematics_1 = require("@angular-devkit/schematics"); | ||
const path_1 = require("path"); | ||
const typescript_1 = __importDefault(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
@@ -24,12 +25,32 @@ const ast_utils_1 = require("../utility/ast-utils"); | ||
* @param className Class name of the module to search for. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
function importsProvidersFrom(tree, filePath, className) { | ||
const sourceFile = typescript_1.default.createSourceFile(filePath, tree.readText(filePath), typescript_1.default.ScriptTarget.Latest, true); | ||
const sourceFile = createSourceFile(tree, filePath); | ||
const bootstrapCall = findBootstrapApplicationCall(sourceFile); | ||
const importProvidersFromCall = bootstrapCall ? findImportProvidersFromCall(bootstrapCall) : null; | ||
return (!!importProvidersFromCall && | ||
importProvidersFromCall.arguments.some((arg) => typescript_1.default.isIdentifier(arg) && arg.text === className)); | ||
const appConfig = bootstrapCall ? findAppConfig(bootstrapCall, tree, filePath) : null; | ||
const importProvidersFromCall = appConfig ? findImportProvidersFromCall(appConfig.node) : null; | ||
return !!importProvidersFromCall?.arguments.some((arg) => typescript_1.default.isIdentifier(arg) && arg.text === className); | ||
} | ||
exports.importsProvidersFrom = importsProvidersFrom; | ||
/** | ||
* Checks whether a providers function is being called in a `bootstrapApplication` call. | ||
* @param tree File tree of the project. | ||
* @param filePath Path of the file in which to check. | ||
* @param functionName Name of the function to search for. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
function callsProvidersFunction(tree, filePath, functionName) { | ||
const sourceFile = createSourceFile(tree, filePath); | ||
const bootstrapCall = findBootstrapApplicationCall(sourceFile); | ||
const appConfig = bootstrapCall ? findAppConfig(bootstrapCall, tree, filePath) : null; | ||
const providersLiteral = appConfig ? findProvidersLiteral(appConfig.node) : null; | ||
return !!providersLiteral?.elements.some((el) => typescript_1.default.isCallExpression(el) && | ||
typescript_1.default.isIdentifier(el.expression) && | ||
el.expression.text === functionName); | ||
} | ||
exports.callsProvidersFunction = callsProvidersFunction; | ||
/** | ||
* Adds an `importProvidersFrom` call to the `bootstrapApplication` call. | ||
@@ -40,57 +61,61 @@ * @param tree File tree of the project. | ||
* @param modulePath Path from which to import the module. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
function addModuleImportToStandaloneBootstrap(tree, filePath, moduleName, modulePath) { | ||
const sourceFile = typescript_1.default.createSourceFile(filePath, tree.readText(filePath), typescript_1.default.ScriptTarget.Latest, true); | ||
const sourceFile = createSourceFile(tree, filePath); | ||
const bootstrapCall = findBootstrapApplicationCall(sourceFile); | ||
const addImports = (file, recorder) => { | ||
const sourceText = file.getText(); | ||
[ | ||
(0, ast_utils_1.insertImport)(file, sourceText, moduleName, modulePath), | ||
(0, ast_utils_1.insertImport)(file, sourceText, 'importProvidersFrom', '@angular/core'), | ||
].forEach((change) => { | ||
if (change instanceof change_1.InsertChange) { | ||
recorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
}); | ||
}; | ||
if (!bootstrapCall) { | ||
throw new schematics_1.SchematicsException(`Could not find bootstrapApplication call in ${filePath}`); | ||
} | ||
const recorder = tree.beginUpdate(filePath); | ||
const importCall = findImportProvidersFromCall(bootstrapCall); | ||
const printer = typescript_1.default.createPrinter(); | ||
const sourceText = sourceFile.getText(); | ||
// Add imports to the module being added and `importProvidersFrom`. We don't | ||
// have to worry about duplicates, because `insertImport` handles them. | ||
[ | ||
(0, ast_utils_1.insertImport)(sourceFile, sourceText, moduleName, modulePath), | ||
(0, ast_utils_1.insertImport)(sourceFile, sourceText, 'importProvidersFrom', '@angular/core'), | ||
].forEach((change) => { | ||
if (change instanceof change_1.InsertChange) { | ||
recorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
}); | ||
// If there is an `importProvidersFrom` call already, reuse it. | ||
const importProvidersCall = typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier('importProvidersFrom'), [], [typescript_1.default.factory.createIdentifier(moduleName)]); | ||
// If there's only one argument, we have to create a new object literal. | ||
if (bootstrapCall.arguments.length === 1) { | ||
const recorder = tree.beginUpdate(filePath); | ||
addNewAppConfigToCall(bootstrapCall, importProvidersCall, recorder); | ||
addImports(sourceFile, recorder); | ||
tree.commitUpdate(recorder); | ||
return; | ||
} | ||
// If the config is a `mergeApplicationProviders` call, add another config to it. | ||
if (isMergeAppConfigCall(bootstrapCall.arguments[1])) { | ||
const recorder = tree.beginUpdate(filePath); | ||
addNewAppConfigToCall(bootstrapCall.arguments[1], importProvidersCall, recorder); | ||
addImports(sourceFile, recorder); | ||
tree.commitUpdate(recorder); | ||
return; | ||
} | ||
// Otherwise attempt to merge into the current config. | ||
const appConfig = findAppConfig(bootstrapCall, tree, filePath); | ||
if (!appConfig) { | ||
throw new schematics_1.SchematicsException(`Could not statically analyze config in bootstrapApplication call in ${filePath}`); | ||
} | ||
const { filePath: configFilePath, node: config } = appConfig; | ||
const recorder = tree.beginUpdate(configFilePath); | ||
const importCall = findImportProvidersFromCall(config); | ||
addImports(config.getSourceFile(), recorder); | ||
if (importCall) { | ||
// If there's an `importProvidersFrom` call already, add the module to it. | ||
recorder.insertRight(importCall.arguments[importCall.arguments.length - 1].getEnd(), `, ${moduleName}`); | ||
} | ||
else if (bootstrapCall.arguments.length === 1) { | ||
// Otherwise if there is no options parameter to `bootstrapApplication`, | ||
// create an object literal with a `providers` array and the import. | ||
const newCall = typescript_1.default.factory.updateCallExpression(bootstrapCall, bootstrapCall.expression, bootstrapCall.typeArguments, [ | ||
...bootstrapCall.arguments, | ||
typescript_1.default.factory.createObjectLiteralExpression([createProvidersAssignment(moduleName)], true), | ||
]); | ||
recorder.remove(bootstrapCall.getStart(), bootstrapCall.getWidth()); | ||
recorder.insertRight(bootstrapCall.getStart(), printer.printNode(typescript_1.default.EmitHint.Unspecified, newCall, sourceFile)); | ||
} | ||
else { | ||
const providersLiteral = findProvidersLiteral(bootstrapCall); | ||
const providersLiteral = findProvidersLiteral(config); | ||
if (providersLiteral) { | ||
// If there's a `providers` array, add the import to it. | ||
const newProvidersLiteral = typescript_1.default.factory.updateArrayLiteralExpression(providersLiteral, [ | ||
...providersLiteral.elements, | ||
createImportProvidersFromCall(moduleName), | ||
]); | ||
recorder.remove(providersLiteral.getStart(), providersLiteral.getWidth()); | ||
recorder.insertRight(providersLiteral.getStart(), printer.printNode(typescript_1.default.EmitHint.Unspecified, newProvidersLiteral, sourceFile)); | ||
addElementToArray(providersLiteral, importProvidersCall, recorder); | ||
} | ||
else { | ||
// Otherwise add a `providers` array to the existing object literal. | ||
const optionsLiteral = bootstrapCall.arguments[1]; | ||
const newOptionsLiteral = typescript_1.default.factory.updateObjectLiteralExpression(optionsLiteral, [ | ||
...optionsLiteral.properties, | ||
createProvidersAssignment(moduleName), | ||
]); | ||
recorder.remove(optionsLiteral.getStart(), optionsLiteral.getWidth()); | ||
recorder.insertRight(optionsLiteral.getStart(), printer.printNode(typescript_1.default.EmitHint.Unspecified, newOptionsLiteral, sourceFile)); | ||
addProvidersToObjectLiteral(config, importProvidersCall, recorder); | ||
} | ||
@@ -101,12 +126,91 @@ } | ||
exports.addModuleImportToStandaloneBootstrap = addModuleImportToStandaloneBootstrap; | ||
/** Finds the call to `bootstrapApplication` within a file. */ | ||
/** | ||
* Adds a providers function call to the `bootstrapApplication` call. | ||
* @param tree File tree of the project. | ||
* @param filePath Path to the file that should be updated. | ||
* @param functionName Name of the function that should be called. | ||
* @param importPath Path from which to import the function. | ||
* @param args Arguments to use when calling the function. | ||
* @returns The file path that the provider was added to. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
function addFunctionalProvidersToStandaloneBootstrap(tree, filePath, functionName, importPath, args = []) { | ||
const sourceFile = createSourceFile(tree, filePath); | ||
const bootstrapCall = findBootstrapApplicationCall(sourceFile); | ||
const addImports = (file, recorder) => { | ||
const change = (0, ast_utils_1.insertImport)(file, file.getText(), functionName, importPath); | ||
if (change instanceof change_1.InsertChange) { | ||
recorder.insertLeft(change.pos, change.toAdd); | ||
} | ||
}; | ||
if (!bootstrapCall) { | ||
throw new schematics_1.SchematicsException(`Could not find bootstrapApplication call in ${filePath}`); | ||
} | ||
const providersCall = typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(functionName), undefined, args); | ||
// If there's only one argument, we have to create a new object literal. | ||
if (bootstrapCall.arguments.length === 1) { | ||
const recorder = tree.beginUpdate(filePath); | ||
addNewAppConfigToCall(bootstrapCall, providersCall, recorder); | ||
addImports(sourceFile, recorder); | ||
tree.commitUpdate(recorder); | ||
return filePath; | ||
} | ||
// If the config is a `mergeApplicationProviders` call, add another config to it. | ||
if (isMergeAppConfigCall(bootstrapCall.arguments[1])) { | ||
const recorder = tree.beginUpdate(filePath); | ||
addNewAppConfigToCall(bootstrapCall.arguments[1], providersCall, recorder); | ||
addImports(sourceFile, recorder); | ||
tree.commitUpdate(recorder); | ||
return filePath; | ||
} | ||
// Otherwise attempt to merge into the current config. | ||
const appConfig = findAppConfig(bootstrapCall, tree, filePath); | ||
if (!appConfig) { | ||
throw new schematics_1.SchematicsException(`Could not statically analyze config in bootstrapApplication call in ${filePath}`); | ||
} | ||
const { filePath: configFilePath, node: config } = appConfig; | ||
const recorder = tree.beginUpdate(configFilePath); | ||
const providersLiteral = findProvidersLiteral(config); | ||
addImports(config.getSourceFile(), recorder); | ||
if (providersLiteral) { | ||
// If there's a `providers` array, add the import to it. | ||
addElementToArray(providersLiteral, providersCall, recorder); | ||
} | ||
else { | ||
// Otherwise add a `providers` array to the existing object literal. | ||
addProvidersToObjectLiteral(config, providersCall, recorder); | ||
} | ||
tree.commitUpdate(recorder); | ||
return configFilePath; | ||
} | ||
exports.addFunctionalProvidersToStandaloneBootstrap = addFunctionalProvidersToStandaloneBootstrap; | ||
/** | ||
* Finds the call to `bootstrapApplication` within a file. | ||
* @deprecated Private utility that will be removed. Use `addRootImport` or `addRootProvider` from | ||
* `@schematics/angular/utility` instead. | ||
*/ | ||
function findBootstrapApplicationCall(sourceFile) { | ||
const localName = findImportLocalName(sourceFile, 'bootstrapApplication', '@angular/platform-browser'); | ||
return localName ? findCall(sourceFile, localName) : null; | ||
if (!localName) { | ||
return null; | ||
} | ||
let result = null; | ||
sourceFile.forEachChild(function walk(node) { | ||
if (typescript_1.default.isCallExpression(node) && | ||
typescript_1.default.isIdentifier(node.expression) && | ||
node.expression.text === localName) { | ||
result = node; | ||
} | ||
if (!result) { | ||
node.forEachChild(walk); | ||
} | ||
}); | ||
return result; | ||
} | ||
exports.findBootstrapApplicationCall = findBootstrapApplicationCall; | ||
/** Find a call to `importProvidersFrom` within a `bootstrapApplication` call. */ | ||
function findImportProvidersFromCall(bootstrapCall) { | ||
const providersLiteral = findProvidersLiteral(bootstrapCall); | ||
const importProvidersName = findImportLocalName(bootstrapCall.getSourceFile(), 'importProvidersFrom', '@angular/core'); | ||
/** Find a call to `importProvidersFrom` within an application config. */ | ||
function findImportProvidersFromCall(config) { | ||
const importProvidersName = findImportLocalName(config.getSourceFile(), 'importProvidersFrom', '@angular/core'); | ||
const providersLiteral = findProvidersLiteral(config); | ||
if (providersLiteral && importProvidersName) { | ||
@@ -124,17 +228,87 @@ for (const element of providersLiteral.elements) { | ||
} | ||
/** Finds the `providers` array literal within a `bootstrapApplication` call. */ | ||
function findProvidersLiteral(bootstrapCall) { | ||
// The imports have to be in the second argument of | ||
// the function which has to be an object literal. | ||
if (bootstrapCall.arguments.length > 1 && | ||
typescript_1.default.isObjectLiteralExpression(bootstrapCall.arguments[1])) { | ||
for (const prop of bootstrapCall.arguments[1].properties) { | ||
if (typescript_1.default.isPropertyAssignment(prop) && | ||
typescript_1.default.isIdentifier(prop.name) && | ||
prop.name.text === 'providers' && | ||
typescript_1.default.isArrayLiteralExpression(prop.initializer)) { | ||
return prop.initializer; | ||
/** Finds the `providers` array literal within an application config. */ | ||
function findProvidersLiteral(config) { | ||
for (const prop of config.properties) { | ||
if (typescript_1.default.isPropertyAssignment(prop) && | ||
typescript_1.default.isIdentifier(prop.name) && | ||
prop.name.text === 'providers' && | ||
typescript_1.default.isArrayLiteralExpression(prop.initializer)) { | ||
return prop.initializer; | ||
} | ||
} | ||
return null; | ||
} | ||
/** | ||
* Resolves the node that defines the app config from a bootstrap call. | ||
* @param bootstrapCall Call for which to resolve the config. | ||
* @param tree File tree of the project. | ||
* @param filePath File path of the bootstrap call. | ||
*/ | ||
function findAppConfig(bootstrapCall, tree, filePath) { | ||
if (bootstrapCall.arguments.length > 1) { | ||
const config = bootstrapCall.arguments[1]; | ||
if (typescript_1.default.isObjectLiteralExpression(config)) { | ||
return { filePath, node: config }; | ||
} | ||
if (typescript_1.default.isIdentifier(config)) { | ||
return resolveAppConfigFromIdentifier(config, tree, filePath); | ||
} | ||
} | ||
return null; | ||
} | ||
/** | ||
* Resolves the app config from an identifier referring to it. | ||
* @param identifier Identifier referring to the app config. | ||
* @param tree File tree of the project. | ||
* @param bootstapFilePath Path of the bootstrap call. | ||
*/ | ||
function resolveAppConfigFromIdentifier(identifier, tree, bootstapFilePath) { | ||
const sourceFile = identifier.getSourceFile(); | ||
for (const node of sourceFile.statements) { | ||
// Only look at relative imports. This will break if the app uses a path | ||
// mapping to refer to the import, but in order to resolve those, we would | ||
// need knowledge about the entire program. | ||
if (!typescript_1.default.isImportDeclaration(node) || | ||
!node.importClause?.namedBindings || | ||
!typescript_1.default.isNamedImports(node.importClause.namedBindings) || | ||
!typescript_1.default.isStringLiteralLike(node.moduleSpecifier) || | ||
!node.moduleSpecifier.text.startsWith('.')) { | ||
continue; | ||
} | ||
for (const specifier of node.importClause.namedBindings.elements) { | ||
if (specifier.name.text !== identifier.text) { | ||
continue; | ||
} | ||
// Look for a variable with the imported name in the file. Note that ideally we would use | ||
// the type checker to resolve this, but we can't because these utilities are set up to | ||
// operate on individual files, not the entire program. | ||
const filePath = (0, path_1.join)((0, path_1.dirname)(bootstapFilePath), node.moduleSpecifier.text + '.ts'); | ||
const importedSourceFile = createSourceFile(tree, filePath); | ||
const resolvedVariable = findAppConfigFromVariableName(importedSourceFile, (specifier.propertyName || specifier.name).text); | ||
if (resolvedVariable) { | ||
return { filePath, node: resolvedVariable }; | ||
} | ||
} | ||
} | ||
const variableInSameFile = findAppConfigFromVariableName(sourceFile, identifier.text); | ||
return variableInSameFile ? { filePath: bootstapFilePath, node: variableInSameFile } : null; | ||
} | ||
/** | ||
* Finds an app config within the top-level variables of a file. | ||
* @param sourceFile File in which to search for the config. | ||
* @param variableName Name of the variable containing the config. | ||
*/ | ||
function findAppConfigFromVariableName(sourceFile, variableName) { | ||
for (const node of sourceFile.statements) { | ||
if (typescript_1.default.isVariableStatement(node)) { | ||
for (const decl of node.declarationList.declarations) { | ||
if (typescript_1.default.isIdentifier(decl.name) && | ||
decl.name.text === variableName && | ||
decl.initializer && | ||
typescript_1.default.isObjectLiteralExpression(decl.initializer)) { | ||
return decl.initializer; | ||
} | ||
} | ||
} | ||
} | ||
return null; | ||
@@ -172,28 +346,55 @@ } | ||
} | ||
/** Creates a source file from a file path within a project. */ | ||
function createSourceFile(tree, filePath) { | ||
return typescript_1.default.createSourceFile(filePath, tree.readText(filePath), typescript_1.default.ScriptTarget.Latest, true); | ||
} | ||
/** | ||
* Finds a call to a function with a specific name. | ||
* @param rootNode Node from which to start searching. | ||
* @param name Name of the function to search for. | ||
* Creates a new app config object literal and adds it to a call expression as an argument. | ||
* @param call Call to which to add the config. | ||
* @param expression Expression that should inserted into the new config. | ||
* @param recorder Recorder to which to log the change. | ||
*/ | ||
function findCall(rootNode, name) { | ||
let result = null; | ||
rootNode.forEachChild(function walk(node) { | ||
if (typescript_1.default.isCallExpression(node) && | ||
typescript_1.default.isIdentifier(node.expression) && | ||
node.expression.text === name) { | ||
result = node; | ||
} | ||
if (!result) { | ||
node.forEachChild(walk); | ||
} | ||
}); | ||
return result; | ||
function addNewAppConfigToCall(call, expression, recorder) { | ||
const newCall = typescript_1.default.factory.updateCallExpression(call, call.expression, call.typeArguments, [ | ||
...call.arguments, | ||
typescript_1.default.factory.createObjectLiteralExpression([ | ||
typescript_1.default.factory.createPropertyAssignment('providers', typescript_1.default.factory.createArrayLiteralExpression([expression])), | ||
], true), | ||
]); | ||
recorder.remove(call.getStart(), call.getWidth()); | ||
recorder.insertRight(call.getStart(), typescript_1.default.createPrinter().printNode(typescript_1.default.EmitHint.Unspecified, newCall, call.getSourceFile())); | ||
} | ||
/** Creates an `importProvidersFrom({{moduleName}})` call. */ | ||
function createImportProvidersFromCall(moduleName) { | ||
return typescript_1.default.factory.createCallChain(typescript_1.default.factory.createIdentifier('importProvidersFrom'), undefined, undefined, [typescript_1.default.factory.createIdentifier(moduleName)]); | ||
/** | ||
* Adds an element to an array literal expression. | ||
* @param node Array to which to add the element. | ||
* @param element Element to be added. | ||
* @param recorder Recorder to which to log the change. | ||
*/ | ||
function addElementToArray(node, element, recorder) { | ||
const newLiteral = typescript_1.default.factory.updateArrayLiteralExpression(node, [...node.elements, element]); | ||
recorder.remove(node.getStart(), node.getWidth()); | ||
recorder.insertRight(node.getStart(), typescript_1.default.createPrinter().printNode(typescript_1.default.EmitHint.Unspecified, newLiteral, node.getSourceFile())); | ||
} | ||
/** Creates a `providers: [importProvidersFrom({{moduleName}})]` property assignment. */ | ||
function createProvidersAssignment(moduleName) { | ||
return typescript_1.default.factory.createPropertyAssignment('providers', typescript_1.default.factory.createArrayLiteralExpression([createImportProvidersFromCall(moduleName)])); | ||
/** | ||
* Adds a `providers` property to an object literal. | ||
* @param node Literal to which to add the `providers`. | ||
* @param expression Provider that should be part of the generated `providers` array. | ||
* @param recorder Recorder to which to log the change. | ||
*/ | ||
function addProvidersToObjectLiteral(node, expression, recorder) { | ||
const newOptionsLiteral = typescript_1.default.factory.updateObjectLiteralExpression(node, [ | ||
...node.properties, | ||
typescript_1.default.factory.createPropertyAssignment('providers', typescript_1.default.factory.createArrayLiteralExpression([expression])), | ||
]); | ||
recorder.remove(node.getStart(), node.getWidth()); | ||
recorder.insertRight(node.getStart(), typescript_1.default.createPrinter().printNode(typescript_1.default.EmitHint.Unspecified, newOptionsLiteral, node.getSourceFile())); | ||
} | ||
/** Checks whether a node is a call to `mergeApplicationConfig`. */ | ||
function isMergeAppConfigCall(node) { | ||
if (!typescript_1.default.isCallExpression(node)) { | ||
return false; | ||
} | ||
const localName = findImportLocalName(node.getSourceFile(), 'mergeApplicationConfig', '@angular/core'); | ||
return !!localName && typescript_1.default.isIdentifier(node.expression) && node.expression.text === localName; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhbG9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci9wcml2YXRlL3N0YW5kYWxvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7O0FBRUgsMkRBQXVGO0FBQ3ZGLCtCQUFxQztBQUNyQywrR0FBK0U7QUFDL0Usb0RBQW9EO0FBQ3BELDhDQUFpRDtBQVdqRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsSUFBVSxFQUFFLFFBQWdCLEVBQUUsU0FBaUI7SUFDbEYsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sYUFBYSxHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN0RixNQUFNLHVCQUF1QixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFL0YsT0FBTyxDQUFDLENBQUMsdUJBQXVCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FDOUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLG9CQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUN4RCxDQUFDO0FBQ0osQ0FBQztBQVRELG9EQVNDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHNCQUFzQixDQUNwQyxJQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsWUFBb0I7SUFFcEIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsSUFB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QW9CLENBQUMsSUFBYTtJQUN6QyxJQUFJLENBQUMsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM5QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQ25DLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFDcEIsd0JBQXdCLEVBQ3hCLGVBQWUsQ0FDaEIsQ0FBQztJQUVGLE9BQU8sQ0FBQyxDQUFDLFNBQVMsSUFBSSxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQy9GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZSwgVXBkYXRlUmVjb3JkZXIgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgdHMgZnJvbSAnLi4vdGhpcmRfcGFydHkvZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9saWIvdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBpbnNlcnRJbXBvcnQgfSBmcm9tICcuLi91dGlsaXR5L2FzdC11dGlscyc7XG5pbXBvcnQgeyBJbnNlcnRDaGFuZ2UgfSBmcm9tICcuLi91dGlsaXR5L2NoYW5nZSc7XG5cbi8qKiBBcHAgY29uZmlnIHRoYXQgd2FzIHJlc29sdmVkIHRvIGl0cyBzb3VyY2Ugbm9kZS4gKi9cbmludGVyZmFjZSBSZXNvbHZlZEFwcENvbmZpZyB7XG4gIC8qKiBUcmVlLXJlbGF0aXZlIHBhdGggb2YgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgYXBwIGNvbmZpZy4gKi9cbiAgZmlsZVBhdGg6IHN0cmluZztcblxuICAvKiogTm9kZSBkZWZpbmluZyB0aGUgYXBwIGNvbmZpZy4gKi9cbiAgbm9kZTogdHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb247XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByb3ZpZGVycyBmcm9tIGEgbW9kdWxlIGFyZSBiZWluZyBpbXBvcnRlZCBpbiBhIGBib290c3RyYXBBcHBsaWNhdGlvbmAgY2FsbC5cbiAqIEBwYXJhbSB0cmVlIEZpbGUgdHJlZSBvZiB0aGUgcHJvamVjdC5cbiAqIEBwYXJhbSBmaWxlUGF0aCBQYXRoIG9mIHRoZSBmaWxlIGluIHdoaWNoIHRvIGNoZWNrLlxuICogQHBhcmFtIGNsYXNzTmFtZSBDbGFzcyBuYW1lIG9mIHRoZSBtb2R1bGUgdG8gc2VhcmNoIGZvci5cbiAqIEBkZXByZWNhdGVkIFByaXZhdGUgdXRpbGl0eSB0aGF0IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIGBhZGRSb290SW1wb3J0YCBvciBgYWRkUm9vdFByb3ZpZGVyYCBmcm9tXG4gKiBgQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5YCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW1wb3J0c1Byb3ZpZGVyc0Zyb20odHJlZTogVHJlZSwgZmlsZVBhdGg6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3Qgc291cmNlRmlsZSA9IGNyZWF0ZVNvdXJjZUZpbGUodHJlZSwgZmlsZVBhdGgpO1xuICBjb25zdCBib290c3RyYXBDYWxsID0gZmluZEJvb3RzdHJhcEFwcGxpY2F0aW9uQ2FsbChzb3VyY2VGaWxlKTtcbiAgY29uc3QgYXBwQ29uZmlnID0gYm9vdHN0cmFwQ2FsbCA/IGZpbmRBcHBDb25maWcoYm9vdHN0cmFwQ2FsbCwgdHJlZSwgZmlsZVBhdGgpIDogbnVsbDtcbiAgY29uc3QgaW1wb3J0UHJvdmlkZXJzRnJvbUNhbGwgPSBhcHBDb25maWcgPyBmaW5kSW1wb3J0UHJvdmlkZXJzRnJvbUNhbGwoYXBwQ29uZmlnLm5vZGUpIDogbnVsbDtcblxuICByZXR1cm4gISFpbXBvcnRQcm92aWRlcnNGcm9tQ2FsbD8uYXJndW1lbnRzLnNvbWUoXG4gICAgKGFyZykgPT4gdHMuaXNJZGVudGlmaWVyKGFyZykgJiYgYXJnLnRleHQgPT09IGNsYXNzTmFtZSxcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHByb3ZpZGVycyBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgaW4gYSBgYm9vdHN0cmFwQXBwbGljYXRpb25gIGNhbGwuXG4gKiBAcGFyYW0gdHJlZSBGaWxlIHRyZWUgb2YgdGhlIHByb2plY3QuXG4gKiBAcGFyYW0gZmlsZVBhdGggUGF0aCBvZiB0aGUgZmlsZSBpbiB3aGljaCB0byBjaGVjay5cbiAqIEBwYXJhbSBmdW5jdGlvbk5hbWUgTmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gc2VhcmNoIGZvci5cbiAqIEBkZXByZWNhdGVkIFByaXZhdGUgdXRpbGl0eSB0aGF0IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIGBhZGRSb290SW1wb3J0YCBvciBgYWRkUm9vdFByb3ZpZGVyYCBmcm9tXG4gKiBgQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5YCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsbHNQcm92aWRlcnNGdW5jdGlvbihcbiAgdHJlZTogVHJlZSxcbiAgZmlsZVBhdGg6IHN0cmluZyxcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgY29uc3Qgc291cmNlRmlsZSA9IGNyZWF0ZVNvdXJjZUZpbGUodHJlZSwgZmlsZVBhdGgpO1xuICBjb25zdCBib290c3RyYXBDYWxsID0gZmluZEJvb3RzdHJhcEFwcGxpY2F0aW9uQ2FsbChzb3VyY2VGaWxlKTtcbiAgY29uc3QgYXBwQ29uZmlnID0gYm9vdHN0cmFwQ2FsbCA/IGZpbmRBcHBDb25maWcoYm9vdHN0cmFwQ2FsbCwgdHJlZSwgZmlsZVBhdGgpIDogbnVsbDtcbiAgY29uc3QgcHJvdmlkZXJzTGl0ZXJhbCA9IGFwcENvbmZpZyA/IGZpbmRQcm92aWRlcnNMaXRlcmFsKGFwcENvbmZpZy5ub2RlKSA6IG51bGw7XG5cbiAgcmV0dXJuICEhcHJvdmlkZXJzTGl0ZXJhbD8uZWxlbWVudHMuc29tZShcbiAgICAoZWwpID0+XG4gICAgICB0cy5pc0NhbGxFeHByZXNzaW9uKGVsKSAmJlxuICAgICAgdHMuaXNJZGVudGlmaWVyKGVsLmV4cHJlc3Npb24pICYmXG4gICAgICBlbC5leHByZXNzaW9uLnRleHQgPT09IGZ1bmN0aW9uTmFtZSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGBpbXBvcnRQcm92aWRlcnNGcm9tYCBjYWxsIHRvIHRoZSBgYm9vdHN0cmFwQXBwbGljYXRpb25gIGNhbGwuXG4gKiBAcGFyYW0gdHJlZSBGaWxlIHRyZWUgb2YgdGhlIHByb2plY3QuXG4gKiBAcGFyYW0gZmlsZVBhdGggUGF0aCB0byB0aGUgZmlsZSB0aGF0IHNob3VsZCBiZSB1cGRhdGVkLlxuICogQHBhcmFtIG1vZHVsZU5hbWUgTmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLlxuICogQHBhcmFtIG1vZHVsZVBhdGggUGF0aCBmcm9tIHdoaWNoIHRvIGltcG9ydCB0aGUgbW9kdWxlLlxuICogQGRlcHJlY2F0ZWQgUHJpdmF0ZSB1dGlsaXR5IHRoYXQgd2lsbCBiZSByZW1vdmVkLiBVc2UgYGFkZFJvb3RJbXBvcnRgIG9yIGBhZGRSb290UHJvdmlkZXJgIGZyb21cbiAqIGBAc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHlgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRNb2R1bGVJbXBvcnRUb1N0YW5kYWxvbmVCb290c3RyYXAoXG4gIHRyZWU6IFRyZWUsXG4gIGZpbGVQYXRoOiBzdHJpbmcsXG4gIG1vZHVsZU5hbWU6IHN0cmluZyxcbiAgbW9kdWxlUGF0aDogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IHNvdXJjZUZpbGUgPSBjcmVhdGVTb3VyY2VGaWxlKHRyZWUsIGZpbGVQYXRoKTtcbiAgY29uc3QgYm9vdHN0cmFwQ2FsbCA9IGZpbmRCb290c3RyYXBBcHBsaWNhdGlvbkNhbGwoc291cmNlRmlsZSk7XG4gIGNvbnN0IGFkZEltcG9ydHMgPSAoZmlsZTogdHMuU291cmNlRmlsZSwgcmVjb3JkZXI6IFVwZGF0ZVJlY29yZGVyKSA9PiB7XG4gICAgY29uc3Qgc291cmNlVGV4dCA9IGZpbGUuZ2V0VGV4dCgpO1xuXG4gICAgW1xuICAgICAgaW5zZXJ0SW1wb3J0KGZpbGUsIHNvdXJjZVRleHQsIG1vZHVsZU5hbWUsIG1vZHVsZVBhdGgpLFxuICAgICAgaW5zZXJ0SW1wb3J0KGZpbGUsIHNvdXJjZVRleHQsICdpbXBvcnRQcm92aWRlcnNGcm9tJywgJ0Bhbmd1bGFyL2NvcmUnKSxcbiAgICBdLmZvckVhY2goKGNoYW5nZSkgPT4ge1xuICAgICAgaWYgKGNoYW5nZSBpbnN0YW5jZW9mIEluc2VydENoYW5nZSkge1xuICAgICAgICByZWNvcmRlci5pbnNlcnRMZWZ0KGNoYW5nZS5wb3MsIGNoYW5nZS50b0FkZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgaWYgKCFib290c3RyYXBDYWxsKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYENvdWxkIG5vdCBmaW5kIGJvb3RzdHJhcEFwcGxpY2F0aW9uIGNhbGwgaW4gJHtmaWxlUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IGltcG9ydFByb3ZpZGVyc0NhbGwgPSB0cy5mYWN0b3J5LmNyZWF0ZUNhbGxFeHByZXNzaW9uKFxuICAgIHRzLmZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcignaW1wb3J0UHJvdmlkZXJzRnJvbScpLFxuICAgIFtdLFxuICAgIFt0cy5mYWN0b3J5LmNyZWF0ZUlkZW50aWZpZXIobW9kdWxlTmFtZSldLFxuICApO1xuXG4gIC8vIElmIHRoZXJlJ3Mgb25seSBvbmUgYXJndW1lbnQsIHdlIGhhdmUgdG8gY3JlYXRlIGEgbmV3IG9iamVjdCBsaXRlcmFsLlxuICBpZiAoYm9vdHN0cmFwQ2FsbC5hcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgY29uc3QgcmVjb3JkZXIgPSB0cmVlLmJlZ2luVXBkYXRlKGZpbGVQYXRoKTtcbiAgICBhZGROZXdBcHBDb25maWdUb0NhbGwoYm9vdHN0cmFwQ2FsbCwgaW1wb3J0UHJvdmlkZXJzQ2FsbCwgcmVjb3JkZXIpO1xuICAgIGFkZEltcG9ydHMoc291cmNlRmlsZSwgcmVjb3JkZXIpO1xuICAgIHRyZWUuY29tbWl0VXBkYXRlKHJlY29yZGVyKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIElmIHRoZSBjb25maWcgaXMgYSBgbWVyZ2VBcHBsaWNhdGlvblByb3ZpZGVyc2AgY2FsbCwgYWRkIGFub3RoZXIgY29uZmlnIHRvIGl0LlxuICBpZiAoaXNNZXJnZUFwcENvbmZpZ0NhbGwoYm9vdHN0cmFwQ2FsbC5hcmd1bWVudHNbMV0pKSB7XG4gICAgY29uc3QgcmVjb3JkZXIgPSB0cmVlLmJlZ2luVXBkYXRlKGZpbGVQYXRoKTtcbiAgICBhZGROZXdBcHBDb25maWdUb0NhbGwoYm9vdHN0cmFwQ2FsbC5hcmd1bWVudHNbMV0sIGltcG9ydFByb3ZpZGVyc0NhbGwsIHJlY29yZGVyKTtcbiAgICBhZGRJbXBvcnRzKHNvdXJjZUZpbGUsIHJlY29yZGVyKTtcbiAgICB0cmVlLmNvbW1pdFVwZGF0ZShyZWNvcmRlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBPdGhlcndpc2UgYXR0ZW1wdCB0byBtZXJnZSBpbnRvIHRoZSBjdXJyZW50IGNvbmZpZy5cbiAgY29uc3QgYXBwQ29uZmlnID0gZmluZEFwcENvbmZpZyhib290c3RyYXBDYWxsLCB0cmVlLCBmaWxlUGF0aCk7XG5cbiAgaWYgKCFhcHBDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgIGBDb3VsZCBub3Qgc3RhdGljYWxseSBhbmFseXplIGNvbmZpZyBpbiBib290c3RyYXBBcHBsaWNhdGlvbiBjYWxsIGluICR7ZmlsZVBhdGh9YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgeyBmaWxlUGF0aDogY29uZmlnRmlsZVBhdGgsIG5vZGU6IGNvbmZpZyB9ID0gYXBwQ29uZmlnO1xuICBjb25zdCByZWNvcmRlciA9IHRyZWUuYmVnaW5VcGRhdGUoY29uZmlnRmlsZVBhdGgpO1xuICBjb25zdCBpbXBvcnRDYWxsID0gZmluZEltcG9ydFByb3ZpZGVyc0Zyb21DYWxsKGNvbmZpZyk7XG5cbiAgYWRkSW1wb3J0cyhjb25maWcuZ2V0U291cmNlRmlsZSgpLCByZWNvcmRlcik7XG5cbiAgaWYgKGltcG9ydENhbGwpIHtcbiAgICAvLyBJZiB0aGVyZSdzIGFuIGBpbXBvcnRQcm92aWRlcnNGcm9tYCBjYWxsIGFscmVhZHksIGFkZCB0aGUgbW9kdWxlIHRvIGl0LlxuICAgIHJlY29yZGVyLmluc2VydFJpZ2h0KFxuICAgICAgaW1wb3J0Q2FsbC5hcmd1bWVudHNbaW1wb3J0Q2FsbC5hcmd1bWVudHMubGVuZ3RoIC0gMV0uZ2V0RW5kKCksXG4gICAgICBgLCAke21vZHVsZU5hbWV9YCxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHByb3ZpZGVyc0xpdGVyYWwgPSBmaW5kUHJvdmlkZXJzTGl0ZXJhbChjb25maWcpO1xuXG4gICAgaWYgKHByb3ZpZGVyc0xpdGVyYWwpIHtcbiAgICAgIC8vIElmIHRoZXJlJ3MgYSBgcHJvdmlkZXJzYCBhcnJheSwgYWRkIHRoZSBpbXBvcnQgdG8gaXQuXG4gICAgICBhZGRFbGVtZW50VG9BcnJheShwcm92aWRlcnNMaXRlcmFsLCBpbXBvcnRQcm92aWRlcnNDYWxsLCByZWNvcmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE90aGVyd2lzZSBhZGQgYSBgcHJvdmlkZXJzYCBhcnJheSB0byB0aGUgZXhpc3Rpbmcgb2JqZWN0IGxpdGVyYWwuXG4gICAgICBhZGRQcm92aWRlcnNUb09iamVjdExpdGVyYWwoY29uZmlnLCBpbXBvcnRQcm92aWRlcnNDYWxsLCByZWNvcmRlcik7XG4gICAgfVxuICB9XG5cbiAgdHJlZS5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xufVxuXG4vKipcbiAqIEFkZHMgYSBwcm92aWRlcnMgZnVuY3Rpb24gY2FsbCB0byB0aGUgYGJvb3RzdHJhcEFwcGxpY2F0aW9uYCBjYWxsLlxuICogQHBhcmFtIHRyZWUgRmlsZSB0cmVlIG9mIHRoZSBwcm9qZWN0LlxuICogQHBhcmFtIGZpbGVQYXRoIFBhdGggdG8gdGhlIGZpbGUgdGhhdCBzaG91bGQgYmUgdXBkYXRlZC5cbiAqIEBwYXJhbSBmdW5jdGlvbk5hbWUgTmFtZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkLlxuICogQHBhcmFtIGltcG9ydFBhdGggUGF0aCBmcm9tIHdoaWNoIHRvIGltcG9ydCB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gYXJncyBBcmd1bWVudHMgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBwYXRoIHRoYXQgdGhlIHByb3ZpZGVyIHdhcyBhZGRlZCB0by5cbiAqIEBkZXByZWNhdGVkIFByaXZhdGUgdXRpbGl0eSB0aGF0IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIGBhZGRSb290SW1wb3J0YCBvciBgYWRkUm9vdFByb3ZpZGVyYCBmcm9tXG4gKiBgQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5YCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkRnVuY3Rpb25hbFByb3ZpZGVyc1RvU3RhbmRhbG9uZUJvb3RzdHJhcChcbiAgdHJlZTogVHJlZSxcbiAgZmlsZVBhdGg6IHN0cmluZyxcbiAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gIGltcG9ydFBhdGg6IHN0cmluZyxcbiAgYXJnczogdHMuRXhwcmVzc2lvbltdID0gW10sXG4pOiBzdHJpbmcge1xuICBjb25zdCBzb3VyY2VGaWxlID0gY3JlYXRlU291cmNlRmlsZSh0cmVlLCBmaWxlUGF0aCk7XG4gIGNvbnN0IGJvb3RzdHJhcENhbGwgPSBmaW5kQm9vdHN0cmFwQXBwbGljYXRpb25DYWxsKHNvdXJjZUZpbGUpO1xuICBjb25zdCBhZGRJbXBvcnRzID0gKGZpbGU6IHRzLlNvdXJjZUZpbGUsIHJlY29yZGVyOiBVcGRhdGVSZWNvcmRlcikgPT4ge1xuICAgIGNvbnN0IGNoYW5nZSA9IGluc2VydEltcG9ydChmaWxlLCBmaWxlLmdldFRleHQoKSwgZnVuY3Rpb25OYW1lLCBpbXBvcnRQYXRoKTtcblxuICAgIGlmIChjaGFuZ2UgaW5zdGFuY2VvZiBJbnNlcnRDaGFuZ2UpIHtcbiAgICAgIHJlY29yZGVyLmluc2VydExlZnQoY2hhbmdlLnBvcywgY2hhbmdlLnRvQWRkKTtcbiAgICB9XG4gIH07XG5cbiAgaWYgKCFib290c3RyYXBDYWxsKSB7XG4gICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oYENvdWxkIG5vdCBmaW5kIGJvb3RzdHJhcEFwcGxpY2F0aW9uIGNhbGwgaW4gJHtmaWxlUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IHByb3ZpZGVyc0NhbGwgPSB0cy5mYWN0b3J5LmNyZWF0ZUNhbGxFeHByZXNzaW9uKFxuICAgIHRzLmZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcihmdW5jdGlvbk5hbWUpLFxuICAgIHVuZGVmaW5lZCxcbiAgICBhcmdzLFxuICApO1xuXG4gIC8vIElmIHRoZXJlJ3Mgb25seSBvbmUgYXJndW1lbnQsIHdlIGhhdmUgdG8gY3JlYXRlIGEgbmV3IG9iamVjdCBsaXRlcmFsLlxuICBpZiAoYm9vdHN0cmFwQ2FsbC5hcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgY29uc3QgcmVjb3JkZXIgPSB0cmVlLmJlZ2luVXBkYXRlKGZpbGVQYXRoKTtcbiAgICBhZGROZXdBcHBDb25maWdUb0NhbGwoYm9vdHN0cmFwQ2FsbCwgcHJvdmlkZXJzQ2FsbCwgcmVjb3JkZXIpO1xuICAgIGFkZEltcG9ydHMoc291cmNlRmlsZSwgcmVjb3JkZXIpO1xuICAgIHRyZWUuY29tbWl0VXBkYXRlKHJlY29yZGVyKTtcblxuICAgIHJldHVybiBmaWxlUGF0aDtcbiAgfVxuXG4gIC8vIElmIHRoZSBjb25maWcgaXMgYSBgbWVyZ2VBcHBsaWNhdGlvblByb3ZpZGVyc2AgY2FsbCwgYWRkIGFub3RoZXIgY29uZmlnIHRvIGl0LlxuICBpZiAoaXNNZXJnZUFwcENvbmZpZ0NhbGwoYm9vdHN0cmFwQ2FsbC5hcmd1bWVudHNbMV0pKSB7XG4gICAgY29uc3QgcmVjb3JkZXIgPSB0cmVlLmJlZ2luVXBkYXRlKGZpbGVQYXRoKTtcbiAgICBhZGROZXdBcHBDb25maWdUb0NhbGwoYm9vdHN0cmFwQ2FsbC5hcmd1bWVudHNbMV0sIHByb3ZpZGVyc0NhbGwsIHJlY29yZGVyKTtcbiAgICBhZGRJbXBvcnRzKHNvdXJjZUZpbGUsIHJlY29yZGVyKTtcbiAgICB0cmVlLmNvbW1pdFVwZGF0ZShyZWNvcmRlcik7XG5cbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICAvLyBPdGhlcndpc2UgYXR0ZW1wdCB0byBtZXJnZSBpbnRvIHRoZSBjdXJyZW50IGNvbmZpZy5cbiAgY29uc3QgYXBwQ29uZmlnID0gZmluZEFwcENvbmZpZyhib290c3RyYXBDYWxsLCB0cmVlLCBmaWxlUGF0aCk7XG5cbiAgaWYgKCFhcHBDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihcbiAgICAgIGBDb3VsZCBub3Qgc3RhdGljYWxseSBhbmFseXplIGNvbmZpZyBpbiBib290c3RyYXBBcHBsaWNhdGlvbiBjYWxsIGluICR7ZmlsZVBhdGh9YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgeyBmaWxlUGF0aDogY29uZmlnRmlsZVBhdGgsIG5vZGU6IGNvbmZpZyB9ID0gYXBwQ29uZmlnO1xuICBjb25zdCByZWNvcmRlciA9IHRyZWUuYmVnaW5VcGRhdGUoY29uZmlnRmlsZVBhdGgpO1xuICBjb25zdCBwcm92aWRlcnNMaXRlcmFsID0gZmluZFByb3ZpZGVyc0xpdGVyYWwoY29uZmlnKTtcblxuICBhZGRJbXBvcnRzKGNvbmZpZy5nZXRTb3VyY2VGaWxlKCksIHJlY29yZGVyKTtcblxuICBpZiAocHJvdmlkZXJzTGl0ZXJhbCkge1xuICAgIC8vIElmIHRoZXJlJ3MgYSBgcHJvdmlkZXJzYCBhcnJheSwgYWRkIHRoZSBpbXBvcnQgdG8gaXQuXG4gICAgYWRkRWxlbWVudFRvQXJyYXkocHJvdmlkZXJzTGl0ZXJhbCwgcHJvdmlkZXJzQ2FsbCwgcmVjb3JkZXIpO1xuICB9IGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSBhZGQgYSBgcHJvdmlkZXJzYCBhcnJheSB0byB0aGUgZXhpc3Rpbmcgb2JqZWN0IGxpdGVyYWwuXG4gICAgYWRkUHJvdmlkZXJzVG9PYmplY3RMaXRlcmFsKGNvbmZpZywgcHJvdmlkZXJzQ2FsbCwgcmVjb3JkZXIpO1xuICB9XG5cbiAgdHJlZS5jb21taXRVcGRhdGUocmVjb3JkZXIpO1xuXG4gIHJldHVybiBjb25maWdGaWxlUGF0aDtcbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgY2FsbCB0byBgYm9vdHN0cmFwQXBwbGljYXRpb25gIHdpdGhpbiBhIGZpbGUuXG4gKiBAZGVwcmVjYXRlZCBQcml2YXRlIHV0aWxpdHkgdGhhdCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBgYWRkUm9vdEltcG9ydGAgb3IgYGFkZFJvb3RQcm92aWRlcmAgZnJvbVxuICogYEBzY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eWAgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRCb290c3RyYXBBcHBsaWNhdGlvbkNhbGwoc291cmNlRmlsZTogdHMuU291cmNlRmlsZSk6IHRzLkNhbGxFeHByZXNzaW9uIHwgbnVsbCB7XG4gIGNvbnN0IGxvY2FsTmFtZSA9IGZpbmRJbXBvcnRMb2NhbE5hbWUoXG4gICAgc291cmNlRmlsZSxcbiAgICAnYm9vdHN0cmFwQXBwbGljYXRpb24nLFxuICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJyxcbiAgKTtcblxuICBpZiAoIWxvY2FsTmFtZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbGV0IHJlc3VsdDogdHMuQ2FsbEV4cHJlc3Npb24gfCBudWxsID0gbnVsbDtcblxuICBzb3VyY2VGaWxlLmZvckVhY2hDaGlsZChmdW5jdGlvbiB3YWxrKG5vZGUpIHtcbiAgICBpZiAoXG4gICAgICB0cy5pc0NhbGxFeHByZXNzaW9uKG5vZGUpICYmXG4gICAgICB0cy5pc0lkZW50aWZpZXIobm9kZS5leHByZXNzaW9uKSAmJlxuICAgICAgbm9kZS5leHByZXNzaW9uLnRleHQgPT09IGxvY2FsTmFtZVxuICAgICkge1xuICAgICAgcmVzdWx0ID0gbm9kZTtcbiAgICB9XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgbm9kZS5mb3JFYWNoQ2hpbGQod2Fsayk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogRmluZCBhIGNhbGwgdG8gYGltcG9ydFByb3ZpZGVyc0Zyb21gIHdpdGhpbiBhbiBhcHBsaWNhdGlvbiBjb25maWcuICovXG5mdW5jdGlvbiBmaW5kSW1wb3J0UHJvdmlkZXJzRnJvbUNhbGwoY29uZmlnOiB0cy5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbik6IHRzLkNhbGxFeHByZXNzaW9uIHwgbnVsbCB7XG4gIGNvbnN0IGltcG9ydFByb3ZpZGVyc05hbWUgPSBmaW5kSW1wb3J0TG9jYWxOYW1lKFxuICAgIGNvbmZpZy5nZXRTb3VyY2VGaWxlKCksXG4gICAgJ2ltcG9ydFByb3ZpZGVyc0Zyb20nLFxuICAgICdAYW5ndWxhci9jb3JlJyxcbiAgKTtcbiAgY29uc3QgcHJvdmlkZXJzTGl0ZXJhbCA9IGZpbmRQcm92aWRlcnNMaXRlcmFsKGNvbmZpZyk7XG5cbiAgaWYgKHByb3ZpZGVyc0xpdGVyYWwgJiYgaW1wb3J0UHJvdmlkZXJzTmFtZSkge1xuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBwcm92aWRlcnNMaXRlcmFsLmVsZW1lbnRzKSB7XG4gICAgICAvLyBMb29rIGZvciBhbiBhcnJheSBlbGVtZW50IHRoYXQgY2FsbHMgdGhlIGBpbXBvcnRQcm92aWRlcnNGcm9tYCBmdW5jdGlvbi5cbiAgICAgIGlmIChcbiAgICAgICAgdHMuaXNDYWxsRXhwcmVzc2lvbihlbGVtZW50KSAmJlxuICAgICAgICB0cy5pc0lkZW50aWZpZXIoZWxlbWVudC5leHByZXNzaW9uKSAmJlxuICAgICAgICBlbGVtZW50LmV4cHJlc3Npb24udGV4dCA9PT0gaW1wb3J0UHJvdmlkZXJzTmFtZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKiogRmluZHMgdGhlIGBwcm92aWRlcnNgIGFycmF5IGxpdGVyYWwgd2l0aGluIGFuIGFwcGxpY2F0aW9uIGNvbmZpZy4gKi9cbmZ1bmN0aW9uIGZpbmRQcm92aWRlcnNMaXRlcmFsKFxuICBjb25maWc6IHRzLk9iamVjdExpdGVyYWxFeHByZXNzaW9uLFxuKTogdHMuQXJyYXlMaXRlcmFsRXhwcmVzc2lvbiB8IG51bGwge1xuICBmb3IgKGNvbnN0IHByb3Agb2YgY29uZmlnLnByb3BlcnRpZXMpIHtcbiAgICBpZiAoXG4gICAgICB0cy5pc1Byb3BlcnR5QXNzaWdubWVudChwcm9wKSAmJlxuICAgICAgdHMuaXNJZGVudGlmaWVyKHByb3AubmFtZSkgJiZcbiAgICAgIHByb3AubmFtZS50ZXh0ID09PSAncHJvdmlkZXJzJyAmJlxuICAgICAgdHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKHByb3AuaW5pdGlhbGl6ZXIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcHJvcC5pbml0aWFsaXplcjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgbm9kZSB0aGF0IGRlZmluZXMgdGhlIGFwcCBjb25maWcgZnJvbSBhIGJvb3RzdHJhcCBjYWxsLlxuICogQHBhcmFtIGJvb3RzdHJhcENhbGwgQ2FsbCBmb3Igd2hpY2ggdG8gcmVzb2x2ZSB0aGUgY29uZmlnLlxuICogQHBhcmFtIHRyZWUgRmlsZSB0cmVlIG9mIHRoZSBwcm9qZWN0LlxuICogQHBhcmFtIGZpbGVQYXRoIEZpbGUgcGF0aCBvZiB0aGUgYm9vdHN0cmFwIGNhbGwuXG4gKi9cbmZ1bmN0aW9uIGZpbmRBcHBDb25maWcoXG4gIGJvb3RzdHJhcENhbGw6IHRzLkNhbGxFeHByZXNzaW9uLFxuICB0cmVlOiBUcmVlLFxuICBmaWxlUGF0aDogc3RyaW5nLFxuKTogUmVzb2x2ZWRBcHBDb25maWcgfCBudWxsIHtcbiAgaWYgKGJvb3RzdHJhcENhbGwuYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCBjb25maWcgPSBib290c3RyYXBDYWxsLmFyZ3VtZW50c1sxXTtcblxuICAgIGlmICh0cy5pc09iamVjdExpdGVyYWxFeHByZXNzaW9uKGNvbmZpZykpIHtcbiAgICAgIHJldHVybiB7IGZpbGVQYXRoLCBub2RlOiBjb25maWcgfTtcbiAgICB9XG5cbiAgICBpZiAodHMuaXNJZGVudGlmaWVyKGNvbmZpZykpIHtcbiAgICAgIHJldHVybiByZXNvbHZlQXBwQ29uZmlnRnJvbUlkZW50aWZpZXIoY29uZmlnLCB0cmVlLCBmaWxlUGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGFwcCBjb25maWcgZnJvbSBhbiBpZGVudGlmaWVyIHJlZmVycmluZyB0byBpdC5cbiAqIEBwYXJhbSBpZGVudGlmaWVyIElkZW50aWZpZXIgcmVmZXJyaW5nIHRvIHRoZSBhcHAgY29uZmlnLlxuICogQHBhcmFtIHRyZWUgRmlsZSB0cmVlIG9mIHRoZSBwcm9qZWN0LlxuICogQHBhcmFtIGJvb3RzdGFwRmlsZVBhdGggUGF0aCBvZiB0aGUgYm9vdHN0cmFwIGNhbGwuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVBcHBDb25maWdGcm9tSWRlbnRpZmllcihcbiAgaWRlbnRpZmllcjogdHMuSWRlbnRpZmllcixcbiAgdHJlZTogVHJlZSxcbiAgYm9vdHN0YXBGaWxlUGF0aDogc3RyaW5nLFxuKTogUmVzb2x2ZWRBcHBDb25maWcgfCBudWxsIHtcbiAgY29uc3Qgc291cmNlRmlsZSA9IGlkZW50aWZpZXIuZ2V0U291cmNlRmlsZSgpO1xuXG4gIGZvciAoY29uc3Qgbm9kZSBvZiBzb3VyY2VGaWxlLnN0YXRlbWVudHMpIHtcbiAgICAvLyBPbmx5IGxvb2sgYXQgcmVsYXRpdmUgaW1wb3J0cy4gVGhpcyB3aWxsIGJyZWFrIGlmIHRoZSBhcHAgdXNlcyBhIHBhdGhcbiAgICAvLyBtYXBwaW5nIHRvIHJlZmVyIHRvIHRoZSBpbXBvcnQsIGJ1dCBpbiBvcmRlciB0byByZXNvbHZlIHRob3NlLCB3ZSB3b3VsZFxuICAgIC8vIG5lZWQga25vd2xlZGdlIGFib3V0IHRoZSBlbnRpcmUgcHJvZ3JhbS5cbiAgICBpZiAoXG4gICAgICAhdHMuaXNJbXBvcnREZWNsYXJhdGlvbihub2RlKSB8fFxuICAgICAgIW5vZGUuaW1wb3J0Q2xhdXNlPy5uYW1lZEJpbmRpbmdzIHx8XG4gICAgICAhdHMuaXNOYW1lZEltcG9ydHMobm9kZS5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncykgfHxcbiAgICAgICF0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKG5vZGUubW9kdWxlU3BlY2lmaWVyKSB8fFxuICAgICAgIW5vZGUubW9kdWxlU3BlY2lmaWVyLnRleHQuc3RhcnRzV2l0aCgnLicpXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHNwZWNpZmllciBvZiBub2RlLmltcG9ydENsYXVzZS5uYW1lZEJpbmRpbmdzLmVsZW1lbnRzKSB7XG4gICAgICBpZiAoc3BlY2lmaWVyLm5hbWUudGV4dCAhPT0gaWRlbnRpZmllci50ZXh0KSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBMb29rIGZvciBhIHZhcmlhYmxlIHdpdGggdGhlIGltcG9ydGVkIG5hbWUgaW4gdGhlIGZpbGUuIE5vdGUgdGhhdCBpZGVhbGx5IHdlIHdvdWxkIHVzZVxuICAgICAgLy8gdGhlIHR5cGUgY2hlY2tlciB0byByZXNvbHZlIHRoaXMsIGJ1dCB3ZSBjYW4ndCBiZWNhdXNlIHRoZXNlIHV0aWxpdGllcyBhcmUgc2V0IHVwIHRvXG4gICAgICAvLyBvcGVyYXRlIG9uIGluZGl2aWR1YWwgZmlsZXMsIG5vdCB0aGUgZW50aXJlIHByb2dyYW0uXG4gICAgICBjb25zdCBmaWxlUGF0aCA9IGpvaW4oZGlybmFtZShib290c3RhcEZpbGVQYXRoKSwgbm9kZS5tb2R1bGVTcGVjaWZpZXIudGV4dCArICcudHMnKTtcbiAgICAgIGNvbnN0IGltcG9ydGVkU291cmNlRmlsZSA9IGNyZWF0ZVNvdXJjZUZpbGUodHJlZSwgZmlsZVBhdGgpO1xuICAgICAgY29uc3QgcmVzb2x2ZWRWYXJpYWJsZSA9IGZpbmRBcHBDb25maWdGcm9tVmFyaWFibGVOYW1lKFxuICAgICAgICBpbXBvcnRlZFNvdXJjZUZpbGUsXG4gICAgICAgIChzcGVjaWZpZXIucHJvcGVydHlOYW1lIHx8IHNwZWNpZmllci5uYW1lKS50ZXh0LFxuICAgICAgKTtcblxuICAgICAgaWYgKHJlc29sdmVkVmFyaWFibGUpIHtcbiAgICAgICAgcmV0dXJuIHsgZmlsZVBhdGgsIG5vZGU6IHJlc29sdmVkVmFyaWFibGUgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCB2YXJpYWJsZUluU2FtZUZpbGUgPSBmaW5kQXBwQ29uZmlnRnJvbVZhcmlhYmxlTmFtZShzb3VyY2VGaWxlLCBpZGVudGlmaWVyLnRleHQpO1xuXG4gIHJldHVybiB2YXJpYWJsZUluU2FtZUZpbGUgPyB7IGZpbGVQYXRoOiBib290c3RhcEZpbGVQYXRoLCBub2RlOiB2YXJpYWJsZUluU2FtZUZpbGUgfSA6IG51bGw7XG59XG5cbi8qKlxuICogRmluZHMgYW4gYXBwIGNvbmZpZyB3aXRoaW4gdGhlIHRvcC1sZXZlbCB2YXJpYWJsZXMgb2YgYSBmaWxlLlxuICogQHBhcmFtIHNvdXJjZUZpbGUgRmlsZSBpbiB3aGljaCB0byBzZWFyY2ggZm9yIHRoZSBjb25maWcuXG4gKiBAcGFyYW0gdmFyaWFibGVOYW1lIE5hbWUgb2YgdGhlIHZhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIGNvbmZpZy5cbiAqL1xuZnVuY3Rpb24gZmluZEFwcENvbmZpZ0Zyb21WYXJpYWJsZU5hbWUoXG4gIHNvdXJjZUZpbGU6IHRzLlNvdXJjZUZpbGUsXG4gIHZhcmlhYmxlTmFtZTogc3RyaW5nLFxuKTogdHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24gfCBudWxsIHtcbiAgZm9yIChjb25zdCBub2RlIG9mIHNvdXJjZUZpbGUuc3RhdGVtZW50cykge1xuICAgIGlmICh0cy5pc1ZhcmlhYmxlU3RhdGVtZW50KG5vZGUpKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlY2wgb2Ygbm9kZS5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0cy5pc0lkZW50aWZpZXIoZGVjbC5uYW1lKSAmJlxuICAgICAgICAgIGRlY2wubmFtZS50ZXh0ID09PSB2YXJpYWJsZU5hbWUgJiZcbiAgICAgICAgICBkZWNsLmluaXRpYWxpemVyICYmXG4gICAgICAgICAgdHMuaXNPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihkZWNsLmluaXRpYWxpemVyKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gZGVjbC5pbml0aWFsaXplcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBsb2NhbCBuYW1lIG9mIGFuIGltcG9ydGVkIHN5bWJvbC4gQ291bGQgYmUgdGhlIHN5bWJvbCBuYW1lIGl0c2VsZiBvciBpdHMgYWxpYXMuXG4gKiBAcGFyYW0gc291cmNlRmlsZSBGaWxlIHdpdGhpbiB3aGljaCB0byBzZWFyY2ggZm9yIHRoZSBpbXBvcnQuXG4gKiBAcGFyYW0gbmFtZSBBY3R1YWwgbmFtZSBvZiB0aGUgaW1wb3J0LCBub3QgaXRzIGxvY2FsIGFsaWFzLlxuICogQHBhcmFtIG1vZHVsZU5hbWUgTmFtZSBvZiB0aGUgbW9kdWxlIGZyb20gd2hpY2ggdGhlIHN5bWJvbCBpcyBpbXBvcnRlZC5cbiAqL1xuZnVuY3Rpb24gZmluZEltcG9ydExvY2FsTmFtZShcbiAgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSxcbiAgbmFtZTogc3RyaW5nLFxuICBtb2R1bGVOYW1lOiBzdHJpbmcsXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgZm9yIChjb25zdCBub2RlIG9mIHNvdXJjZUZpbGUuc3RhdGVtZW50cykge1xuICAgIC8vIE9ubHkgbG9vayBmb3IgdG9wLWxldmVsIGltcG9ydHMuXG4gICAgaWYgKFxuICAgICAgIXRzLmlzSW1wb3J0RGVjbGFyYXRpb24obm9kZSkgfHxcbiAgICAgICF0cy5pc1N0cmluZ0xpdGVyYWwobm9kZS5tb2R1bGVTcGVjaWZpZXIpIHx8XG4gICAgICBub2RlLm1vZHVsZVNwZWNpZmllci50ZXh0ICE9PSBtb2R1bGVOYW1lXG4gICAgKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBGaWx0ZXIgb3V0IGltcG9ydHMgdGhhdCBkb24ndCBoYXZlIHRoZSByaWdodCBzaGFwZS5cbiAgICBpZiAoXG4gICAgICAhbm9kZS5pbXBvcnRDbGF1c2UgfHxcbiAgICAgICFub2RlLmltcG9ydENsYXVzZS5uYW1lZEJpbmRpbmdzIHx8XG4gICAgICAhdHMuaXNOYW1lZEltcG9ydHMobm9kZS5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncylcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIExvb2sgdGhyb3VnaCB0aGUgZWxlbWVudHMgb2YgdGhlIGRlY2xhcmF0aW9uIGZvciB0aGUgc3BlY2lmaWMgaW1wb3J0LlxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBub2RlLmltcG9ydENsYXVzZS5uYW1lZEJpbmRpbmdzLmVsZW1lbnRzKSB7XG4gICAgICBpZiAoKGVsZW1lbnQucHJvcGVydHlOYW1lIHx8IGVsZW1lbnQubmFtZSkudGV4dCA9PT0gbmFtZSkge1xuICAgICAgICAvLyBUaGUgbG9jYWwgbmFtZSBpcyBhbHdheXMgaW4gYG5hbWVgLlxuICAgICAgICByZXR1cm4gZWxlbWVudC5uYW1lLnRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKiBDcmVhdGVzIGEgc291cmNlIGZpbGUgZnJvbSBhIGZpbGUgcGF0aCB3aXRoaW4gYSBwcm9qZWN0LiAqL1xuZnVuY3Rpb24gY3JlYXRlU291cmNlRmlsZSh0cmVlOiBUcmVlLCBmaWxlUGF0aDogc3RyaW5nKTogdHMuU291cmNlRmlsZSB7XG4gIHJldHVybiB0cy5jcmVhdGVTb3VyY2VGaWxlKGZpbGVQYXRoLCB0cmVlLnJlYWRUZXh0KGZpbGVQYXRoKSwgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCwgdHJ1ZSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBhcHAgY29uZmlnIG9iamVjdCBsaXRlcmFsIGFuZCBhZGRzIGl0IHRvIGEgY2FsbCBleHByZXNzaW9uIGFzIGFuIGFyZ3VtZW50LlxuICogQHBhcmFtIGNhbGwgQ2FsbCB0byB3aGljaCB0byBhZGQgdGhlIGNvbmZpZy5cbiAqIEBwYXJhbSBleHByZXNzaW9uIEV4cHJlc3Npb24gdGhhdCBzaG91bGQgaW5zZXJ0ZWQgaW50byB0aGUgbmV3IGNvbmZpZy5cbiAqIEBwYXJhbSByZWNvcmRlciBSZWNvcmRlciB0byB3aGljaCB0byBsb2cgdGhlIGNoYW5nZS5cbiAqL1xuZnVuY3Rpb24gYWRkTmV3QXBwQ29uZmlnVG9DYWxsKFxuICBjYWxsOiB0cy5DYWxsRXhwcmVzc2lvbixcbiAgZXhwcmVzc2lvbjogdHMuRXhwcmVzc2lvbixcbiAgcmVjb3JkZXI6IFVwZGF0ZVJlY29yZGVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IG5ld0NhbGwgPSB0cy5mYWN0b3J5LnVwZGF0ZUNhbGxFeHByZXNzaW9uKGNhbGwsIGNhbGwuZXhwcmVzc2lvbiwgY2FsbC50eXBlQXJndW1lbnRzLCBbXG4gICAgLi4uY2FsbC5hcmd1bWVudHMsXG4gICAgdHMuZmFjdG9yeS5jcmVhdGVPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihcbiAgICAgIFtcbiAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoXG4gICAgICAgICAgJ3Byb3ZpZGVycycsXG4gICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVBcnJheUxpdGVyYWxFeHByZXNzaW9uKFtleHByZXNzaW9uXSksXG4gICAgICAgICksXG4gICAgICBdLFxuICAgICAgdHJ1ZSxcbiAgICApLFxuICBdKTtcblxuICByZWNvcmRlci5yZW1vdmUoY2FsbC5nZXRTdGFydCgpLCBjYWxsLmdldFdpZHRoKCkpO1xuICByZWNvcmRlci5pbnNlcnRSaWdodChcbiAgICBjYWxsLmdldFN0YXJ0KCksXG4gICAgdHMuY3JlYXRlUHJpbnRlcigpLnByaW50Tm9kZSh0cy5FbWl0SGludC5VbnNwZWNpZmllZCwgbmV3Q2FsbCwgY2FsbC5nZXRTb3VyY2VGaWxlKCkpLFxuICApO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gZWxlbWVudCB0byBhbiBhcnJheSBsaXRlcmFsIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0gbm9kZSBBcnJheSB0byB3aGljaCB0byBhZGQgdGhlIGVsZW1lbnQuXG4gKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGFkZGVkLlxuICogQHBhcmFtIHJlY29yZGVyIFJlY29yZGVyIHRvIHdoaWNoIHRvIGxvZyB0aGUgY2hhbmdlLlxuICovXG5mdW5jdGlvbiBhZGRFbGVtZW50VG9BcnJheShcbiAgbm9kZTogdHMuQXJyYXlMaXRlcmFsRXhwcmVzc2lvbixcbiAgZWxlbWVudDogdHMuRXhwcmVzc2lvbixcbiAgcmVjb3JkZXI6IFVwZGF0ZVJlY29yZGVyLFxuKTogdm9pZCB7XG4gIGNvbnN0IG5ld0xpdGVyYWwgPSB0cy5mYWN0b3J5LnVwZGF0ZUFycmF5TGl0ZXJhbEV4cHJlc3Npb24obm9kZSwgWy4uLm5vZGUuZWxlbWVudHMsIGVsZW1lbnRdKTtcbiAgcmVjb3JkZXIucmVtb3ZlKG5vZGUuZ2V0U3RhcnQoKSwgbm9kZS5nZXRXaWR0aCgpKTtcbiAgcmVjb3JkZXIuaW5zZXJ0UmlnaHQoXG4gICAgbm9kZS5nZXRTdGFydCgpLFxuICAgIHRzLmNyZWF0ZVByaW50ZXIoKS5wcmludE5vZGUodHMuRW1pdEhpbnQuVW5zcGVjaWZpZWQsIG5ld0xpdGVyYWwsIG5vZGUuZ2V0U291cmNlRmlsZSgpKSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBZGRzIGEgYHByb3ZpZGVyc2AgcHJvcGVydHkgdG8gYW4gb2JqZWN0IGxpdGVyYWwuXG4gKiBAcGFyYW0gbm9kZSBMaXRlcmFsIHRvIHdoaWNoIHRvIGFkZCB0aGUgYHByb3ZpZGVyc2AuXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBQcm92aWRlciB0aGF0IHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBnZW5lcmF0ZWQgYHByb3ZpZGVyc2AgYXJyYXkuXG4gKiBAcGFyYW0gcmVjb3JkZXIgUmVjb3JkZXIgdG8gd2hpY2ggdG8gbG9nIHRoZSBjaGFuZ2UuXG4gKi9cbmZ1bmN0aW9uIGFkZFByb3ZpZGVyc1RvT2JqZWN0TGl0ZXJhbChcbiAgbm9kZTogdHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24sXG4gIGV4cHJlc3Npb246IHRzLkV4cHJlc3Npb24sXG4gIHJlY29yZGVyOiBVcGRhdGVSZWNvcmRlcixcbikge1xuICBjb25zdCBuZXdPcHRpb25zTGl0ZXJhbCA9IHRzLmZhY3RvcnkudXBkYXRlT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24obm9kZSwgW1xuICAgIC4uLm5vZGUucHJvcGVydGllcyxcbiAgICB0cy5mYWN0b3J5LmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudChcbiAgICAgICdwcm92aWRlcnMnLFxuICAgICAgdHMuZmFjdG9yeS5jcmVhdGVBcnJheUxpdGVyYWxFeHByZXNzaW9uKFtleHByZXNzaW9uXSksXG4gICAgKSxcbiAgXSk7XG4gIHJlY29yZGVyLnJlbW92ZShub2RlLmdldFN0YXJ0KCksIG5vZGUuZ2V0V2lkdGgoKSk7XG4gIHJlY29yZGVyLmluc2VydFJpZ2h0KFxuICAgIG5vZGUuZ2V0U3RhcnQoKSxcbiAgICB0cy5jcmVhdGVQcmludGVyKCkucHJpbnROb2RlKHRzLkVtaXRIaW50LlVuc3BlY2lmaWVkLCBuZXdPcHRpb25zTGl0ZXJhbCwgbm9kZS5nZXRTb3VyY2VGaWxlKCkpLFxuICApO1xufVxuXG4vKiogQ2hlY2tzIHdoZXRoZXIgYSBub2RlIGlzIGEgY2FsbCB0byBgbWVyZ2VBcHBsaWNhdGlvbkNvbmZpZ2AuICovXG5mdW5jdGlvbiBpc01lcmdlQXBwQ29uZmlnQ2FsbChub2RlOiB0cy5Ob2RlKTogbm9kZSBpcyB0cy5DYWxsRXhwcmVzc2lvbiB7XG4gIGlmICghdHMuaXNDYWxsRXhwcmVzc2lvbihub2RlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxvY2FsTmFtZSA9IGZpbmRJbXBvcnRMb2NhbE5hbWUoXG4gICAgbm9kZS5nZXRTb3VyY2VGaWxlKCksXG4gICAgJ21lcmdlQXBwbGljYXRpb25Db25maWcnLFxuICAgICdAYW5ndWxhci9jb3JlJyxcbiAgKTtcblxuICByZXR1cm4gISFsb2NhbE5hbWUgJiYgdHMuaXNJZGVudGlmaWVyKG5vZGUuZXhwcmVzc2lvbikgJiYgbm9kZS5leHByZXNzaW9uLnRleHQgPT09IGxvY2FsTmFtZTtcbn1cbiJdfQ== |
@@ -12,17 +12,17 @@ # @schematics/angular | ||
| application | Generates a new basic app definition in the "projects" subfolder of the workspace | | ||
| class | Creates a new, generic class definition in the given or default project | | ||
| component | Creates a new, generic component definition in the given or default project | | ||
| directive | Creates a new, generic directive definition in the given or default project | | ||
| enum | Generates a new, generic enum definition for the given or default project | | ||
| guard | Generates a new, generic route guard definition in the given or default project | | ||
| interceptor | Creates a new, generic interceptor definition in the given or default project | | ||
| interface | Creates a new, generic interface definition in the given or default project | | ||
| class | Creates a new, generic class definition in the given project | | ||
| component | Creates a new, generic component definition in the given project | | ||
| directive | Creates a new, generic directive definition in the given project | | ||
| enum | Generates a new, generic enum definition in the given project | | ||
| guard | Generates a new, generic route guard definition in the given project | | ||
| interceptor | Creates a new, generic interceptor definition in the given project | | ||
| interface | Creates a new, generic interface definition in the given project | | ||
| library | Creates a new, generic library project in the current workspace | | ||
| module | Creates a new, generic NgModule definition in the given or default project | | ||
| module | Creates a new, generic NgModule definition in the given project | | ||
| ng-new | Creates a new project by combining the workspace and application schematics | | ||
| pipe | Creates a new, generic pipe definition in the given or default project | | ||
| resolver | Creates a new, generic resolver definition in the given or default project | | ||
| service | Creates a new, generic service definition in the given or default project | | ||
| pipe | Creates a new, generic pipe definition in the given project | | ||
| resolver | Creates a new, generic resolver definition in the given project | | ||
| service | Creates a new, generic service definition in the given project | | ||
| service-worker | Pass this schematic to the "run" command to create a service worker | | ||
| web-worker | Creates a new, generic web worker definition in the given or default project | | ||
| web-worker | Creates a new, generic web worker definition in the given project | | ||
| workspace | Initializes an empty workspace and adds the necessary dependencies required by an Angular application | | ||
@@ -29,0 +29,0 @@ |
@@ -12,4 +12,7 @@ "use strict"; | ||
function default_1(options) { | ||
return (0, generate_from_files_1.generateFromFiles)(options); | ||
return options.functional | ||
? (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './functional-files' }) | ||
: (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './class-files' }); | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvcmVzb2x2ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7QUFHSCx3RUFBbUU7QUFHbkUsbUJBQXlCLE9BQWU7SUFDdEMsT0FBTyxPQUFPLENBQUMsVUFBVTtRQUN2QixDQUFDLENBQUMsSUFBQSx1Q0FBaUIsRUFBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLENBQUM7UUFDakYsQ0FBQyxDQUFDLElBQUEsdUNBQWlCLEVBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFKRCw0QkFJQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgZ2VuZXJhdGVGcm9tRmlsZXMgfSBmcm9tICcuLi91dGlsaXR5L2dlbmVyYXRlLWZyb20tZmlsZXMnO1xuaW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogU2NoZW1hKTogUnVsZSB7XG4gIHJldHVybiBvcHRpb25zLmZ1bmN0aW9uYWxcbiAgICA/IGdlbmVyYXRlRnJvbUZpbGVzKHsgLi4ub3B0aW9ucywgdGVtcGxhdGVGaWxlc0RpcmVjdG9yeTogJy4vZnVuY3Rpb25hbC1maWxlcycgfSlcbiAgICA6IGdlbmVyYXRlRnJvbUZpbGVzKHsgLi4ub3B0aW9ucywgdGVtcGxhdGVGaWxlc0RpcmVjdG9yeTogJy4vY2xhc3MtZmlsZXMnIH0pO1xufVxuIl19 |
/** | ||
* Generates a new, generic resolver definition in the given or default project. | ||
* Generates a new, generic resolver definition in the given project. | ||
*/ | ||
@@ -10,2 +10,6 @@ export interface Schema { | ||
/** | ||
* Creates the resolver as a `ResolveFn`. | ||
*/ | ||
functional?: boolean; | ||
/** | ||
* The name of the new resolver. | ||
@@ -22,3 +26,3 @@ */ | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -25,0 +29,0 @@ * Do not create "spec.ts" test files for the new resolver. |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3Jlc29sdmVyL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG5ldywgZ2VuZXJpYyByZXNvbHZlciBkZWZpbml0aW9uIGluIHRoZSBnaXZlbiBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlICh0aGUgZGVmYXVsdCksIGNyZWF0ZXMgdGhlIG5ldyBmaWxlcyBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBjdXJyZW50IHByb2plY3QuXG4gICAgICovXG4gICAgZmxhdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgcmVzb2x2ZXIgYXMgYSBgUmVzb2x2ZUZuYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbmFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgbmV3IHJlc29sdmVyLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIGludGVyZmFjZSB0aGF0IGRlZmluZXMgdGhlIHJlc29sdmVyLCByZWxhdGl2ZSB0byB0aGVcbiAgICAgKiBjdXJyZW50IHdvcmtzcGFjZS5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBuZXcgcmVzb2x2ZXIuXG4gICAgICovXG4gICAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbn1cbiJdfQ== |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Generates a new, generic resolver definition in the given or default project.", | ||
"description": "Generates a new, generic resolver definition in the given project.", | ||
"properties": { | ||
@@ -22,4 +22,3 @@ "name": { | ||
"description": "Do not create \"spec.ts\" test files for the new resolver.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
}, | ||
@@ -31,2 +30,7 @@ "flat": { | ||
}, | ||
"functional": { | ||
"type": "boolean", | ||
"description": "Creates the resolver as a `ResolveFn`.", | ||
"default": true | ||
}, | ||
"path": { | ||
@@ -49,3 +53,3 @@ "type": "string", | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -36,2 +36,3 @@ "use strict"; | ||
const tasks_1 = require("@angular-devkit/schematics/tasks"); | ||
const standalone_1 = require("../private/standalone"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
@@ -66,37 +67,8 @@ const utility_1 = require("../utility"); | ||
context.logger.debug(`module path: ${modulePath}`); | ||
// add import | ||
let moduleSource = getTsSourceFile(host, modulePath); | ||
let importModule = 'ServiceWorkerModule'; | ||
let importPath = '@angular/service-worker'; | ||
if (!(0, ast_utils_1.isImported)(moduleSource, importModule, importPath)) { | ||
const change = (0, ast_utils_1.insertImport)(moduleSource, modulePath, importModule, importPath); | ||
if (change) { | ||
const recorder = host.beginUpdate(modulePath); | ||
(0, change_1.applyToUpdateRecorder)(recorder, [change]); | ||
host.commitUpdate(recorder); | ||
} | ||
} | ||
// add import for environments | ||
// import { environment } from '../environments/environment'; | ||
moduleSource = getTsSourceFile(host, modulePath); | ||
const environmentExportName = (0, ast_utils_1.getEnvironmentExportName)(moduleSource); | ||
// if environemnt import already exists then use the found one | ||
// otherwise use the default name | ||
importModule = environmentExportName || 'environment'; | ||
// TODO: dynamically find environments relative path | ||
importPath = '../environments/environment'; | ||
if (!environmentExportName) { | ||
// if environment import was not found then insert the new one | ||
// with default path and default export name | ||
const change = (0, ast_utils_1.insertImport)(moduleSource, modulePath, importModule, importPath); | ||
if (change) { | ||
const recorder = host.beginUpdate(modulePath); | ||
(0, change_1.applyToUpdateRecorder)(recorder, [change]); | ||
host.commitUpdate(recorder); | ||
} | ||
} | ||
addImport(host, modulePath, 'ServiceWorkerModule', '@angular/service-worker'); | ||
addImport(host, modulePath, 'isDevMode', '@angular/core'); | ||
// register SW in application module | ||
const importText = core_1.tags.stripIndent ` | ||
ServiceWorkerModule.register('ngsw-worker.js', { | ||
enabled: ${importModule}.production, | ||
enabled: !isDevMode(), | ||
// Register the ServiceWorker as soon as the application is stable | ||
@@ -107,3 +79,3 @@ // or after 30 seconds (whichever comes first). | ||
`; | ||
moduleSource = getTsSourceFile(host, modulePath); | ||
const moduleSource = getTsSourceFile(host, modulePath); | ||
const metadataChanges = (0, ast_utils_1.addSymbolToNgModuleMetadata)(moduleSource, modulePath, 'imports', importText); | ||
@@ -118,2 +90,15 @@ if (metadataChanges) { | ||
} | ||
function addProvideServiceWorker(mainPath) { | ||
return (host) => { | ||
const updatedFilePath = (0, standalone_1.addFunctionalProvidersToStandaloneBootstrap)(host, mainPath, 'provideServiceWorker', '@angular/service-worker', [ | ||
ts.factory.createStringLiteral('ngsw-worker.js', true), | ||
ts.factory.createObjectLiteralExpression([ | ||
ts.factory.createPropertyAssignment(ts.factory.createIdentifier('enabled'), ts.factory.createPrefixUnaryExpression(ts.SyntaxKind.ExclamationToken, ts.factory.createCallExpression(ts.factory.createIdentifier('isDevMode'), undefined, []))), | ||
ts.factory.createPropertyAssignment(ts.factory.createIdentifier('registrationStrategy'), ts.factory.createStringLiteral('registerWhenStable:30000', true)), | ||
], true), | ||
]); | ||
addImport(host, updatedFilePath, 'isDevMode', '@angular/core'); | ||
return host; | ||
}; | ||
} | ||
function getTsSourceFile(host, path) { | ||
@@ -146,16 +131,16 @@ const content = host.readText(path); | ||
} | ||
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [ | ||
(0, schematics_1.applyTemplates)({ | ||
...options, | ||
resourcesOutputPath, | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(project.root), | ||
}), | ||
(0, schematics_1.move)(project.root), | ||
]); | ||
context.addTask(new tasks_1.NodePackageInstallTask()); | ||
await (0, utility_1.writeWorkspace)(host, workspace); | ||
const { main } = buildOptions; | ||
return (0, schematics_1.chain)([ | ||
(0, schematics_1.mergeWith)(templateSource), | ||
(0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [ | ||
(0, schematics_1.applyTemplates)({ | ||
...options, | ||
resourcesOutputPath, | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(project.root), | ||
}), | ||
(0, schematics_1.move)(project.root), | ||
])), | ||
addDependencies(), | ||
updateAppModule(buildOptions.main), | ||
(0, ng_ast_utils_1.isStandaloneApp)(host, main) ? addProvideServiceWorker(main) : updateAppModule(main), | ||
]); | ||
@@ -165,1 +150,11 @@ }; | ||
exports.default = default_1; | ||
function addImport(host, filePath, symbolName, moduleName) { | ||
const moduleSource = getTsSourceFile(host, filePath); | ||
const change = (0, ast_utils_1.insertImport)(moduleSource, filePath, symbolName, moduleName); | ||
if (change) { | ||
const recorder = host.beginUpdate(filePath); | ||
(0, change_1.applyToUpdateRecorder)(recorder, [change]); | ||
host.commitUpdate(recorder); | ||
} | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvc2VydmljZS13b3JrZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILCtDQUE2RDtBQUM3RCwyREFXb0M7QUFDcEMsNERBQTBFO0FBQzFFLHNEQUFvRjtBQUNwRixrR0FBb0Y7QUFDcEYsd0NBQTJEO0FBQzNELG9EQUFpRjtBQUNqRiw4Q0FBMEQ7QUFDMUQsMERBQTZGO0FBQzdGLDBEQUE0RTtBQUM1RSw0Q0FBK0Q7QUFDL0QsZ0VBQXNFO0FBSXRFLFNBQVMsZUFBZTtJQUN0QixPQUFPLENBQUMsSUFBVSxFQUFFLE9BQXlCLEVBQUUsRUFBRTtRQUMvQyxNQUFNLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztRQUM5QyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFBLHVDQUF3QixFQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNoRSxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDcEIsTUFBTSxJQUFJLGdDQUFtQixDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDMUQ7UUFDRCxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUM7UUFDRixJQUFBLHVDQUF3QixFQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWpELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLFFBQWdCO0lBQ3ZDLE9BQU8sQ0FBQyxJQUFVLEVBQUUsT0FBeUIsRUFBRSxFQUFFO1FBQy9DLE9BQU8sQ0FBQyxN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QUMsQ0FBQztLQUM3QjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgam9pbiwgbm9ybWFsaXplLCB0YWdzIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgUnVsZSxcbiAgU2NoZW1hdGljQ29udGV4dCxcbiAgU2NoZW1hdGljc0V4Y2VwdGlvbixcbiAgVHJlZSxcbiAgYXBwbHksXG4gIGFwcGx5VGVtcGxhdGVzLFxuICBjaGFpbixcbiAgbWVyZ2VXaXRoLFxuICBtb3ZlLFxuICB1cmwsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2sgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcy90YXNrcyc7XG5pbXBvcnQgeyBhZGRGdW5jdGlvbmFsUHJvdmlkZXJzVG9TdGFuZGFsb25lQm9vdHN0cmFwIH0gZnJvbSAnLi4vcHJpdmF0ZS9zdGFuZGFsb25lJztcbmltcG9ydCAqIGFzIHRzIGZyb20gJy4uL3RoaXJkX3BhcnR5L2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvbGliL3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgcmVhZFdvcmtzcGFjZSwgd3JpdGVXb3Jrc3BhY2UgfSBmcm9tICcuLi91dGlsaXR5JztcbmltcG9ydCB7IGFkZFN5bWJvbFRvTmdNb2R1bGVNZXRhZGF0YSwgaW5zZXJ0SW1wb3J0IH0gZnJvbSAnLi4vdXRpbGl0eS9hc3QtdXRpbHMnO1xuaW1wb3J0IHsgYXBwbHlUb1VwZGF0ZVJlY29yZGVyIH0gZnJvbSAnLi4vdXRpbGl0eS9jaGFuZ2UnO1xuaW1wb3J0IHsgYWRkUGFja2FnZUpzb25EZXBlbmRlbmN5LCBnZXRQYWNrYWdlSnNvbkRlcGVuZGVuY3kgfSBmcm9tICcuLi91dGlsaXR5L2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBnZXRBcHBNb2R1bGVQYXRoLCBpc1N0YW5kYWxvbmVBcHAgfSBmcm9tICcuLi91dGlsaXR5L25nLWFzdC11dGlscyc7XG5pbXBvcnQgeyByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3QgfSBmcm9tICcuLi91dGlsaXR5L3BhdGhzJztcbmltcG9ydCB7IHRhcmdldEJ1aWxkTm90Rm91bmRFcnJvciB9IGZyb20gJy4uL3V0aWxpdHkvcHJvamVjdC10YXJnZXRzJztcbmltcG9ydCB7IEJyb3dzZXJCdWlsZGVyT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlLW1vZGVscyc7XG5pbXBvcnQgeyBTY2hlbWEgYXMgU2VydmljZVdvcmtlck9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmZ1bmN0aW9uIGFkZERlcGVuZGVuY2llcygpOiBSdWxlIHtcbiAgcmV0dXJuIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSAnQGFuZ3VsYXIvc2VydmljZS13b3JrZXInO1xuICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGBhZGRpbmcgZGVwZW5kZW5jeSAoJHtwYWNrYWdlTmFtZX0pYCk7XG4gICAgY29uc3QgY29yZURlcCA9IGdldFBhY2thZ2VKc29uRGVwZW5kZW5jeShob3N0LCAnQGFuZ3VsYXIvY29yZScpO1xuICAgIGlmIChjb3JlRGVwID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgdmVyc2lvbi4nKTtcbiAgICB9XG4gICAgY29uc3Qgc2VydmljZVdvcmtlckRlcCA9IHtcbiAgICAgIC4uLmNvcmVEZXAsXG4gICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICB9O1xuICAgIGFkZFBhY2thZ2VKc29uRGVwZW5kZW5jeShob3N0LCBzZXJ2aWNlV29ya2VyRGVwKTtcblxuICAgIHJldHVybiBob3N0O1xuICB9O1xufVxuXG5mdW5jdGlvbiB1cGRhdGVBcHBNb2R1bGUobWFpblBhdGg6IHN0cmluZyk6IFJ1bGUge1xuICByZXR1cm4gKGhvc3Q6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb250ZXh0LmxvZ2dlci5kZWJ1ZygnVXBkYXRpbmcgYXBwbW9kdWxlJyk7XG5cbiAgICBjb25zdCBtb2R1bGVQYXRoID0gZ2V0QXBwTW9kdWxlUGF0aChob3N0LCBtYWluUGF0aCk7XG4gICAgY29udGV4dC5sb2dnZXIuZGVidWcoYG1vZHVsZSBwYXRoOiAke21vZHVsZVBhdGh9YCk7XG5cbiAgICBhZGRJbXBvcnQoaG9zdCwgbW9kdWxlUGF0aCwgJ1NlcnZpY2VXb3JrZXJNb2R1bGUnLCAnQGFuZ3VsYXIvc2VydmljZS13b3JrZXInKTtcbiAgICBhZGRJbXBvcnQoaG9zdCwgbW9kdWxlUGF0aCwgJ2lzRGV2TW9kZScsICdAYW5ndWxhci9jb3JlJyk7XG5cbiAgICAvLyByZWdpc3RlciBTVyBpbiBhcHBsaWNhdGlvbiBtb2R1bGVcbiAgICBjb25zdCBpbXBvcnRUZXh0ID0gdGFncy5zdHJpcEluZGVudGBcbiAgICAgIFNlcnZpY2VXb3JrZXJNb2R1bGUucmVnaXN0ZXIoJ25nc3ctd29ya2VyLmpzJywge1xuICAgICAgICBlbmFibGVkOiAhaXNEZXZNb2RlKCksXG4gICAgICAgIC8vIFJlZ2lzdGVyIHRoZSBTZXJ2aWNlV29ya2VyIGFzIHNvb24gYXMgdGhlIGFwcGxpY2F0aW9uIGlzIHN0YWJsZVxuICAgICAgICAvLyBvciBhZnRlciAzMCBzZWNvbmRzICh3aGljaGV2ZXIgY29tZXMgZmlyc3QpLlxuICAgICAgICByZWdpc3RyYXRpb25TdHJhdGVneTogJ3JlZ2lzdGVyV2hlblN0YWJsZTozMDAwMCdcbiAgICAgIH0pXG4gICAgYDtcbiAgICBjb25zdCBtb2R1bGVTb3VyY2UgPSBnZXRUc1NvdXJjZUZpbGUoaG9zdCwgbW9kdWxlUGF0aCk7XG4gICAgY29uc3QgbWV0YWRhdGFDaGFuZ2VzID0gYWRkU3ltYm9sVG9OZ01vZHVsZU1ldGFkYXRhKFxuICAgICAgbW9kdWxlU291cmNlLFxuICAgICAgbW9kdWxlUGF0aCxcbiAgICAgICdpbXBvcnRzJyxcbiAgICAgIGltcG9ydFRleHQsXG4gICAgKTtcbiAgICBpZiAobWV0YWRhdGFDaGFuZ2VzKSB7XG4gICAgICBjb25zdCByZWNvcmRlciA9IGhvc3QuYmVnaW5VcGRhdGUobW9kdWxlUGF0aCk7XG4gICAgICBhcHBseVRvVXBkYXRlUmVjb3JkZXIocmVjb3JkZXIsIG1ldGFkYXRhQ2hhbmdlcyk7XG4gICAgICBob3N0LmNvbW1pdFVwZGF0ZShyZWNvcmRlcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvc3Q7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZFByb3ZpZGVTZXJ2aWNlV29ya2VyKG1haW5QYXRoOiBzdHJpbmcpOiBSdWxlIHtcbiAgcmV0dXJuIChob3N0OiBUcmVlKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlZEZpbGVQYXRoID0gYWRkRnVuY3Rpb25hbFByb3ZpZGVyc1RvU3RhbmRhbG9uZUJvb3RzdHJhcChcbiAgICAgIGhvc3QsXG4gICAgICBtYWluUGF0aCxcbiAgICAgICdwcm92aWRlU2VydmljZVdvcmtlcicsXG4gICAgICAnQGFuZ3VsYXIvc2VydmljZS13b3JrZXInLFxuICAgICAgW1xuICAgICAgICB0cy5mYWN0b3J5LmNyZWF0ZVN0cmluZ0xpdGVyYWwoJ25nc3ctd29ya2VyLmpzJywgdHJ1ZSksXG4gICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24oXG4gICAgICAgICAgW1xuICAgICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoXG4gICAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcignZW5hYmxlZCcpLFxuICAgICAgICAgICAgICB0cy5mYWN0b3J5LmNyZWF0ZVByZWZpeFVuYXJ5RXhwcmVzc2lvbihcbiAgICAgICAgICAgICAgICB0cy5TeW50YXhLaW5kLkV4Y2xhbWF0aW9uVG9rZW4sXG4gICAgICAgICAgICAgICAgdHMuZmFjdG9yeS5jcmVhdGVDYWxsRXhwcmVzc2lvbihcbiAgICAgICAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcignaXNEZXZNb2RlJyksXG4gICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlUHJvcGVydHlBc3NpZ25tZW50KFxuICAgICAgICAgICAgICB0cy5mYWN0b3J5LmNyZWF0ZUlkZW50aWZpZXIoJ3JlZ2lzdHJhdGlvblN0cmF0ZWd5JyksXG4gICAgICAgICAgICAgIHRzLmZhY3RvcnkuY3JlYXRlU3RyaW5nTGl0ZXJhbCgncmVnaXN0ZXJXaGVuU3RhYmxlOjMwMDAwJywgdHJ1ZSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgKTtcblxuICAgIGFkZEltcG9ydChob3N0LCB1cGRhdGVkRmlsZVBhdGgsICdpc0Rldk1vZGUnLCAnQGFuZ3VsYXIvY29yZScpO1xuXG4gICAgcmV0dXJuIGhvc3Q7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFRzU291cmNlRmlsZShob3N0OiBUcmVlLCBwYXRoOiBzdHJpbmcpOiB0cy5Tb3VyY2VGaWxlIHtcbiAgY29uc3QgY29udGVudCA9IGhvc3QucmVhZFRleHQocGF0aCk7XG4gIGNvbnN0IHNvdXJjZSA9IHRzLmNyZWF0ZVNvdXJjZUZpbGUocGF0aCwgY29udGVudCwgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCwgdHJ1ZSk7XG5cbiAgcmV0dXJuIHNvdXJjZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKG9wdGlvbnM6IFNlcnZpY2VXb3JrZXJPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSwgY29udGV4dDogU2NoZW1hdGljQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IHJlYWRXb3Jrc3BhY2UoaG9zdCk7XG4gICAgY29uc3QgcHJvamVjdCA9IHdvcmtzcGFjZS5wcm9qZWN0cy5nZXQob3B0aW9ucy5wcm9qZWN0KTtcbiAgICBpZiAoIXByb2plY3QpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBJbnZhbGlkIHByb2plY3QgbmFtZSAoJHtvcHRpb25zLnByb2plY3R9KWApO1xuICAgIH1cbiAgICBpZiAocHJvamVjdC5leHRlbnNpb25zLnByb2plY3RUeXBlICE9PSAnYXBwbGljYXRpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgU2VydmljZSB3b3JrZXIgcmVxdWlyZXMgYSBwcm9qZWN0IHR5cGUgb2YgXCJhcHBsaWNhdGlvblwiLmApO1xuICAgIH1cbiAgICBjb25zdCBidWlsZFRhcmdldCA9IHByb2plY3QudGFyZ2V0cy5nZXQoJ2J1aWxkJyk7XG4gICAgaWYgKCFidWlsZFRhcmdldCkge1xuICAgICAgdGhyb3cgdGFyZ2V0QnVpbGROb3RGb3VuZEVycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkT3B0aW9ucyA9IChidWlsZFRhcmdldC5vcHRpb25zIHx8IHt9KSBhcyB1bmtub3duIGFzIEJyb3dzZXJCdWlsZGVyT3B0aW9ucztcbiAgICBjb25zdCByb290ID0gcHJvamVjdC5yb290O1xuICAgIGJ1aWxkT3B0aW9ucy5zZXJ2aWNlV29ya2VyID0gdHJ1ZTtcbiAgICBidWlsZE9wdGlvbnMubmdzd0NvbmZpZ1BhdGggPSBqb2luKG5vcm1hbGl6ZShyb290KSwgJ25nc3ctY29uZmlnLmpzb24nKTtcblxuICAgIGxldCB7IHJlc291cmNlc091dHB1dFBhdGggPSAnJyB9ID0gYnVpbGRPcHRpb25zO1xuICAgIGlmIChyZXNvdXJjZXNPdXRwdXRQYXRoKSB7XG4gICAgICByZXNvdXJjZXNPdXRwdXRQYXRoID0gbm9ybWFsaXplKGAvJHtyZXNvdXJjZXNPdXRwdXRQYXRofWApO1xuICAgIH1cblxuICAgIGNvbnRleHQuYWRkVGFzayhuZXcgTm9kZVBhY2thZ2VJbnN0YWxsVGFzaygpKTtcblxuICAgIGF3YWl0IHdyaXRlV29ya3NwYWNlKGhvc3QsIHdvcmtzcGFjZSk7XG5cbiAgICBjb25zdCB7IG1haW4gfSA9IGJ1aWxkT3B0aW9ucztcblxuICAgIHJldHVybiBjaGFpbihbXG4gICAgICBtZXJnZVdpdGgoXG4gICAgICAgIGFwcGx5KHVybCgnLi9maWxlcycpLCBbXG4gICAgICAgICAgYXBwbHlUZW1wbGF0ZXMoe1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIHJlc291cmNlc091dHB1dFBhdGgsXG4gICAgICAgICAgICByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3Q6IHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlUm9vdChwcm9qZWN0LnJvb3QpLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG1vdmUocHJvamVjdC5yb290KSxcbiAgICAgICAgXSksXG4gICAgICApLFxuICAgICAgYWRkRGVwZW5kZW5jaWVzKCksXG4gICAgICBpc1N0YW5kYWxvbmVBcHAoaG9zdCwgbWFpbikgPyBhZGRQcm92aWRlU2VydmljZVdvcmtlcihtYWluKSA6IHVwZGF0ZUFwcE1vZHVsZShtYWluKSxcbiAgICBdKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gYWRkSW1wb3J0KGhvc3Q6IFRyZWUsIGZpbGVQYXRoOiBzdHJpbmcsIHN5bWJvbE5hbWU6IHN0cmluZywgbW9kdWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IG1vZHVsZVNvdXJjZSA9IGdldFRzU291cmNlRmlsZShob3N0LCBmaWxlUGF0aCk7XG4gIGNvbnN0IGNoYW5nZSA9IGluc2VydEltcG9ydChtb2R1bGVTb3VyY2UsIGZpbGVQYXRoLCBzeW1ib2xOYW1lLCBtb2R1bGVOYW1lKTtcblxuICBpZiAoY2hhbmdlKSB7XG4gICAgY29uc3QgcmVjb3JkZXIgPSBob3N0LmJlZ2luVXBkYXRlKGZpbGVQYXRoKTtcbiAgICBhcHBseVRvVXBkYXRlUmVjb3JkZXIocmVjb3JkZXIsIFtjaGFuZ2VdKTtcbiAgICBob3N0LmNvbW1pdFVwZGF0ZShyZWNvcmRlcik7XG4gIH1cbn1cbiJdfQ== |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3NlcnZpY2Utd29ya2VyL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsbUZBQW1GO0FBQ25GLG9GQUFvRiIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gVEhJUyBGSUxFIElTIEFVVE9NQVRJQ0FMTFkgR0VORVJBVEVELiBUTyBVUERBVEUgVEhJUyBGSUxFIFlPVSBORUVEIFRPIENIQU5HRSBUSEVcbi8vIENPUlJFU1BPTkRJTkcgSlNPTiBTQ0hFTUEgRklMRSwgVEhFTiBSVU4gZGV2a2l0LWFkbWluIGJ1aWxkIChvciBiYXplbCBidWlsZCAuLi4pLlxuXG4vKipcbiAqIFBhc3MgdGhpcyBzY2hlbWF0aWMgdG8gdGhlIFwicnVuXCIgY29tbWFuZCB0byBjcmVhdGUgYSBzZXJ2aWNlIHdvcmtlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG4gICAgICovXG4gICAgcHJvamVjdDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSB0YXJnZXQgdG8gYXBwbHkgc2VydmljZSB3b3JrZXIgdG8uXG4gICAgICovXG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xufVxuIl19 |
@@ -20,1 +20,2 @@ "use strict"; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUdILHdFQUFtRTtBQUduRSxtQkFBeUIsT0FBdUI7SUFDOUMsbUVBQW1FO0lBQ25FLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDMUIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFFcEIsT0FBTyxJQUFBLHVDQUFpQixFQUFDLE9BQU8sRUFBRTtRQUNoQyxTQUFTLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBUkQsNEJBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgUnVsZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IGdlbmVyYXRlRnJvbUZpbGVzIH0gZnJvbSAnLi4vdXRpbGl0eS9nZW5lcmF0ZS1mcm9tLWZpbGVzJztcbmltcG9ydCB7IFNjaGVtYSBhcyBTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKG9wdGlvbnM6IFNlcnZpY2VPcHRpb25zKTogUnVsZSB7XG4gIC8vIFRoaXMgc2NoZW1hdGljIHVzZXMgYW4gb2xkZXIgbWV0aG9kIHRvIGltcGxlbWVudCB0aGUgZmxhdCBvcHRpb25cbiAgY29uc3QgZmxhdCA9IG9wdGlvbnMuZmxhdDtcbiAgb3B0aW9ucy5mbGF0ID0gdHJ1ZTtcblxuICByZXR1cm4gZ2VuZXJhdGVGcm9tRmlsZXMob3B0aW9ucywge1xuICAgICdpZi1mbGF0JzogKHM6IHN0cmluZykgPT4gKGZsYXQgPyAnJyA6IHMpLFxuICB9KTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic service definition in the given or default project. | ||
* Creates a new, generic service definition in the given project. | ||
*/ | ||
@@ -20,3 +20,3 @@ export interface Schema { | ||
*/ | ||
project?: string; | ||
project: string; | ||
/** | ||
@@ -23,0 +23,0 @@ * Do not create "spec.ts" test files for the new service. |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3NlcnZpY2Uvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxtRkFBbUY7QUFDbkYsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyBzZXJ2aWNlIGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgKHRoZSBkZWZhdWx0KSwgY3JlYXRlcyBmaWxlcyBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIGZsYXQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIHNlcnZpY2UsIHJlbGF0aXZlIHRvIHRoZSB3b3Jrc3BhY2Ugcm9vdC5cbiAgICAgKi9cbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LlxuICAgICAqL1xuICAgIHByb2plY3Q6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgY3JlYXRlIFwic3BlYy50c1wiIHRlc3QgZmlsZXMgZm9yIHRoZSBuZXcgc2VydmljZS5cbiAgICAgKi9cbiAgICBza2lwVGVzdHM/OiBib29sZWFuO1xufVxuIl19 |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Creates a new, generic service definition in the given or default project.", | ||
"description": "Creates a new, generic service definition in the given project.", | ||
"properties": { | ||
@@ -42,7 +42,6 @@ "name": { | ||
"description": "Do not create \"spec.ts\" test files for the new service.", | ||
"default": false, | ||
"x-user-analytics": 12 | ||
"default": false | ||
} | ||
}, | ||
"required": ["name"] | ||
"required": ["name", "project"] | ||
} |
@@ -9,25 +9,2 @@ "use strict"; | ||
*/ | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -37,5 +14,2 @@ const core_1 = require("@angular-devkit/core"); | ||
const tasks_1 = require("@angular-devkit/schematics/tasks"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
const ast_utils_1 = require("../utility/ast-utils"); | ||
const change_1 = require("../utility/change"); | ||
const dependencies_1 = require("../utility/dependencies"); | ||
@@ -50,3 +24,2 @@ const latest_versions_1 = require("../utility/latest-versions"); | ||
return (0, workspace_1.updateWorkspace)((workspace) => { | ||
var _a; | ||
const clientProject = workspace.projects.get(options.project); | ||
@@ -60,21 +33,23 @@ if (clientProject) { | ||
return { | ||
outputHashing: (options === null || options === void 0 ? void 0 : options.outputHashing) === 'all' ? 'media' : options === null || options === void 0 ? void 0 : options.outputHashing, | ||
fileReplacements: options === null || options === void 0 ? void 0 : options.fileReplacements, | ||
optimization: (options === null || options === void 0 ? void 0 : options.optimization) === undefined ? undefined : !!(options === null || options === void 0 ? void 0 : options.optimization), | ||
sourceMap: options === null || options === void 0 ? void 0 : options.sourceMap, | ||
localization: options === null || options === void 0 ? void 0 : options.localization, | ||
stylePreprocessorOptions: options === null || options === void 0 ? void 0 : options.stylePreprocessorOptions, | ||
resourcesOutputPath: options === null || options === void 0 ? void 0 : options.resourcesOutputPath, | ||
deployUrl: options === null || options === void 0 ? void 0 : options.deployUrl, | ||
i18nMissingTranslation: options === null || options === void 0 ? void 0 : options.i18nMissingTranslation, | ||
preserveSymlinks: options === null || options === void 0 ? void 0 : options.preserveSymlinks, | ||
extractLicenses: options === null || options === void 0 ? void 0 : options.extractLicenses, | ||
inlineStyleLanguage: options === null || options === void 0 ? void 0 : options.inlineStyleLanguage, | ||
buildOptimizer: options?.buildOptimizer, | ||
outputHashing: options?.outputHashing === 'all' ? 'media' : options?.outputHashing, | ||
fileReplacements: options?.fileReplacements, | ||
optimization: options?.optimization === undefined ? undefined : !!options?.optimization, | ||
sourceMap: options?.sourceMap, | ||
localization: options?.localization, | ||
stylePreprocessorOptions: options?.stylePreprocessorOptions, | ||
resourcesOutputPath: options?.resourcesOutputPath, | ||
deployUrl: options?.deployUrl, | ||
i18nMissingTranslation: options?.i18nMissingTranslation, | ||
preserveSymlinks: options?.preserveSymlinks, | ||
extractLicenses: options?.extractLicenses, | ||
inlineStyleLanguage: options?.inlineStyleLanguage, | ||
vendorChunk: options?.vendorChunk, | ||
}; | ||
}; | ||
const buildTarget = clientProject.targets.get('build'); | ||
if (buildTarget === null || buildTarget === void 0 ? void 0 : buildTarget.options) { | ||
if (buildTarget?.options) { | ||
buildTarget.options.outputPath = `dist/${options.project}/browser`; | ||
} | ||
const buildConfigurations = buildTarget === null || buildTarget === void 0 ? void 0 : buildTarget.configurations; | ||
const buildConfigurations = buildTarget?.configurations; | ||
const configurations = {}; | ||
@@ -87,3 +62,3 @@ if (buildConfigurations) { | ||
const mainPath = options.main; | ||
const sourceRoot = (_a = clientProject.sourceRoot) !== null && _a !== void 0 ? _a : (0, core_1.join)((0, core_1.normalize)(clientProject.root), 'src'); | ||
const sourceRoot = clientProject.sourceRoot ?? (0, core_1.join)((0, core_1.normalize)(clientProject.root), 'src'); | ||
const serverTsConfig = (0, core_1.join)(tsConfigDirectory, 'tsconfig.server.json'); | ||
@@ -98,3 +73,3 @@ clientProject.targets.add({ | ||
tsConfig: serverTsConfig, | ||
...((buildTarget === null || buildTarget === void 0 ? void 0 : buildTarget.options) ? getServerOptions(buildTarget === null || buildTarget === void 0 ? void 0 : buildTarget.options) : {}), | ||
...(buildTarget?.options ? getServerOptions(buildTarget?.options) : {}), | ||
}, | ||
@@ -106,91 +81,2 @@ configurations, | ||
} | ||
function findBrowserModuleImport(host, modulePath) { | ||
const moduleFileText = host.readText(modulePath); | ||
const source = ts.createSourceFile(modulePath, moduleFileText, ts.ScriptTarget.Latest, true); | ||
const decoratorMetadata = (0, ast_utils_1.getDecoratorMetadata)(source, 'NgModule', '@angular/core')[0]; | ||
const browserModuleNode = (0, ast_utils_1.findNode)(decoratorMetadata, ts.SyntaxKind.Identifier, 'BrowserModule'); | ||
if (browserModuleNode === null) { | ||
throw new schematics_1.SchematicsException(`Cannot find BrowserModule import in ${modulePath}`); | ||
} | ||
return browserModuleNode; | ||
} | ||
function wrapBootstrapCall(mainFile) { | ||
return (host) => { | ||
const mainPath = (0, core_1.normalize)('/' + mainFile); | ||
let bootstrapCall = (0, ng_ast_utils_1.findBootstrapModuleCall)(host, mainPath); | ||
if (bootstrapCall === null) { | ||
throw new schematics_1.SchematicsException('Bootstrap module not found.'); | ||
} | ||
let bootstrapCallExpression = null; | ||
let currentCall = bootstrapCall; | ||
while (bootstrapCallExpression === null && currentCall.parent) { | ||
currentCall = currentCall.parent; | ||
if (ts.isExpressionStatement(currentCall) || ts.isVariableStatement(currentCall)) { | ||
bootstrapCallExpression = currentCall; | ||
} | ||
} | ||
bootstrapCall = currentCall; | ||
// In case the bootstrap code is a variable statement | ||
// we need to determine it's usage | ||
if (bootstrapCallExpression && ts.isVariableStatement(bootstrapCallExpression)) { | ||
const declaration = bootstrapCallExpression.declarationList.declarations[0]; | ||
const bootstrapVar = declaration.name.text; | ||
const sf = bootstrapCallExpression.getSourceFile(); | ||
bootstrapCall = findCallExpressionNode(sf, bootstrapVar) || currentCall; | ||
} | ||
// indent contents | ||
const triviaWidth = bootstrapCall.getLeadingTriviaWidth(); | ||
const beforeText = `function bootstrap() {\n` + ' '.repeat(triviaWidth > 2 ? triviaWidth + 1 : triviaWidth); | ||
const afterText = `\n${triviaWidth > 2 ? ' '.repeat(triviaWidth - 1) : ''}};\n` + | ||
` | ||
if (document.readyState === 'complete') { | ||
bootstrap(); | ||
} else { | ||
document.addEventListener('DOMContentLoaded', bootstrap); | ||
} | ||
`; | ||
// in some cases we need to cater for a trailing semicolon such as; | ||
// bootstrap().catch(err => console.log(err)); | ||
const lastToken = bootstrapCall.parent.getLastToken(); | ||
let endPos = bootstrapCall.getEnd(); | ||
if (lastToken && lastToken.kind === ts.SyntaxKind.SemicolonToken) { | ||
endPos = lastToken.getEnd(); | ||
} | ||
const recorder = host.beginUpdate(mainPath); | ||
recorder.insertLeft(bootstrapCall.getStart(), beforeText); | ||
recorder.insertRight(endPos, afterText); | ||
host.commitUpdate(recorder); | ||
}; | ||
} | ||
function findCallExpressionNode(node, text) { | ||
if (ts.isCallExpression(node) && | ||
ts.isIdentifier(node.expression) && | ||
node.expression.text === text) { | ||
return node; | ||
} | ||
let foundNode = null; | ||
ts.forEachChild(node, (childNode) => { | ||
foundNode = findCallExpressionNode(childNode, text); | ||
if (foundNode) { | ||
return true; | ||
} | ||
}); | ||
return foundNode; | ||
} | ||
function addServerTransition(options, mainFile, clientProjectRoot) { | ||
return (host) => { | ||
const mainPath = (0, core_1.normalize)('/' + mainFile); | ||
const bootstrapModuleRelativePath = (0, ng_ast_utils_1.findBootstrapModulePath)(host, mainPath); | ||
const bootstrapModulePath = (0, core_1.normalize)(`/${clientProjectRoot}/src/${bootstrapModuleRelativePath}.ts`); | ||
const browserModuleImport = findBrowserModuleImport(host, bootstrapModulePath); | ||
const appId = options.appId; | ||
const transitionCall = `.withServerTransition({ appId: '${appId}' })`; | ||
const position = browserModuleImport.pos + browserModuleImport.getFullText().length; | ||
const transitionCallChange = new change_1.InsertChange(bootstrapModulePath, position, transitionCall); | ||
const transitionCallRecorder = host.beginUpdate(bootstrapModulePath); | ||
transitionCallRecorder.insertLeft(transitionCallChange.pos, transitionCallChange.toAdd); | ||
host.commitUpdate(transitionCallRecorder); | ||
}; | ||
} | ||
function addDependencies() { | ||
@@ -230,3 +116,4 @@ return (host) => { | ||
} | ||
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files/src'), [ | ||
const isStandalone = (0, ng_ast_utils_1.isStandaloneApp)(host, clientBuildOptions.main); | ||
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)(isStandalone ? './files/standalone-src' : './files/src'), [ | ||
(0, schematics_1.applyTemplates)({ | ||
@@ -236,3 +123,2 @@ ...schematics_1.strings, | ||
stripTsExtension: (s) => s.replace(/\.ts$/, ''), | ||
hasLocalizePackage: !!(0, dependencies_1.getPackageJsonDependency)(host, '@angular/localize'), | ||
}), | ||
@@ -250,2 +136,3 @@ (0, schematics_1.move)((0, core_1.join)((0, core_1.normalize)(clientProject.root), 'src')), | ||
tsConfigExtends, | ||
hasLocalizePackage: !!(0, dependencies_1.getPackageJsonDependency)(host, '@angular/localize'), | ||
relativePathToWorkspaceRoot: (0, paths_1.relativePathToWorkspaceRoot)(tsConfigDirectory), | ||
@@ -260,4 +147,2 @@ }), | ||
updateConfigFile(options, tsConfigDirectory), | ||
wrapBootstrapCall(clientBuildOptions.main), | ||
addServerTransition(options, clientBuildOptions.main, clientProject.root), | ||
]); | ||
@@ -267,1 +152,2 @@ }; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvdW5pdmVyc2FsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsK0NBQTJGO0FBQzNGLDJEQVlvQztBQUNwQyw0REFBMEU7QUFDMUUsMERBSWlDO0FBQ2pDLGdFQUE0RDtBQUM1RCwwREFBMEQ7QUFDMUQsNENBQStEO0FBQy9ELGdFQUFzRTtBQUN0RSxvREFBcUU7QUFDckUsa0VBQThFO0FBRzlFLFNBQVMsZ0JBQWdCLENBQUMsT0FBeUIsRUFBRSxpQkFBdUI7SUFDMUUsT0FBTyxJQUFBLDJCQUFlLEVBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNuQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxhQUFhLEVBQUU7WUFDakIsZ0RBQWdEO1lBQ2hELG9EQUFvRDtZQUNwRCx1REFBdUQ7WUFDdkQsMkZBQTJGO1lBQzNGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxVQUFpRCxFQUFFLEVBQU0sRUFBRTtnQkFDbkYsT0FBTztvQkFDTCxjQUFjLEVBQUUsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZDLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsYUFBYTtvQkFDbEYsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQjtvQkFDM0MsWUFBWSxFQUFFLE9BQU8sRUFBRSxZQUFZLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWTtvQkFDdkYsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTO29CQUM3QixZQUFZ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QUFTLEVBQUMsY0FBYyxDQUFDO1lBQ3pCLElBQUEsc0JBQVMsRUFBQyxVQUFVLENBQUM7WUFDckIsZUFBZSxFQUFFO1lBQ2pCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDO0FBdkRELDRCQXVEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBKc29uVmFsdWUsIFBhdGgsIGJhc2VuYW1lLCBkaXJuYW1lLCBqb2luLCBub3JtYWxpemUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQge1xuICBSdWxlLFxuICBTY2hlbWF0aWNDb250ZXh0LFxuICBTY2hlbWF0aWNzRXhjZXB0aW9uLFxuICBUcmVlLFxuICBhcHBseSxcbiAgYXBwbHlUZW1wbGF0ZXMsXG4gIGNoYWluLFxuICBtZXJnZVdpdGgsXG4gIG1vdmUsXG4gIHN0cmluZ3MsXG4gIHVybCxcbn0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VJbnN0YWxsVGFzayB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzL3Rhc2tzJztcbmltcG9ydCB7XG4gIE5vZGVEZXBlbmRlbmN5VHlwZSxcbiAgYWRkUGFja2FnZUpzb25EZXBlbmRlbmN5LFxuICBnZXRQYWNrYWdlSnNvbkRlcGVuZGVuY3ksXG59IGZyb20gJy4uL3V0aWxpdHkvZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IGxhdGVzdFZlcnNpb25zIH0gZnJvbSAnLi4vdXRpbGl0eS9sYXRlc3QtdmVyc2lvbnMnO1xuaW1wb3J0IHsgaXNTdGFuZGFsb25lQXBwIH0gZnJvbSAnLi4vdXRpbGl0eS9uZy1hc3QtdXRpbHMnO1xuaW1wb3J0IHsgcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290IH0gZnJvbSAnLi4vdXRpbGl0eS9wYXRocyc7XG5pbXBvcnQgeyB0YXJnZXRCdWlsZE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi91dGlsaXR5L3Byb2plY3QtdGFyZ2V0cyc7XG5pbXBvcnQgeyBnZXRXb3Jrc3BhY2UsIHVwZGF0ZVdvcmtzcGFjZSB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlJztcbmltcG9ydCB7IEJyb3dzZXJCdWlsZGVyT3B0aW9ucywgQnVpbGRlcnMgfSBmcm9tICcuLi91dGlsaXR5L3dvcmtzcGFjZS1tb2RlbHMnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIFVuaXZlcnNhbE9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmZ1bmN0aW9uIHVwZGF0ZUNvbmZpZ0ZpbGUob3B0aW9uczogVW5pdmVyc2FsT3B0aW9ucywgdHNDb25maWdEaXJlY3Rvcnk6IFBhdGgpOiBSdWxlIHtcbiAgcmV0dXJuIHVwZGF0ZVdvcmtzcGFjZSgod29ya3NwYWNlKSA9PiB7XG4gICAgY29uc3QgY2xpZW50UHJvamVjdCA9IHdvcmtzcGFjZS5wcm9qZWN0cy5nZXQob3B0aW9ucy5wcm9qZWN0KTtcblxuICAgIGlmIChjbGllbnRQcm9qZWN0KSB7XG4gICAgICAvLyBJbiBjYXNlIHRoZSBicm93c2VyIGJ1aWxkZXIgaGFzaGVzIHRoZSBhc3NldHNcbiAgICAgIC8vIHdlIG5lZWQgdG8gYWRkIHRoaXMgc2V0dGluZyB0byB0aGUgc2VydmVyIGJ1aWxkZXJcbiAgICAgIC8vIGFzIG90aGVyd2lzZSB3aGVuIGFzc2V0cyBpdCB3aWxsIGJlIHJlcXVlc3RlZCB0d2ljZS5cbiAgICAgIC8vIE9uZSBmb3IgdGhlIHNlcnZlciB3aGljaCB3aWxsIGJlIHVuaGFzaGVkLCBhbmQgb3RoZXIgb24gdGhlIGNsaWVudCB3aGljaCB3aWxsIGJlIGhhc2hlZC5cbiAgICAgIGNvbnN0IGdldFNlcnZlck9wdGlvbnMgPSAob3B0aW9uczogUmVjb3JkPHN0cmluZywgSnNvblZhbHVlIHwgdW5kZWZpbmVkPiA9IHt9KToge30gPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJ1aWxkT3B0aW1pemVyOiBvcHRpb25zPy5idWlsZE9wdGltaXplcixcbiAgICAgICAgICBvdXRwdXRIYXNoaW5nOiBvcHRpb25zPy5vdXRwdXRIYXNoaW5nID09PSAnYWxsJyA/ICdtZWRpYScgOiBvcHRpb25zPy5vdXRwdXRIYXNoaW5nLFxuICAgICAgICAgIGZpbGVSZXBsYWNlbWVudHM6IG9wdGlvbnM/LmZpbGVSZXBsYWNlbWVudHMsXG4gICAgICAgICAgb3B0aW1pemF0aW9uOiBvcHRpb25zPy5vcHRpbWl6YXRpb24gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6ICEhb3B0aW9ucz8ub3B0aW1pemF0aW9uLFxuICAgICAgICAgIHNvdXJjZU1hcDogb3B0aW9ucz8uc291cmNlTWFwLFxuICAgICAgICAgIGxvY2FsaXphdGlvbjogb3B0aW9ucz8ubG9jYWxpemF0aW9uLFxuICAgICAgICAgIHN0eWxlUHJlcHJvY2Vzc29yT3B0aW9uczogb3B0aW9ucz8uc3R5bGVQcmVwcm9jZXNzb3JPcHRpb25zLFxuICAgICAgICAgIHJlc291cmNlc091dHB1dFBhdGg6IG9wdGlvbnM/LnJlc291cmNlc091dHB1dFBhdGgsXG4gICAgICAgICAgZGVwbG95VXJsOiBvcHRpb25zPy5kZXBsb3lVcmwsXG4gICAgICAgICAgaTE4bk1pc3NpbmdUcmFuc2xhdGlvbjogb3B0aW9ucz8uaTE4bk1pc3NpbmdUcmFuc2xhdGlvbixcbiAgICAgICAgICBwcmVzZXJ2ZVN5bWxpbmtzOiBvcHRpb25zPy5wcmVzZXJ2ZVN5bWxpbmtzLFxuICAgICAgICAgIGV4dHJhY3RMaWNlbnNlczogb3B0aW9ucz8uZXh0cmFjdExpY2Vuc2VzLFxuICAgICAgICAgIGlubGluZVN0eWxlTGFuZ3VhZ2U6IG9wdGlvbnM/LmlubGluZVN0eWxlTGFuZ3VhZ2UsXG4gICAgICAgICAgdmVuZG9yQ2h1bms6IG9wdGlvbnM/LnZlbmRvckNodW5rLFxuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgY29uc3QgYnVpbGRUYXJnZXQgPSBjbGllbnRQcm9qZWN0LnRhcmdldHMuZ2V0KCdidWlsZCcpO1xuICAgICAgaWYgKGJ1aWxkVGFyZ2V0Py5vcHRpb25zKSB7XG4gICAgICAgIGJ1aWxkVGFyZ2V0Lm9wdGlvbnMub3V0cHV0UGF0aCA9IGBkaXN0LyR7b3B0aW9ucy5wcm9qZWN0fS9icm93c2VyYDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYnVpbGRDb25maWd1cmF0aW9ucyA9IGJ1aWxkVGFyZ2V0Py5jb25maWd1cmF0aW9ucztcbiAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCB7fT4gPSB7fTtcbiAgICAgIGlmIChidWlsZENvbmZpZ3VyYXRpb25zKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgb3B0aW9uc10gb2YgT2JqZWN0LmVudHJpZXMoYnVpbGRDb25maWd1cmF0aW9ucykpIHtcbiAgICAgICAgICBjb25maWd1cmF0aW9uc1trZXldID0gZ2V0U2VydmVyT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBtYWluUGF0aCA9IG9wdGlvbnMubWFpbiBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBzb3VyY2VSb290ID0gY2xpZW50UHJvamVjdC5zb3VyY2VSb290ID8/IGpvaW4obm9ybWFsaXplKGNsaWVudFByb2plY3Qucm9vdCksICdzcmMnKTtcbiAgICAgIGNvbnN0IHNlcnZlclRzQ29uZmlnID0gam9pbih0c0NvbmZpZ0RpcmVjdG9yeSwgJ3RzY29uZmlnLnNlcnZlci5qc29uJyk7XG4gICAgICBjbGllbnRQcm9qZWN0LnRhcmdldHMuYWRkKHtcbiAgICAgICAgbmFtZTogJ3NlcnZlcicsXG4gICAgICAgIGJ1aWxkZXI6IEJ1aWxkZXJzLlNlcnZlcixcbiAgICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb246ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG91dHB1dFBhdGg6IGBkaXN0LyR7b3B0aW9ucy5wcm9qZWN0fS9zZXJ2ZXJgLFxuICAgICAgICAgIG1haW46IGpvaW4obm9ybWFsaXplKHNvdXJjZVJvb3QpLCBtYWluUGF0aC5lbmRzV2l0aCgnLnRzJykgPyBtYWluUGF0aCA6IG1haW5QYXRoICsgJy50cycpLFxuICAgICAgICAgIHRzQ29uZmlnOiBzZXJ2ZXJUc0NvbmZpZyxcbiAgICAgICAgICAuLi4oYnVpbGRUYXJnZXQ/Lm9wdGlvbnMgPyBnZXRTZXJ2ZXJPcHRpb25zKGJ1aWxkVGFyZ2V0Py5vcHRpb25zKSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgY29uZmlndXJhdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGREZXBlbmRlbmNpZXMoKTogUnVsZSB7XG4gIHJldHVybiAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IGNvcmVEZXAgPSBnZXRQYWNrYWdlSnNvbkRlcGVuZGVuY3koaG9zdCwgJ0Bhbmd1bGFyL2NvcmUnKTtcbiAgICBpZiAoY29yZURlcCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IFNjaGVtYXRpY3NFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIHZlcnNpb24uJyk7XG4gICAgfVxuICAgIGNvbnN0IHBsYXRmb3JtU2VydmVyRGVwID0ge1xuICAgICAgLi4uY29yZURlcCxcbiAgICAgIG5hbWU6ICdAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXInLFxuICAgIH07XG4gICAgYWRkUGFja2FnZUpzb25EZXBlbmRlbmN5KGhvc3QsIHBsYXRmb3JtU2VydmVyRGVwKTtcblxuICAgIGFkZFBhY2thZ2VKc29uRGVwZW5kZW5jeShob3N0LCB7XG4gICAgICB0eXBlOiBOb2RlRGVwZW5kZW5jeVR5cGUuRGV2LFxuICAgICAgbmFtZTogJ0B0eXBlcy9ub2RlJyxcbiAgICAgIHZlcnNpb246IGxhdGVzdFZlcnNpb25zWydAdHlwZXMvbm9kZSddLFxuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob3B0aW9uczogVW5pdmVyc2FsT3B0aW9ucyk6IFJ1bGUge1xuICByZXR1cm4gYXN5bmMgKGhvc3Q6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpID0+IHtcbiAgICBjb25zdCB3b3Jrc3BhY2UgPSBhd2FpdCBnZXRXb3Jrc3BhY2UoaG9zdCk7XG5cbiAgICBjb25zdCBjbGllbnRQcm9qZWN0ID0gd29ya3NwYWNlLnByb2plY3RzLmdldChvcHRpb25zLnByb2plY3QpO1xuICAgIGlmICghY2xpZW50UHJvamVjdCB8fCBjbGllbnRQcm9qZWN0LmV4dGVuc2lvbnMucHJvamVjdFR5cGUgIT09ICdhcHBsaWNhdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBVbml2ZXJzYWwgcmVxdWlyZXMgYSBwcm9qZWN0IHR5cGUgb2YgXCJhcHBsaWNhdGlvblwiLmApO1xuICAgIH1cblxuICAgIGNvbnN0IGNsaWVudEJ1aWxkVGFyZ2V0ID0gY2xpZW50UHJvamVjdC50YXJnZXRzLmdldCgnYnVpbGQnKTtcbiAgICBpZiAoIWNsaWVudEJ1aWxkVGFyZ2V0KSB7XG4gICAgICB0aHJvdyB0YXJnZXRCdWlsZE5vdEZvdW5kRXJyb3IoKTtcbiAgICB9XG5cbiAgICBjb25zdCBjbGllbnRCdWlsZE9wdGlvbnMgPSAoY2xpZW50QnVpbGRUYXJnZXQub3B0aW9ucyB8fFxuICAgICAge30pIGFzIHVua25vd24gYXMgQnJvd3NlckJ1aWxkZXJPcHRpb25zO1xuXG4gICAgaWYgKCFvcHRpb25zLnNraXBJbnN0YWxsKSB7XG4gICAgICBjb250ZXh0LmFkZFRhc2sobmV3IE5vZGVQYWNrYWdlSW5zdGFsbFRhc2soKSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNTdGFuZGFsb25lID0gaXNTdGFuZGFsb25lQXBwKGhvc3QsIGNsaWVudEJ1aWxkT3B0aW9ucy5tYWluKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlU291cmNlID0gYXBwbHkodXJsKGlzU3RhbmRhbG9uZSA/ICcuL2ZpbGVzL3N0YW5kYWxvbmUtc3JjJyA6ICcuL2ZpbGVzL3NyYycpLCBbXG4gICAgICBhcHBseVRlbXBsYXRlcyh7XG4gICAgICAgIC4uLnN0cmluZ3MsXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIHN0cmlwVHNFeHRlbnNpb246IChzOiBzdHJpbmcpID0+IHMucmVwbGFjZSgvXFwudHMkLywgJycpLFxuICAgICAgfSksXG4gICAgICBtb3ZlKGpvaW4obm9ybWFsaXplKGNsaWVudFByb2plY3Qucm9vdCksICdzcmMnKSksXG4gICAgXSk7XG5cbiAgICBjb25zdCBjbGllbnRUc0NvbmZpZyA9IG5vcm1hbGl6ZShjbGllbnRCdWlsZE9wdGlvbnMudHNDb25maWcpO1xuICAgIGNvbnN0IHRzQ29uZmlnRXh0ZW5kcyA9IGJhc2VuYW1lKGNsaWVudFRzQ29uZmlnKTtcbiAgICBjb25zdCB0c0NvbmZpZ0RpcmVjdG9yeSA9IGRpcm5hbWUoY2xpZW50VHNDb25maWcpO1xuXG4gICAgY29uc3Qgcm9vdFNvdXJjZSA9IGFwcGx5KHVybCgnLi9maWxlcy9yb290JyksIFtcbiAgICAgIGFwcGx5VGVtcGxhdGVzKHtcbiAgICAgICAgLi4uc3RyaW5ncyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgc3RyaXBUc0V4dGVuc2lvbjogKHM6IHN0cmluZykgPT4gcy5yZXBsYWNlKC9cXC50cyQvLCAnJyksXG4gICAgICAgIHRzQ29uZmlnRXh0ZW5kcyxcbiAgICAgICAgaGFzTG9jYWxpemVQYWNrYWdlOiAhIWdldFBhY2thZ2VKc29uRGVwZW5kZW5jeShob3N0LCAnQGFuZ3VsYXIvbG9jYWxpemUnKSxcbiAgICAgICAgcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290OiByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3QodHNDb25maWdEaXJlY3RvcnkpLFxuICAgICAgfSksXG4gICAgICBtb3ZlKHRzQ29uZmlnRGlyZWN0b3J5KSxcbiAgICBdKTtcblxuICAgIHJldHVybiBjaGFpbihbXG4gICAgICBtZXJnZVdpdGgodGVtcGxhdGVTb3VyY2UpLFxuICAgICAgbWVyZ2VXaXRoKHJvb3RTb3VyY2UpLFxuICAgICAgYWRkRGVwZW5kZW5jaWVzKCksXG4gICAgICB1cGRhdGVDb25maWdGaWxlKG9wdGlvbnMsIHRzQ29uZmlnRGlyZWN0b3J5KSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ== |
@@ -6,8 +6,4 @@ /** | ||
/** | ||
* The name of the application folder. | ||
* @deprecated This option has no effect. | ||
*/ | ||
appDir?: string; | ||
/** | ||
* The application identifier to use for transition. | ||
* @deprecated This option is no longer used. | ||
*/ | ||
@@ -14,0 +10,0 @@ appId?: string; |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3VuaXZlcnNhbC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIFRISVMgRklMRSBJUyBBVVRPTUFUSUNBTExZIEdFTkVSQVRFRC4gVE8gVVBEQVRFIFRISVMgRklMRSBZT1UgTkVFRCBUTyBDSEFOR0UgVEhFXG4vLyBDT1JSRVNQT05ESU5HIEpTT04gU0NIRU1BIEZJTEUsIFRIRU4gUlVOIGRldmtpdC1hZG1pbiBidWlsZCAob3IgYmF6ZWwgYnVpbGQgLi4uKS5cblxuLyoqXG4gKiBQYXNzIHRoaXMgc2NoZW1hdGljIHRvIHRoZSBcInJ1blwiIGNvbW1hbmQgdG8gc2V0IHVwIHNlcnZlci1zaWRlIHJlbmRlcmluZyBmb3IgYW4gYXBwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogVGhlIGFwcGxpY2F0aW9uIGlkZW50aWZpZXIgdG8gdXNlIGZvciB0cmFuc2l0aW9uLlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgb3B0aW9uIGlzIG5vIGxvbmdlciB1c2VkLlxuICAgICAqL1xuICAgIGFwcElkPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBtYWluIGVudHJ5LXBvaW50IGZpbGUuXG4gICAgICovXG4gICAgbWFpbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHJvb3QgTmdNb2R1bGUgY2xhc3MuXG4gICAgICovXG4gICAgcm9vdE1vZHVsZUNsYXNzTmFtZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9vdCBOZ01vZHVsZSBmaWxlLlxuICAgICAqL1xuICAgIHJvb3RNb2R1bGVGaWxlTmFtZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEbyBub3QgaW5zdGFsbCBwYWNrYWdlcyBmb3IgZGVwZW5kZW5jaWVzLlxuICAgICAqL1xuICAgIHNraXBJbnN0YWxsPzogYm9vbGVhbjtcbn1cbiJdfQ== |
@@ -20,3 +20,4 @@ { | ||
"description": "The application identifier to use for transition.", | ||
"default": "serverApp" | ||
"default": "serverApp", | ||
"x-deprecated": "This option is no longer used." | ||
}, | ||
@@ -29,9 +30,2 @@ "main": { | ||
}, | ||
"appDir": { | ||
"type": "string", | ||
"format": "path", | ||
"description": "The name of the application folder.", | ||
"default": "app", | ||
"x-deprecated": "This option has no effect." | ||
}, | ||
"rootModuleFileName": { | ||
@@ -41,3 +35,3 @@ "type": "string", | ||
"description": "The name of the root NgModule file.", | ||
"default": "app.server.module.ts" | ||
"default": "app.module.server.ts" | ||
}, | ||
@@ -44,0 +38,0 @@ "rootModuleClassName": { |
@@ -13,9 +13,10 @@ /** | ||
* already. Assumes fileToEdit can be resolved and accessed. | ||
* @param fileToEdit (file we want to add import to) | ||
* @param symbolName (item to import) | ||
* @param fileName (path to the file) | ||
* @param isDefault (if true, import follows style for importing default exports) | ||
* @param fileToEdit File we want to add import to. | ||
* @param symbolName Item to import. | ||
* @param fileName Path to the file. | ||
* @param isDefault If true, import follows style for importing default exports. | ||
* @param alias Alias that the symbol should be inserted under. | ||
* @return Change | ||
*/ | ||
export declare function insertImport(source: ts.SourceFile, fileToEdit: string, symbolName: string, fileName: string, isDefault?: boolean): Change; | ||
export declare function insertImport(source: ts.SourceFile, fileToEdit: string, symbolName: string, fileName: string, isDefault?: boolean, alias?: string): Change; | ||
/** | ||
@@ -61,3 +62,3 @@ * Find all nodes from the AST in the subtree of node of SyntaxKind kind. | ||
*/ | ||
export declare function insertAfterLastOccurrence(nodes: ts.Node[], toInsert: string, file: string, fallbackPos: number, syntaxKind?: ts.SyntaxKind): Change; | ||
export declare function insertAfterLastOccurrence(nodes: ts.Node[] | ts.NodeArray<ts.Node>, toInsert: string, file: string, fallbackPos: number, syntaxKind?: ts.SyntaxKind): Change; | ||
export declare function getDecoratorMetadata(source: ts.SourceFile, identifier: string, module: string): ts.Node[]; | ||
@@ -92,8 +93,2 @@ export declare function getMetadataField(node: ts.ObjectLiteralExpression, metadataField: string): ts.ObjectLiteralElement[]; | ||
/** | ||
* This function returns the name of the environment export | ||
* whether this export is aliased or not. If the environment file | ||
* is not imported, then it will return `null`. | ||
*/ | ||
export declare function getEnvironmentExportName(source: ts.SourceFile): string | null; | ||
/** | ||
* Returns the RouterModule declaration from NgModule metadata, if any. | ||
@@ -106,1 +101,10 @@ */ | ||
export declare function addRouteDeclarationToModule(source: ts.SourceFile, fileToAdd: string, routeLiteral: string): Change; | ||
/** | ||
* Determines if a SourceFile has a top-level declaration whose name matches a specific symbol. | ||
* Can be used to avoid conflicts when inserting new imports into a file. | ||
* @param sourceFile File in which to search. | ||
* @param symbolName Name of the symbol to search for. | ||
* @param skipModule Path of the module that the symbol may have been imported from. Used to | ||
* avoid false positives where the same symbol we're looking for may have been imported. | ||
*/ | ||
export declare function hasTopLevelIdentifier(sourceFile: ts.SourceFile, symbolName: string, skipModule?: string | null): boolean; |
@@ -122,1 +122,2 @@ "use strict"; | ||
exports.applyToUpdateRecorder = applyToUpdateRecorder; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQXdCSDs7R0FFRztBQUNILE1BQWEsVUFBVTtJQUF2QjtRQUNFLGdCQUFXLEdBQUcsZUFBZSxDQUFDO1FBQzlCLFVBQUssR0FBRyxRQUFRLENBQUM7UUFDakIsU0FBSSxHQUFHLElBQUksQ0FBQztJQUlkLENBQUM7SUFIQyxLQUFLO1FBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBUEQsZ0NBT0M7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBWTtJQUl2QixZQUFtQixJQUFZLEVBQVMsR0FBVyxFQUFTLEtBQWE7UUFBdEQsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFTLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ3ZFLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxLQUFLLGtCQUFrQixHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDdkUsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxNQUFNLE1B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eXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IFVwZGF0ZVJlY29yZGVyIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3Qge1xuICB3cml0ZShwYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG4gIHJlYWQocGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZSB7XG4gIGFwcGx5KGhvc3Q6IEhvc3QpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8vIFRoZSBmaWxlIHRoaXMgY2hhbmdlIHNob3VsZCBiZSBhcHBsaWVkIHRvLiBTb21lIGNoYW5nZXMgbWlnaHQgbm90IGFwcGx5IHRvXG4gIC8vIGEgZmlsZSAobWF5YmUgdGhlIGNvbmZpZykuXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZyB8IG51bGw7XG5cbiAgLy8gVGhlIG9yZGVyIHRoaXMgY2hhbmdlIHNob3VsZCBiZSBhcHBsaWVkLiBOb3JtYWxseSB0aGUgcG9zaXRpb24gaW5zaWRlIHRoZSBmaWxlLlxuICAvLyBDaGFuZ2VzIGFyZSBhcHBsaWVkIGZyb20gdGhlIGJvdHRvbSBvZiBhIGZpbGUgdG8gdGhlIHRvcC5cbiAgcmVhZG9ubHkgb3JkZXI6IG51bWJlcjtcblxuICAvLyBUaGUgZGVzY3JpcHRpb24gb2YgdGhpcyBjaGFuZ2UuIFRoaXMgd2lsbCBiZSBvdXRwdXR0ZWQgaW4gYSBkcnkgb3IgdmVyYm9zZSBydW4uXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gb3BlcmF0aW9uIHRoYXQgZG9lcyBub3RoaW5nLlxuICovXG5leHBvcnQgY2xhc3MgTm9vcENoYW5nZSBpbXBsZW1lbnRzIENoYW5nZSB7XG4gIGRlc2NyaXB0aW9uID0gJ05vIG9wZXJhdGlvbi4nO1xuICBvcmRlciA9IEluZmluaXR5O1xuICBwYXRoID0gbnVsbDtcbiAgYXBwbHkoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG59XG5cbi8qKlxuICogV2lsbCBhZGQgdGV4dCB0byB0aGUgc291cmNlIGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnNlcnRDaGFuZ2UgaW1wbGVtZW50cyBDaGFuZ2Uge1xuICBvcmRlcjogbnVtYmVyO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXRoOiBzdHJpbmcsIHB1YmxpYyBwb3M6IG51bWJlciwgcHVibGljIHRvQWRkOiBzdHJpbmcpIHtcbiAgICBpZiAocG9zIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZWdhdGl2ZSBwb3NpdGlvbnMgYXJlIGludmFsaWQnKTtcbiAgICB9XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGBJbnNlcnRlZCAke3RvQWRkfSBpbnRvIHBvc2l0aW9uICR7cG9zfSBvZiAke3BhdGh9YDtcbiAgICB0aGlzLm9yZGVyID0gcG9zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGRvZXMgbm90IGluc2VydCBzcGFjZXMgaWYgdGhlcmUgaXMgbm9uZSBpbiB0aGUgb3JpZ2luYWwgc3RyaW5nLlxuICAgKi9cbiAgYXBwbHkoaG9zdDogSG9zdCkge1xuICAgIHJldHVybiBob3N0LnJlYWQodGhpcy5wYXRoKS50aGVuKChjb250ZW50KSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXggPSBjb250ZW50LnN1YnN0cmluZygwLCB0aGlzLnBvcyk7XG4gICAgICBjb25zdCBzdWZmaXggPSBjb250ZW50LnN1YnN0cmluZyh0aGlzLnBvcyk7XG5cbiAgICAgIHJldHVybiBob3N0LndyaXRlKHRoaXMucGF0aCwgYCR7cHJlZml4fSR7dGhpcy50b0FkZH0ke3N1ZmZpeH1gKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFdpbGwgcmVtb3ZlIHRleHQgZnJvbSB0aGUgc291cmNlIGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZW1vdmVDaGFuZ2UgaW1wbGVtZW50cyBDaGFuZ2Uge1xuICBvcmRlcjogbnVtYmVyO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXRoOiBzdHJpbmcsIHByaXZhdGUgcG9zOiBudW1iZXIsIHB1YmxpYyB0b1JlbW92ZTogc3RyaW5nKSB7XG4gICAgaWYgKHBvcyA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTmVnYXRpdmUgcG9zaXRpb25zIGFyZSBpbnZhbGlkJyk7XG4gICAgfVxuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBgUmVtb3ZlZCAke3RvUmVtb3ZlfSBpbnRvIHBvc2l0aW9uICR7cG9zfSBvZiAke3BhdGh9YDtcbiAgICB0aGlzLm9yZGVyID0gcG9zO1xuICB9XG5cbiAgYXBwbHkoaG9zdDogSG9zdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBob3N0LnJlYWQodGhpcy5wYXRoKS50aGVuKChjb250ZW50KSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXggPSBjb250ZW50LnN1YnN0cmluZygwLCB0aGlzLnBvcyk7XG4gICAgICBjb25zdCBzdWZmaXggPSBjb250ZW50LnN1YnN0cmluZyh0aGlzLnBvcyArIHRoaXMudG9SZW1vdmUubGVuZ3RoKTtcblxuICAgICAgLy8gVE9ETzogdGhyb3cgZXJyb3IgaWYgdG9SZW1vdmUgZG9lc24ndCBtYXRjaCByZW1vdmVkIHN0cmluZy5cbiAgICAgIHJldHVybiBob3N0LndyaXRlKHRoaXMucGF0aCwgYCR7cHJlZml4fSR7c3VmZml4fWApO1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogV2lsbCByZXBsYWNlIHRleHQgZnJvbSB0aGUgc291cmNlIGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBsYWNlQ2hhbmdlIGltcGxlbWVudHMgQ2hhbmdlIHtcbiAgb3JkZXI6IG51bWJlcjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF0aDogc3RyaW5nLFxuICAgIHByaXZhdGUgcG9zOiBudW1iZXIsXG4gICAgcHVibGljIG9sZFRleHQ6IHN0cmluZyxcbiAgICBwdWJsaWMgbmV3VGV4dDogc3RyaW5nLFxuICApIHtcbiAgICBpZiAocG9zIDwgMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZWdhdGl2ZSBwb3NpdGlvbnMgYXJlIGludmFsaWQnKTtcbiAgICB9XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGBSZXBsYWNlZCAke29sZFRleHR9IGludG8gcG9zaXRpb24gJHtwb3N9IG9mICR7cGF0aH0gd2l0aCAke25ld1RleHR9YDtcbiAgICB0aGlzLm9yZGVyID0gcG9zO1xuICB9XG5cbiAgYXBwbHkoaG9zdDogSG9zdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBob3N0LnJlYWQodGhpcy5wYXRoKS50aGVuKChjb250ZW50KSA9PiB7XG4gICAgICBjb25zdCBwcmVmaXggPSBjb250ZW50LnN1YnN0cmluZygwLCB0aGlzLnBvcyk7XG4gICAgICBjb25zdCBzdWZmaXggPSBjb250ZW50LnN1YnN0cmluZyh0aGlzLnBvcyArIHRoaXMub2xkVGV4dC5sZW5ndGgpO1xuICAgICAgY29uc3QgdGV4dCA9IGNvbnRlbnQuc3Vic3RyaW5nKHRoaXMucG9zLCB0aGlzLnBvcyArIHRoaXMub2xkVGV4dC5sZW5ndGgpO1xuXG4gICAgICBpZiAodGV4dCAhPT0gdGhpcy5vbGRUZXh0KSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYEludmFsaWQgcmVwbGFjZTogXCIke3RleHR9XCIgIT0gXCIke3RoaXMub2xkVGV4dH1cIi5gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRPRE86IHRocm93IGVycm9yIGlmIG9sZFRleHQgZG9lc24ndCBtYXRjaCByZW1vdmVkIHN0cmluZy5cbiAgICAgIHJldHVybiBob3N0LndyaXRlKHRoaXMucGF0aCwgYCR7cHJlZml4fSR7dGhpcy5uZXdUZXh0fSR7c3VmZml4fWApO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVRvVXBkYXRlUmVjb3JkZXIocmVjb3JkZXI6IFVwZGF0ZVJlY29yZGVyLCBjaGFuZ2VzOiBDaGFuZ2VbXSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBjaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZSBpbnN0YW5jZW9mIEluc2VydENoYW5nZSkge1xuICAgICAgcmVjb3JkZXIuaW5zZXJ0TGVmdChjaGFuZ2UucG9zLCBjaGFuZ2UudG9BZGQpO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlIGluc3RhbmNlb2YgUmVtb3ZlQ2hhbmdlKSB7XG4gICAgICByZWNvcmRlci5yZW1vdmUoY2hhbmdlLm9yZGVyLCBjaGFuZ2UudG9SZW1vdmUubGVuZ3RoKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZSBpbnN0YW5jZW9mIFJlcGxhY2VDaGFuZ2UpIHtcbiAgICAgIHJlY29yZGVyLnJlbW92ZShjaGFuZ2Uub3JkZXIsIGNoYW5nZS5vbGRUZXh0Lmxlbmd0aCk7XG4gICAgICByZWNvcmRlci5pbnNlcnRMZWZ0KGNoYW5nZS5vcmRlciwgY2hhbmdlLm5ld1RleHQpO1xuICAgIH0gZWxzZSBpZiAoIShjaGFuZ2UgaW5zdGFuY2VvZiBOb29wQ2hhbmdlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIENoYW5nZSB0eXBlIGVuY291bnRlcmVkIHdoZW4gdXBkYXRpbmcgYSByZWNvcmRlci4nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
@@ -19,3 +19,3 @@ "use strict"; | ||
NodeDependencyType["Optional"] = "optionalDependencies"; | ||
})(NodeDependencyType = exports.NodeDependencyType || (exports.NodeDependencyType = {})); | ||
})(NodeDependencyType || (exports.NodeDependencyType = NodeDependencyType = {})); | ||
const ALL_DEPENDENCY_TYPE = [ | ||
@@ -58,1 +58,2 @@ NodeDependencyType.Default, | ||
exports.getPackageJsonDependency = getPackageJsonDependency; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvZGVwZW5kZW5jaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUdILDJDQUF1QztBQUV2QyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFDdEMsSUFBWSxrQkFLWDtBQUxELFdBQVksa0JBQWtCO0lBQzVCLDhDQUF3QixDQUFBO0lBQ3hCLDZDQUF1QixDQUFBO0lBQ3ZCLCtDQUF5QixDQUFBO0lBQ3pCLHVEQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFMVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUs3QjtBQVNELE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsa0JBQWtCLENBQUMsT0FBTztJQUMxQixrQkFBa0IsQ0FBQyxHQUFHO0lBQ3RCLGtCQUFrQixDQUFDLFFBQVE7SUFDM0Isa0JBQWtCLENBQUMsSUFBSTtDQUN4QixDQUFDO0FBRUYsU0FBZ0Isd0JBQXdCLENBQ3RDLElBQVUsRUFDVixVQUEwQixFQUMxQixXQUFXLEdBQUcsYUFBYTtJQUUzQixNQUFNLElBQUksR0FBRyxJQUFJLG9CQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFDdEQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQVpELDREQVlDO0FBRUQsU0FBZ0IsMkJBQTJCLENBQ3pDLElBQVUsRUFDVixJQUFZLEVBQ1osV0FBVyxHQUFHLGFBQWE7SUFFM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUU3QyxLQUFLLE1BQU0sT0FBTyxJQUFJLG1CQUFtQixFQUFFO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUM5QjtBQUNILENBQUM7QUFWRCxrRUFVQztBQUVELFNBQWdCLHdCQUF3QixDQUN0QyxJQUFVLEVBQ1YsSUFBWSxFQUNaLFdBQVcsR0FBRyxhQUFhO0lBRTNCLE1BQU0sSUFBSSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFN0MsS0FBSyxNQUFNLE9BQU8sSUFBSSxtQkFBbUIsRUFBRTtRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFMUMsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDL0IsT0FBTztnQkFDTCxJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsSUFBSTtnQkFDVixPQUFPO2FBQ1IsQ0FBQztTQUNIO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFwQkQsNERBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IFRyZWUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBKU09ORmlsZSB9IGZyb20gJy4vanNvbi1maWxlJztcblxuY29uc3QgUEtHX0pTT05fUEFUSCA9ICcvcGFja2FnZS5qc29uJztcbmV4cG9ydCBlbnVtIE5vZGVEZXBlbmRlbmN5VHlwZSB7XG4gIERlZmF1bHQgPSAnZGVwZW5kZW5jaWVzJyxcbiAgRGV2ID0gJ2RldkRlcGVuZGVuY2llcycsXG4gIFBlZXIgPSAncGVlckRlcGVuZGVuY2llcycsXG4gIE9wdGlvbmFsID0gJ29wdGlvbmFsRGVwZW5kZW5jaWVzJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb2RlRGVwZW5kZW5jeSB7XG4gIHR5cGU6IE5vZGVEZXBlbmRlbmN5VHlwZTtcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIG92ZXJ3cml0ZT86IGJvb2xlYW47XG59XG5cbmNvbnN0IEFMTF9ERVBFTkRFTkNZX1RZUEUgPSBbXG4gIE5vZGVEZXBlbmRlbmN5VHlwZS5EZWZhdWx0LFxuICBOb2RlRGVwZW5kZW5jeVR5cGUuRGV2LFxuICBOb2RlRGVwZW5kZW5jeVR5cGUuT3B0aW9uYWwsXG4gIE5vZGVEZXBlbmRlbmN5VHlwZS5QZWVyLFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhY2thZ2VKc29uRGVwZW5kZW5jeShcbiAgdHJlZTogVHJlZSxcbiAgZGVwZW5kZW5jeTogTm9kZURlcGVuZGVuY3ksXG4gIHBrZ0pzb25QYXRoID0gUEtHX0pTT05fUEFUSCxcbik6IHZvaWQge1xuICBjb25zdCBqc29uID0gbmV3IEpTT05GaWxlKHRyZWUsIHBrZ0pzb25QYXRoKTtcblxuICBjb25zdCB7IG92ZXJ3cml0ZSwgdHlwZSwgbmFtZSwgdmVyc2lvbiB9ID0gZGVwZW5kZW5jeTtcbiAgY29uc3QgcGF0aCA9IFt0eXBlLCBuYW1lXTtcbiAgaWYgKG92ZXJ3cml0ZSB8fCAhanNvbi5nZXQocGF0aCkpIHtcbiAgICBqc29uLm1vZGlmeShwYXRoLCB2ZXJzaW9uKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUGFja2FnZUpzb25EZXBlbmRlbmN5KFxuICB0cmVlOiBUcmVlLFxuICBuYW1lOiBzdHJpbmcsXG4gIHBrZ0pzb25QYXRoID0gUEtHX0pTT05fUEFUSCxcbik6IHZvaWQge1xuICBjb25zdCBqc29uID0gbmV3IEpTT05GaWxlKHRyZWUsIHBrZ0pzb25QYXRoKTtcblxuICBmb3IgKGNvbnN0IGRlcFR5cGUgb2YgQUxMX0RFUEVOREVOQ1lfVFlQRSkge1xuICAgIGpzb24ucmVtb3ZlKFtkZXBUeXBlLCBuYW1lXSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VKc29uRGVwZW5kZW5jeShcbiAgdHJlZTogVHJlZSxcbiAgbmFtZTogc3RyaW5nLFxuICBwa2dKc29uUGF0aCA9IFBLR19KU09OX1BBVEgsXG4pOiBOb2RlRGVwZW5kZW5jeSB8IG51bGwge1xuICBjb25zdCBqc29uID0gbmV3IEpTT05GaWxlKHRyZWUsIHBrZ0pzb25QYXRoKTtcblxuICBmb3IgKGNvbnN0IGRlcFR5cGUgb2YgQUxMX0RFUEVOREVOQ1lfVFlQRSkge1xuICAgIGNvbnN0IHZlcnNpb24gPSBqc29uLmdldChbZGVwVHlwZSwgbmFtZV0pO1xuXG4gICAgaWYgKHR5cGVvZiB2ZXJzaW9uID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogZGVwVHlwZSxcbiAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgdmVyc2lvbixcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4iXX0= |
@@ -46,3 +46,3 @@ "use strict"; | ||
DependencyType["Peer"] = "peerDependencies"; | ||
})(DependencyType = exports.DependencyType || (exports.DependencyType = {})); | ||
})(DependencyType || (exports.DependencyType = DependencyType = {})); | ||
/** | ||
@@ -71,3 +71,3 @@ * An enum used to specify the dependency installation behavior for the {@link addDependency} | ||
InstallBehavior[InstallBehavior["Always"] = 2] = "Always"; | ||
})(InstallBehavior = exports.InstallBehavior || (exports.InstallBehavior = {})); | ||
})(InstallBehavior || (exports.InstallBehavior = InstallBehavior = {})); | ||
/** | ||
@@ -90,3 +90,3 @@ * An enum used to specify the existing dependency behavior for the {@link addDependency} | ||
ExistingBehavior[ExistingBehavior["Replace"] = 1] = "Replace"; | ||
})(ExistingBehavior = exports.ExistingBehavior || (exports.ExistingBehavior = {})); | ||
})(ExistingBehavior || (exports.ExistingBehavior = ExistingBehavior = {})); | ||
/** | ||
@@ -111,3 +111,2 @@ * Adds a package as a dependency to a `package.json`. By default the `package.json` located | ||
return (tree, context) => { | ||
var _a; | ||
const manifest = tree.readJson(packageJsonPath); | ||
@@ -141,3 +140,3 @@ const dependencySection = manifest[type]; | ||
tree.overwrite(packageJsonPath, JSON.stringify(manifest, null, 2)); | ||
const installPaths = (_a = installTasks.get(context)) !== null && _a !== void 0 ? _a : new Set(); | ||
const installPaths = installTasks.get(context) ?? new Set(); | ||
if (install === InstallBehavior.Always || | ||
@@ -152,1 +151,2 @@ (install === InstallBehavior.Auto && !installPaths.has(packageJsonPath))) { | ||
exports.addDependency = addDependency; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L2RlcGVuZGVuY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHSCw0REFBMEU7QUFDMUUsMkNBQTZCO0FBRTdCLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxFQUFpQyxDQUFDO0FBUWxFOzs7R0FHRztBQUNILElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4QiwwQ0FBd0IsQ0FBQTtJQUN4Qix5Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsY0FBYyw4QkFBZCxjQUFjLFFBSXpCO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksZUFpQlg7QUFqQkQsV0FBWSxlQUFlO0lBQ3pCOzs7OztPQUtHO0lBQ0gscURBQUksQ0FBQTtJQUNKOzs7T0FHRztJQUNILHFEQUFJLENBQUE7SUFDSjs7T0FFRztJQUNILHlEQUFNLENBQUE7QUFDUixDQUFDLEVBakJXLGVBQWUsK0JBQWYsZUFBZSxRQWlCMUI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxnQkFXWDtBQVhELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsdURBQUksQ0FBQTtJQUNKOzs7O09BSUc7SUFDSCw2REFBTyxDQUFBO0FBQ1QsQ0FBQyxFQVhXLGdCQUFnQixnQ0FBaEIsZ0JBQWdCLFFBVzNCO0FBRUQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixJQUFZLEVBQ1osU0FBaUIsRUFDakIsVUFzQkksRUFBRTtJQUVOLE1BQU0sRUFDSixJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFDN0IsZUFBZSxHQUFHLGVBQWUsRUFDakMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQzlCLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQ3BDLEdBQUcsT0FBTyxDQUFDO0lBRVosT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBMkIsQ0FBQztRQUMxRSxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdEIsK0ZBQStGO1lBQy9GLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDeEM7YUFBTTtZQUNMLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFbEQsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7Z0JBQ25DLHNDQUFzQztnQkFDdEMsT0FBTzthQUNSO1lBRUQsSUFBSSxpQkFBaUIsRUFBRTtnQkFDckIsMENBQTBDO2dCQUUxQyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7b0JBQ3RDLE9BQU87aUJBQ1I7Z0JBRUQsZ0VBQWdFO2dCQUNoRSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakIsdUJBQXVCLElBQUksK0NBQStDO29CQUN4RSxJQUFJLGlCQUFpQiw0QkFBNEIsU0FBUyxJQUFJLENBQ2pFLENBQUM7YUFDSDtZQUVELDJDQUEyQztZQUMzQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuRSxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFVLENBQUM7UUFDcEUsSUFDRSxPQUFPLEtBQUssZUFBZSxDQUFDLE1BQU07WUFDbEMsQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsRUFDeEU7WUFDQSxPQUFPLENBQUMsT0FBTyxDQUNiLElBQUksOEJBQXNCLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FDaEYsQ0FBQztZQUNGLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbEMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBcEZELHNDQW9GQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBSdWxlLCBTY2hlbWF0aWNDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VJbnN0YWxsVGFzayB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzL3Rhc2tzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmNvbnN0IGluc3RhbGxUYXNrcyA9IG5ldyBXZWFrTWFwPFNjaGVtYXRpY0NvbnRleHQsIFNldDxzdHJpbmc+PigpO1xuXG5pbnRlcmZhY2UgTWluaW1hbFBhY2thZ2VNYW5pZmVzdCB7XG4gIGRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGRldkRlcGVuZGVuY2llcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHBlZXJEZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIEFuIGVudW0gdXNlZCB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIGEgZGVwZW5kZW5jeSBmb3VuZCB3aXRoaW4gYSBwYWNrYWdlIG1hbmlmZXN0XG4gKiBmaWxlIChgcGFja2FnZS5qc29uYCkuXG4gKi9cbmV4cG9ydCBlbnVtIERlcGVuZGVuY3lUeXBlIHtcbiAgRGVmYXVsdCA9ICdkZXBlbmRlbmNpZXMnLFxuICBEZXYgPSAnZGV2RGVwZW5kZW5jaWVzJyxcbiAgUGVlciA9ICdwZWVyRGVwZW5kZW5jaWVzJyxcbn1cblxuLyoqXG4gKiBBbiBlbnVtIHVzZWQgdG8gc3BlY2lmeSB0aGUgZGVwZW5kZW5jeSBpbnN0YWxsYXRpb24gYmVoYXZpb3IgZm9yIHRoZSB7QGxpbmsgYWRkRGVwZW5kZW5jeX1cbiAqIHNjaGVtYXRpY3MgcnVsZS4gVGhlIGluc3RhbGxhdGlvbiBiZWhhdmlvciBhZmZlY3RzIGlmIGFuZCB3aGVuIHtAbGluayBOb2RlUGFja2FnZUluc3RhbGxUYXNrfVxuICogd2lsbCBiZSBzY2hlZHVsZWQgd2hlbiB1c2luZyB0aGUgcnVsZS5cbiAqL1xuZXhwb3J0IGVudW0gSW5zdGFsbEJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIE5vIGluc3RhbGxhdGlvbiB3aWxsIG9jY3VyIGFzIGEgcmVzdWx0IG9mIHRoZSBydWxlIHdoZW4gc3BlY2lmaWVkLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIGRvZXMgbm90IHByZXZlbnQgb3RoZXIgcnVsZXMgZnJvbSBzY2hlZHVsaW5nIGEge0BsaW5rIE5vZGVQYWNrYWdlSW5zdGFsbFRhc2t9XG4gICAqIHdoaWNoIG1heSBpbnN0YWxsIHRoZSBkZXBlbmRlbmN5LlxuICAgKi9cbiAgTm9uZSxcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIHRoZSBuZWVkIHRvIHNjaGVkdWxlIGEge0BsaW5rIE5vZGVQYWNrYWdlSW5zdGFsbFRhc2t9IGJhc2VkIG9uXG4gICAqIHByZXZpb3VzIHVzYWdlIG9mIHRoZSB7QGxpbmsgYWRkRGVwZW5kZW5jeX0gd2l0aGluIHRoZSBzY2hlbWF0aWMuXG4gICAqL1xuICBBdXRvLFxuICAvKipcbiAgICogQWx3YXlzIHNjaGVkdWxlIGEge0BsaW5rIE5vZGVQYWNrYWdlSW5zdGFsbFRhc2t9IHdoZW4gdGhlIHJ1bGUgaXMgZXhlY3V0ZWQuXG4gICAqL1xuICBBbHdheXMsXG59XG5cbi8qKlxuICogQW4gZW51bSB1c2VkIHRvIHNwZWNpZnkgdGhlIGV4aXN0aW5nIGRlcGVuZGVuY3kgYmVoYXZpb3IgZm9yIHRoZSB7QGxpbmsgYWRkRGVwZW5kZW5jeX1cbiAqIHNjaGVtYXRpY3MgcnVsZS4gVGhlIGV4aXN0aW5nIGJlaGF2aW9yIGFmZmVjdHMgd2hldGhlciB0aGUgbmFtZWQgZGVwZW5kZW5jeSB3aWxsIGJlIGFkZGVkXG4gKiB0byB0aGUgYHBhY2thZ2UuanNvbmAgd2hlbiB0aGUgZGVwZW5kZW5jeSBpcyBhbHJlYWR5IHByZXNlbnQgd2l0aCBhIGRpZmZlcmluZyBzcGVjaWZpZXIuXG4gKi9cbmV4cG9ydCBlbnVtIEV4aXN0aW5nQmVoYXZpb3Ige1xuICAvKipcbiAgICogVGhlIGRlcGVuZGVuY3kgd2lsbCBub3QgYmUgYWRkZWQgb3Igb3RoZXJ3aXNlIGNoYW5nZWQgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG4gICAqL1xuICBTa2lwLFxuICAvKipcbiAgICogVGhlIGRlcGVuZGVuY3kncyBleGlzdGluZyBzcGVjaWZpZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBzcGVjaWZpZXIgcHJvdmlkZWQgaW4gdGhlXG4gICAqIHtAbGluayBhZGREZXBlbmRlbmN5fSBjYWxsLiBBIHdhcm5pbmcgd2lsbCBhbHNvIGJlIHNob3duIGR1cmluZyBzY2hlbWF0aWMgZXhlY3V0aW9uIHRvXG4gICAqIG5vdGlmeSB0aGUgdXNlciBvZiB0aGUgcmVwbGFjZW1lbnQuXG4gICAqL1xuICBSZXBsYWNlLFxufVxuXG4vKipcbiAqIEFkZHMgYSBwYWNrYWdlIGFzIGEgZGVwZW5kZW5jeSB0byBhIGBwYWNrYWdlLmpzb25gLiBCeSBkZWZhdWx0IHRoZSBgcGFja2FnZS5qc29uYCBsb2NhdGVkXG4gKiBhdCB0aGUgc2NoZW1hdGljJ3Mgcm9vdCB3aWxsIGJlIHVzZWQuIFRoZSBgbWFuaWZlc3RQYXRoYCBvcHRpb24gY2FuIGJlIHVzZWQgdG8gZXhwbGljaXRseSBzcGVjaWZ5XG4gKiBhIGBwYWNrYWdlLmpzb25gIGluIGRpZmZlcmVudCBsb2NhdGlvbi4gVGhlIHR5cGUgb2YgdGhlIGRlcGVuZGVuY3kgY2FuIGFsc28gYmUgc3BlY2lmaWVkIGluc3RlYWRcbiAqIG9mIHRoZSBkZWZhdWx0IG9mIHRoZSBgZGVwZW5kZW5jaWVzYCBzZWN0aW9uIGJ5IHVzaW5nIHRoZSBgdHlwZWAgb3B0aW9uIGZvciBlaXRoZXIgYGRldkRlcGVuZGVuY2llc2BcbiAqIG9yIGBwZWVyRGVwZW5kZW5jaWVzYC5cbiAqXG4gKiBXaGVuIHVzaW5nIHRoaXMgcnVsZSwge0BsaW5rIE5vZGVQYWNrYWdlSW5zdGFsbFRhc2t9IGRvZXMgbm90IG5lZWQgdG8gYmUgaW5jbHVkZWQgZGlyZWN0bHkgYnlcbiAqIGEgc2NoZW1hdGljLiBBIHBhY2thZ2UgbWFuYWdlciBpbnN0YWxsIHRhc2sgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNjaGVkdWxlZCBhcyBuZWVkZWQuXG4gKlxuICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdG8gYWRkLlxuICogQHBhcmFtIHNwZWNpZmllciBUaGUgcGFja2FnZSBzcGVjaWZpZXIgZm9yIHRoZSBwYWNrYWdlIHRvIGFkZC4gVHlwaWNhbGx5IGEgU2VtVmVyIHJhbmdlLlxuICogQHBhcmFtIG9wdGlvbnMgQW4gb3B0aW9uYWwgb2JqZWN0IHRoYXQgY2FuIGNvbnRhaW4gdGhlIGB0eXBlYCBvZiB0aGUgZGVwZW5kZW5jeVxuICogYW5kL29yIGEgcGF0aCAoYHBhY2thZ2VKc29uUGF0aGApIG9mIGEgbWFuaWZlc3QgZmlsZSAoYHBhY2thZ2UuanNvbmApIHRvIG1vZGlmeS5cbiAqIEByZXR1cm5zIEEgU2NoZW1hdGljcyB7QGxpbmsgUnVsZX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZERlcGVuZGVuY3koXG4gIG5hbWU6IHN0cmluZyxcbiAgc3BlY2lmaWVyOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgZGVwZW5kZW5jeSBkZXRlcm1pbmVzIHRoZSBzZWN0aW9uIG9mIHRoZSBgcGFja2FnZS5qc29uYCB0byB3aGljaCB0aGVcbiAgICAgKiBkZXBlbmRlbmN5IHdpbGwgYmUgYWRkZWQuIERlZmF1bHRzIHRvIHtAbGluayBEZXBlbmRlbmN5VHlwZS5EZWZhdWx0fSAoYGRlcGVuZGVuY2llc2ApLlxuICAgICAqL1xuICAgIHR5cGU/OiBEZXBlbmRlbmN5VHlwZTtcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBvZiB0aGUgcGFja2FnZSBtYW5pZmVzdCBmaWxlIChgcGFja2FnZS5qc29uYCkgdGhhdCB3aWxsIGJlIG1vZGlmaWVkLlxuICAgICAqIERlZmF1bHRzIHRvIGAvcGFja2FnZS5qc29uYC5cbiAgICAgKi9cbiAgICBwYWNrYWdlSnNvblBhdGg/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGRlcGVuZGVuY3kgaW5zdGFsbGF0aW9uIGJlaGF2aW9yIHRvIHVzZSB0byBkZXRlcm1pbmUgd2hldGhlciBhXG4gICAgICoge0BsaW5rIE5vZGVQYWNrYWdlSW5zdGFsbFRhc2t9IHNob3VsZCBiZSBzY2hlZHVsZWQgYWZ0ZXIgYWRkaW5nIHRoZSBkZXBlbmRlbmN5LlxuICAgICAqIERlZmF1bHRzIHRvIHtAbGluayBJbnN0YWxsQmVoYXZpb3IuQXV0b30uXG4gICAgICovXG4gICAgaW5zdGFsbD86IEluc3RhbGxCZWhhdmlvcjtcbiAgICAvKipcbiAgICAgKiBUaGUgYmVoYXZpb3IgdG8gdXNlIHdoZW4gdGhlIGRlcGVuZGVuY3kgYWxyZWFkeSBleGlzdHMgd2l0aGluIHRoZSBgcGFja2FnZS5qc29uYC5cbiAgICAgKiBEZWZhdWx0cyB0byB7QGxpbmsgRXhpc3RpbmdCZWhhdmlvci5SZXBsYWNlfS5cbiAgICAgKi9cbiAgICBleGlzdGluZz86IEV4aXN0aW5nQmVoYXZpb3I7XG4gIH0gPSB7fSxcbik6IFJ1bGUge1xuICBjb25zdCB7XG4gICAgdHlwZSA9IERlcGVuZGVuY3lUeXBlLkRlZmF1bHQsXG4gICAgcGFja2FnZUpzb25QYXRoID0gJy9wYWNrYWdlLmpzb24nLFxuICAgIGluc3RhbGwgPSBJbnN0YWxsQmVoYXZpb3IuQXV0byxcbiAgICBleGlzdGluZyA9IEV4aXN0aW5nQmVoYXZpb3IuUmVwbGFjZSxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgcmV0dXJuICh0cmVlLCBjb250ZXh0KSA9PiB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSB0cmVlLnJlYWRKc29uKHBhY2thZ2VKc29uUGF0aCkgYXMgTWluaW1hbFBhY2thZ2VNYW5pZmVzdDtcbiAgICBjb25zdCBkZXBlbmRlbmN5U2VjdGlvbiA9IG1hbmlmZXN0W3R5cGVdO1xuXG4gICAgaWYgKCFkZXBlbmRlbmN5U2VjdGlvbikge1xuICAgICAgLy8gU2VjdGlvbiBpcyBub3QgcHJlc2VudC4gVGhlIGRlcGVuZGVuY3kgY2FuIGJlIGFkZGVkIHRvIGEgbmV3IG9iamVjdCBsaXRlcmFsIGZvciB0aGUgc2VjdGlvbi5cbiAgICAgIG1hbmlmZXN0W3R5cGVdID0geyBbbmFtZV06IHNwZWNpZmllciB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBleGlzdGluZ1NwZWNpZmllciA9IGRlcGVuZGVuY3lTZWN0aW9uW25hbWVdO1xuXG4gICAgICBpZiAoZXhpc3RpbmdTcGVjaWZpZXIgPT09IHNwZWNpZmllcikge1xuICAgICAgICAvLyBBbHJlYWR5IHByZXNlbnQgd2l0aCBzYW1lIHNwZWNpZmllclxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChleGlzdGluZ1NwZWNpZmllcikge1xuICAgICAgICAvLyBBbHJlYWR5IHByZXNlbnQgYnV0IGRpZmZlcmVudCBzcGVjaWZpZXJcblxuICAgICAgICBpZiAoZXhpc3RpbmcgPT09IEV4aXN0aW5nQmVoYXZpb3IuU2tpcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4aXN0aW5nQmVoYXZpb3IuUmVwbGFjZSBpcyB0aGUgb25seSBvdGhlciBiZWhhdmlvciBjdXJyZW50bHlcbiAgICAgICAgY29udGV4dC5sb2dnZXIud2FybihcbiAgICAgICAgICBgUGFja2FnZSBkZXBlbmRlbmN5IFwiJHtuYW1lfVwiIGFscmVhZHkgZXhpc3RzIHdpdGggYSBkaWZmZXJlbnQgc3BlY2lmaWVyLiBgICtcbiAgICAgICAgICAgIGBcIiR7ZXhpc3RpbmdTcGVjaWZpZXJ9XCIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIFwiJHtzcGVjaWZpZXJ9XCIuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gQWRkIG5ldyBkZXBlbmRlbmN5IGluIGFscGhhYmV0aWNhbCBvcmRlclxuICAgICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGRlcGVuZGVuY3lTZWN0aW9uKTtcbiAgICAgIGVudHJpZXMucHVzaChbbmFtZSwgc3BlY2lmaWVyXSk7XG4gICAgICBlbnRyaWVzLnNvcnQoKGEsIGIpID0+IGFbMF0ubG9jYWxlQ29tcGFyZShiWzBdKSk7XG4gICAgICBtYW5pZmVzdFt0eXBlXSA9IE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICB9XG5cbiAgICB0cmVlLm92ZXJ3cml0ZShwYWNrYWdlSnNvblBhdGgsIEpTT04uc3RyaW5naWZ5KG1hbmlmZXN0LCBudWxsLCAyKSk7XG5cbiAgICBjb25zdCBpbnN0YWxsUGF0aHMgPSBpbnN0YWxsVGFza3MuZ2V0KGNvbnRleHQpID8/IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGlmIChcbiAgICAgIGluc3RhbGwgPT09IEluc3RhbGxCZWhhdmlvci5BbHdheXMgfHxcbiAgICAgIChpbnN0YWxsID09PSBJbnN0YWxsQmVoYXZpb3IuQXV0byAmJiAhaW5zdGFsbFBhdGhzLmhhcyhwYWNrYWdlSnNvblBhdGgpKVxuICAgICkge1xuICAgICAgY29udGV4dC5hZGRUYXNrKFxuICAgICAgICBuZXcgTm9kZVBhY2thZ2VJbnN0YWxsVGFzayh7IHdvcmtpbmdEaXJlY3Rvcnk6IHBhdGguZGlybmFtZShwYWNrYWdlSnNvblBhdGgpIH0pLFxuICAgICAgKTtcbiAgICAgIGluc3RhbGxQYXRocy5hZGQocGFja2FnZUpzb25QYXRoKTtcbiAgICAgIGluc3RhbGxUYXNrcy5zZXQoY29udGV4dCwgaW5zdGFsbFBhdGhzKTtcbiAgICB9XG4gIH07XG59XG4iXX0= |
@@ -106,1 +106,2 @@ "use strict"; | ||
exports.buildRelativePath = buildRelativePath; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS9maW5kLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwrQ0FBZ0c7QUFjbkYsUUFBQSxVQUFVLEdBQUcsWUFBWSxDQUFDO0FBQzFCLFFBQUEsa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxJQUFVLEVBQUUsT0FBc0I7SUFDdEUsSUFBSSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDNUMsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLGtCQUFVLENBQUM7SUFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksMEJBQWtCLENBQUM7SUFFeEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDbkIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRTlELE9BQU8sSUFBQSxnQkFBUyxFQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7S0FDOUU7U0FBTTtRQUNMLE1BQU0sVUFBVSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbkUsTUFBTSxhQUFhLEdBQUcsSUFBQSxnQkFBUyxFQUFDLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRSxNQUFNLGNBQWMsR0FBRyxJQUFBLGdCQUFTLEVBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRTlELE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFPLENBQUMsSUFBQSxnQkFBUyxFQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJFLEtBQUssSUFBSSxHQUFHLEdBQUcsVUFBVSxFQUFFLEdBQUcsSUFBSSxxQkFBYyxFQUFFLEdBQUcsR0FBRyxJQUFBLGNBQU8sRUFBQyxHQUFHLENBQUMsRUFBRTtZQUNwRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsS0FBSyxJQUFJLEdBQUcsR0FBRyxhQUFhLEVBQUUsR0FBRyxJQUFJLHFCQUFjLEVBQUUsR0FBRyxHQUFHLElBQUEsY0FBTyxFQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZFLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkI7UUFFRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0UsS0FBSyxNQUFNLENBQUMsSUFBSSxjQUFjLEVBQUU7WUFDOUIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxjQUFjLEtBQUssRUFBRSxHQUFHLGNBQWMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDdEYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsV0FBSSxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDbEIsQ0FBQztZQUVGLEtBQUssTUFBTSxFQUFFLElBQUksY0FBYyxFQUFFO2dCQUMvQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ25CLE9BQU8sSUFBQSxnQkFBUyxFQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN0QjthQUNGO1NBQ0Y7UUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLHFCQUFxQixPQUFPLENBQUMsTUFBTSxxQkFBcUI7WUFDdEQsNkNBQTZDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDL0UsQ0FBQztLQUNIO0FBQ0gsQ0FBQztBQTVDRCxzREE0Q0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FDeEIsSUFBVSxFQUNWLFdBQW1CLEVBQ25CLFNBQVMsR0FBRyxrQkFBVSxFQUN0QixnQkFBZ0IsR0FBRywwQkFBa0I7SUFFckMsSUFBSSxHQUFHLEdBQW9CLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQzFELElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRS9CLE9BQU8sR0FBRyxFQUFFO1FBQ1YsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBRWhGLGtCQUFrQixHQUFHLGtCQUFrQixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUV4RixJQUFJLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBQSxXQUFJLEVBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQzthQUFNLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FDYixpRkFBaUY7Z0JBQy9FLHFGQUFxRixDQUN4RixDQUFDO1NBQ0g7UUFFRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztLQUNsQjtJQUVELE1BQU0sUUFBUSxHQUFHLGtCQUFrQjtRQUNqQyxDQUFDLENBQUMsd0NBQXdDO1lBQ3hDLDBCQUEwQixnQkFBZ0Isc0NBQXNDO1lBQ2hGLGlFQUFpRTtRQUNuRSxDQUFDLENBQUMsMkZBQTJGLENBQUM7SUFFaEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBbENELGdDQWtDQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWSxFQUFFLEVBQVU7SUFDeEQsSUFBSSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixFQUFFLEdBQUcsSUFBQSxnQkFBUyxFQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRW5CLHFCQUFxQjtJQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFOUIsNkNBQTZDO0lBQzdDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFakMsTUFBTSxZQUFZLEdBQUcsSUFBQSxlQUFRLEVBQzNCLElBQUEsZ0JBQVMsRUFBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUNyQyxJQUFBLGdCQUFTLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FDcEMsQ0FBQztJQUNGLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUVwQiw2RUFBNkU7SUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqQixVQUFVLEdBQUcsR0FBRyxDQUFDO0tBQ2xCO1NBQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEMsVUFBVSxHQUFHLElBQUksQ0FBQztLQUNuQjtJQUNELElBQUksVUFBVSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMzQyxVQUFVLElBQUksR0FBRyxDQUFDO0tBQ25CO0lBRUQsT0FBTyxVQUFVLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztBQUM1RSxDQUFDO0FBN0JELDhDQTZCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBOb3JtYWxpemVkUm9vdCwgUGF0aCwgZGlybmFtZSwgam9pbiwgbm9ybWFsaXplLCByZWxhdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IERpckVudHJ5LCBUcmVlIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZU9wdGlvbnMge1xuICBtb2R1bGU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZmxhdD86IGJvb2xlYW47XG4gIHBhdGg/OiBzdHJpbmc7XG4gIHNraXBJbXBvcnQ/OiBib29sZWFuO1xuICBtb2R1bGVFeHQ/OiBzdHJpbmc7XG4gIHJvdXRpbmdNb2R1bGVFeHQ/OiBzdHJpbmc7XG4gIHN0YW5kYWxvbmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTU9EVUxFX0VYVCA9ICcubW9kdWxlLnRzJztcbmV4cG9ydCBjb25zdCBST1VUSU5HX01PRFVMRV9FWFQgPSAnLXJvdXRpbmcubW9kdWxlLnRzJztcblxuLyoqXG4gKiBGaW5kIHRoZSBtb2R1bGUgcmVmZXJyZWQgYnkgYSBzZXQgb2Ygb3B0aW9ucyBwYXNzZWQgdG8gdGhlIHNjaGVtYXRpY3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTW9kdWxlRnJvbU9wdGlvbnMoaG9zdDogVHJlZSwgb3B0aW9uczogTW9kdWxlT3B0aW9ucyk6IFBhdGggfCB1bmRlZmluZWQge1xuICBpZiAob3B0aW9ucy5zdGFuZGFsb25lIHx8IG9wdGlvbnMuc2tpcEltcG9ydCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBtb2R1bGVFeHQgPSBvcHRpb25zLm1vZHVsZUV4dCB8fCBNT0RVTEVfRVhUO1xuICBjb25zdCByb3V0aW5nTW9kdWxlRXh0ID0gb3B0aW9ucy5yb3V0aW5nTW9kdWxlRXh0IHx8IFJPVVRJTkdfTU9EVUxFX0VYVDtcblxuICBpZiAoIW9wdGlvbnMubW9kdWxlKSB7XG4gICAgY29uc3QgcGF0aFRvQ2hlY2sgPSAob3B0aW9ucy5wYXRoIHx8ICcnKSArICcvJyArIG9wdGlvbnMubmFtZTtcblxuICAgIHJldHVybiBub3JtYWxpemUoZmluZE1vZHVsZShob3N0LCBwYXRoVG9DaGVjaywgbW9kdWxlRXh0LCByb3V0aW5nTW9kdWxlRXh0KSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IG5vcm1hbGl6ZShgLyR7b3B0aW9ucy5wYXRofS8ke29wdGlvbnMubW9kdWxlfWApO1xuICAgIGNvbnN0IGNvbXBvbmVudFBhdGggPSBub3JtYWxpemUoYC8ke29wdGlvbnMucGF0aH0vJHtvcHRpb25zLm5hbWV9YCk7XG4gICAgY29uc3QgbW9kdWxlQmFzZU5hbWUgPSBub3JtYWxpemUobW9kdWxlUGF0aCkuc3BsaXQoJy8nKS5wb3AoKTtcblxuICAgIGNvbnN0IGNhbmRpZGF0ZVNldCA9IG5ldyBTZXQ8UGF0aD4oW25vcm1hbGl6ZShvcHRpb25zLnBhdGggfHwgJy8nKV0pO1xuXG4gICAgZm9yIChsZXQgZGlyID0gbW9kdWxlUGF0aDsgZGlyICE9IE5vcm1hbGl6ZWRSb290OyBkaXIgPSBkaXJuYW1lKGRpcikpIHtcbiAgICAgIGNhbmRpZGF0ZVNldC5hZGQoZGlyKTtcbiAgICB9XG4gICAgZm9yIChsZXQgZGlyID0gY29tcG9uZW50UGF0aDsgZGlyICE9IE5vcm1hbGl6ZWRSb290OyBkaXIgPSBkaXJuYW1lKGRpcikpIHtcbiAgICAgIGNhbmRpZGF0ZVNldC5hZGQoZGlyKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5kaWRhdGVzRGlycyA9IFsuLi5jYW5kaWRhdGVTZXRdLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpO1xuICAgIGZvciAoY29uc3QgYyBvZiBjYW5kaWRhdGVzRGlycykge1xuICAgICAgY29uc3QgY2FuZGlkYXRlRmlsZXMgPSBbJycsIGAke21vZHVsZUJhc2VOYW1lfS50c2AsIGAke21vZHVsZUJhc2VOYW1lfSR7bW9kdWxlRXh0fWBdLm1hcChcbiAgICAgICAgKHgpID0+IGpvaW4oYywgeCksXG4gICAgICApO1xuXG4gICAgICBmb3IgKGNvbnN0IHNjIG9mIGNhbmRpZGF0ZUZpbGVzKSB7XG4gICAgICAgIGlmIChob3N0LmV4aXN0cyhzYykpIHtcbiAgICAgICAgICByZXR1cm4gbm9ybWFsaXplKHNjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBTcGVjaWZpZWQgbW9kdWxlICcke29wdGlvbnMubW9kdWxlfScgZG9lcyBub3QgZXhpc3QuXFxuYCArXG4gICAgICAgIGBMb29rZWQgaW4gdGhlIGZvbGxvd2luZyBkaXJlY3RvcmllczpcXG4gICAgJHtjYW5kaWRhdGVzRGlycy5qb2luKCdcXG4gICAgJyl9YCxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gZmluZCB0aGUgXCJjbG9zZXN0XCIgbW9kdWxlIHRvIGEgZ2VuZXJhdGVkIGZpbGUncyBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZE1vZHVsZShcbiAgaG9zdDogVHJlZSxcbiAgZ2VuZXJhdGVEaXI6IHN0cmluZyxcbiAgbW9kdWxlRXh0ID0gTU9EVUxFX0VYVCxcbiAgcm91dGluZ01vZHVsZUV4dCA9IFJPVVRJTkdfTU9EVUxFX0VYVCxcbik6IFBhdGgge1xuICBsZXQgZGlyOiBEaXJFbnRyeSB8IG51bGwgPSBob3N0LmdldERpcignLycgKyBnZW5lcmF0ZURpcik7XG4gIGxldCBmb3VuZFJvdXRpbmdNb2R1bGUgPSBmYWxzZTtcblxuICB3aGlsZSAoZGlyKSB7XG4gICAgY29uc3QgYWxsTWF0Y2hlcyA9IGRpci5zdWJmaWxlcy5maWx0ZXIoKHApID0+IHAuZW5kc1dpdGgobW9kdWxlRXh0KSk7XG4gICAgY29uc3QgZmlsdGVyZWRNYXRjaGVzID0gYWxsTWF0Y2hlcy5maWx0ZXIoKHApID0+ICFwLmVuZHNXaXRoKHJvdXRpbmdNb2R1bGVFeHQpKTtcblxuICAgIGZvdW5kUm91dGluZ01vZHVsZSA9IGZvdW5kUm91dGluZ01vZHVsZSB8fCBhbGxNYXRjaGVzLmxlbmd0aCAhPT0gZmlsdGVyZWRNYXRjaGVzLmxlbmd0aDtcblxuICAgIGlmIChmaWx0ZXJlZE1hdGNoZXMubGVuZ3RoID09IDEpIHtcbiAgICAgIHJldHVybiBqb2luKGRpci5wYXRoLCBmaWx0ZXJlZE1hdGNoZXNbMF0pO1xuICAgIH0gZWxzZSBpZiAoZmlsdGVyZWRNYXRjaGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE1vcmUgdGhhbiBvbmUgbW9kdWxlIG1hdGNoZXMuIFVzZSB0aGUgJy0tc2tpcC1pbXBvcnQnIG9wdGlvbiB0byBza2lwIGltcG9ydGluZyBgICtcbiAgICAgICAgICAndGhlIGNvbXBvbmVudCBpbnRvIHRoZSBjbG9zZXN0IG1vZHVsZSBvciB1c2UgdGhlIG1vZHVsZSBvcHRpb24gdG8gc3BlY2lmeSBhIG1vZHVsZS4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBkaXIgPSBkaXIucGFyZW50O1xuICB9XG5cbiAgY29uc3QgZXJyb3JNc2cgPSBmb3VuZFJvdXRpbmdNb2R1bGVcbiAgICA/ICdDb3VsZCBub3QgZmluZCBhIG5vbiBSb3V0aW5nIE5nTW9kdWxlLicgK1xuICAgICAgYFxcbk1vZHVsZXMgd2l0aCBzdWZmaXggJyR7cm91dGluZ01vZHVsZUV4dH0nIGFyZSBzdHJpY3RseSByZXNlcnZlZCBmb3Igcm91dGluZy5gICtcbiAgICAgIGBcXG5Vc2UgdGhlICctLXNraXAtaW1wb3J0JyBvcHRpb24gdG8gc2tpcCBpbXBvcnRpbmcgaW4gTmdNb2R1bGUuYFxuICAgIDogYENvdWxkIG5vdCBmaW5kIGFuIE5nTW9kdWxlLiBVc2UgdGhlICctLXNraXAtaW1wb3J0JyBvcHRpb24gdG8gc2tpcCBpbXBvcnRpbmcgaW4gTmdNb2R1bGUuYDtcblxuICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNc2cpO1xufVxuXG4vKipcbiAqIEJ1aWxkIGEgcmVsYXRpdmUgcGF0aCBmcm9tIG9uZSBmaWxlIHBhdGggdG8gYW5vdGhlciBmaWxlIHBhdGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJlbGF0aXZlUGF0aChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiBzdHJpbmcge1xuICBmcm9tID0gbm9ybWFsaXplKGZyb20pO1xuICB0byA9IG5vcm1hbGl6ZSh0byk7XG5cbiAgLy8gQ29udmVydCB0byBhcnJheXMuXG4gIGNvbnN0IGZyb21QYXJ0cyA9IGZyb20uc3BsaXQoJy8nKTtcbiAgY29uc3QgdG9QYXJ0cyA9IHRvLnNwbGl0KCcvJyk7XG5cbiAgLy8gUmVtb3ZlIGZpbGUgbmFtZXMgKHByZXNlcnZpbmcgZGVzdGluYXRpb24pXG4gIGZyb21QYXJ0cy5wb3AoKTtcbiAgY29uc3QgdG9GaWxlTmFtZSA9IHRvUGFydHMucG9wKCk7XG5cbiAgY29uc3QgcmVsYXRpdmVQYXRoID0gcmVsYXRpdmUoXG4gICAgbm9ybWFsaXplKGZyb21QYXJ0cy5qb2luKCcvJykgfHwgJy8nKSxcbiAgICBub3JtYWxpemUodG9QYXJ0cy5qb2luKCcvJykgfHwgJy8nKSxcbiAgKTtcbiAgbGV0IHBhdGhQcmVmaXggPSAnJztcblxuICAvLyBTZXQgdGhlIHBhdGggcHJlZml4IGZvciBzYW1lIGRpciBvciBjaGlsZCBkaXIsIHBhcmVudCBkaXIgc3RhcnRzIHdpdGggYC4uYFxuICBpZiAoIXJlbGF0aXZlUGF0aCkge1xuICAgIHBhdGhQcmVmaXggPSAnLic7XG4gIH0gZWxzZSBpZiAoIXJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKCcuJykpIHtcbiAgICBwYXRoUHJlZml4ID0gYC4vYDtcbiAgfVxuICBpZiAocGF0aFByZWZpeCAmJiAhcGF0aFByZWZpeC5lbmRzV2l0aCgnLycpKSB7XG4gICAgcGF0aFByZWZpeCArPSAnLyc7XG4gIH1cblxuICByZXR1cm4gcGF0aFByZWZpeCArIChyZWxhdGl2ZVBhdGggPyByZWxhdGl2ZVBhdGggKyAnLycgOiAnJykgKyB0b0ZpbGVOYW1lO1xufVxuIl19 |
@@ -14,5 +14,6 @@ /** | ||
prefix?: string; | ||
project?: string; | ||
project: string; | ||
skipTests?: boolean; | ||
templateFilesDirectory?: string; | ||
} | ||
export declare function generateFromFiles(options: GenerateFromFilesOptions, extraTemplateValues?: Record<string, string | ((v: string) => string)>): Rule; |
@@ -17,6 +17,5 @@ "use strict"; | ||
return async (host) => { | ||
var _a, _b, _c; | ||
(_a = options.path) !== null && _a !== void 0 ? _a : (options.path = await (0, workspace_1.createDefaultPath)(host, options.project)); | ||
(_b = options.prefix) !== null && _b !== void 0 ? _b : (options.prefix = ''); | ||
(_c = options.flat) !== null && _c !== void 0 ? _c : (options.flat = true); | ||
options.path ?? (options.path = await (0, workspace_1.createDefaultPath)(host, options.project)); | ||
options.prefix ?? (options.prefix = ''); | ||
options.flat ?? (options.flat = true); | ||
const parsedPath = (0, parse_name_1.parseName)(options.path, options.name); | ||
@@ -26,3 +25,4 @@ options.name = parsedPath.name; | ||
(0, validation_1.validateClassName)(schematics_1.strings.classify(options.name)); | ||
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('./files'), [ | ||
const templateFilesDirectory = options.templateFilesDirectory ?? './files'; | ||
const templateSource = (0, schematics_1.apply)((0, schematics_1.url)(templateFilesDirectory), [ | ||
options.skipTests ? (0, schematics_1.filter)((path) => !path.endsWith('.spec.ts.template')) : (0, schematics_1.noop)(), | ||
@@ -40,1 +40,2 @@ (0, schematics_1.applyTemplates)({ | ||
exports.generateFromFiles = generateFromFiles; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZnJvbS1maWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L2dlbmVyYXRlLWZyb20tZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBWW9DO0FBQ3BDLDZDQUF5QztBQUN6Qyw2Q0FBaUQ7QUFDakQsMkNBQWdEO0FBWWhELFNBQWdCLGlCQUFpQixDQUMvQixPQUFpQyxFQUNqQyxzQkFBd0UsRUFBRTtJQUUxRSxPQUFPLEtBQUssRUFBRSxJQUFVLEVBQUUsRUFBRTtRQUMxQixPQUFPLENBQUMsSUFBSSxLQUFaLE9BQU8sQ0FBQyxJQUFJLEdBQUssTUFBTSxJQUFBLDZCQUFpQixFQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUM7UUFDaEUsT0FBTyxDQUFDLE1BQU0sS0FBZCxPQUFPLENBQUMsTUFBTSxHQUFLLEVBQUUsRUFBQztRQUN0QixPQUFPLENBQUMsSUFBSSxLQUFaLE9BQU8sQ0FBQyxJQUFJLEdBQUssSUFBSSxFQUFDO1FBRXRCLE1BQU0sVUFBVSxHQUFHLElBQUEsc0JBQVMsRUFBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxPQUFPLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBRS9CLElBQUEsOEJBQWlCLEVBQUMsb0JBQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFbEQsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLElBQUksU0FBUyxDQUFDO1FBQzNFLE1BQU0sY0FBYyxHQUFHLElBQUEsa0JBQUssRUFBQyxJQUFBLGdCQUFHLEVBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUN4RCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFNLEVBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQUksR0FBRTtZQUNsRixJQUFBLDJCQUFjLEVBQUM7Z0JBQ2IsR0FBRyxvQkFBTztnQkFDVixHQUFHLE9BQU87Z0JBQ1YsR0FBRyxtQkFBbUI7YUFDdkIsQ0FBQztZQUNGLElBQUEsaUJBQUksRUFBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsb0JBQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDcEYsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLGtCQUFLLEVBQUMsQ0FBQyxJQUFBLHNCQUFTLEVBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQztBQUNKLENBQUM7QUE1QkQsOENBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIFJ1bGUsXG4gIFRyZWUsXG4gIGFwcGx5LFxuICBhcHBseVRlbXBsYXRlcyxcbiAgY2hhaW4sXG4gIGZpbHRlcixcbiAgbWVyZ2VXaXRoLFxuICBtb3ZlLFxuICBub29wLFxuICBzdHJpbmdzLFxuICB1cmwsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IHBhcnNlTmFtZSB9IGZyb20gJy4vcGFyc2UtbmFtZSc7XG5pbXBvcnQgeyB2YWxpZGF0ZUNsYXNzTmFtZSB9IGZyb20gJy4vdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0UGF0aCB9IGZyb20gJy4vd29ya3NwYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZUZyb21GaWxlc09wdGlvbnMge1xuICBmbGF0PzogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHByb2plY3Q6IHN0cmluZztcbiAgc2tpcFRlc3RzPzogYm9vbGVhbjtcbiAgdGVtcGxhdGVGaWxlc0RpcmVjdG9yeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRnJvbUZpbGVzKFxuICBvcHRpb25zOiBHZW5lcmF0ZUZyb21GaWxlc09wdGlvbnMsXG4gIGV4dHJhVGVtcGxhdGVWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8ICgodjogc3RyaW5nKSA9PiBzdHJpbmcpPiA9IHt9LFxuKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIG9wdGlvbnMucGF0aCA/Pz0gYXdhaXQgY3JlYXRlRGVmYXVsdFBhdGgoaG9zdCwgb3B0aW9ucy5wcm9qZWN0KTtcbiAgICBvcHRpb25zLnByZWZpeCA/Pz0gJyc7XG4gICAgb3B0aW9ucy5mbGF0ID8/PSB0cnVlO1xuXG4gICAgY29uc3QgcGFyc2VkUGF0aCA9IHBhcnNlTmFtZShvcHRpb25zLnBhdGgsIG9wdGlvbnMubmFtZSk7XG4gICAgb3B0aW9ucy5uYW1lID0gcGFyc2VkUGF0aC5uYW1lO1xuICAgIG9wdGlvbnMucGF0aCA9IHBhcnNlZFBhdGgucGF0aDtcblxuICAgIHZhbGlkYXRlQ2xhc3NOYW1lKHN0cmluZ3MuY2xhc3NpZnkob3B0aW9ucy5uYW1lKSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUZpbGVzRGlyZWN0b3J5ID0gb3B0aW9ucy50ZW1wbGF0ZUZpbGVzRGlyZWN0b3J5ID8/ICcuL2ZpbGVzJztcbiAgICBjb25zdCB0ZW1wbGF0ZVNvdXJjZSA9IGFwcGx5KHVybCh0ZW1wbGF0ZUZpbGVzRGlyZWN0b3J5KSwgW1xuICAgICAgb3B0aW9ucy5za2lwVGVzdHMgPyBmaWx0ZXIoKHBhdGgpID0+ICFwYXRoLmVuZHNXaXRoKCcuc3BlYy50cy50ZW1wbGF0ZScpKSA6IG5vb3AoKSxcbiAgICAgIGFwcGx5VGVtcGxhdGVzKHtcbiAgICAgICAgLi4uc3RyaW5ncyxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgLi4uZXh0cmFUZW1wbGF0ZVZhbHVlcyxcbiAgICAgIH0pLFxuICAgICAgbW92ZShwYXJzZWRQYXRoLnBhdGggKyAob3B0aW9ucy5mbGF0ID8gJycgOiAnLycgKyBzdHJpbmdzLmRhc2hlcml6ZShvcHRpb25zLm5hbWUpKSksXG4gICAgXSk7XG5cbiAgICByZXR1cm4gY2hhaW4oW21lcmdlV2l0aCh0ZW1wbGF0ZVNvdXJjZSldKTtcbiAgfTtcbn1cbiJdfQ== |
@@ -10,2 +10,3 @@ /** | ||
export { Builders as AngularBuilder } from './workspace-models'; | ||
export * from './standalone'; | ||
export { DependencyType, ExistingBehavior, InstallBehavior, addDependency } from './dependency'; |
@@ -9,2 +9,16 @@ "use strict"; | ||
*/ | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
@@ -19,2 +33,3 @@ exports.addDependency = exports.InstallBehavior = exports.ExistingBehavior = exports.DependencyType = exports.AngularBuilder = exports.writeWorkspace = exports.updateWorkspace = exports.readWorkspace = void 0; | ||
Object.defineProperty(exports, "AngularBuilder", { enumerable: true, get: function () { return workspace_models_1.Builders; } }); | ||
__exportStar(require("./standalone"), exports); | ||
// Package dependency related rules and types | ||
@@ -26,1 +41,2 @@ var dependency_1 = require("./dependency"); | ||
Object.defineProperty(exports, "addDependency", { enumerable: true, get: function () { return dependency_1.addDependency; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILG9DQUFvQztBQUNwQyx5Q0FPcUI7QUFIbkIsMEdBQUEsWUFBWSxPQUFpQjtBQUM3Qiw0R0FBQSxlQUFlLE9BQUE7QUFDZiwyR0FBQSxjQUFjLE9BQUE7QUFFaEIsdURBQWdFO0FBQXZELGtIQUFBLFFBQVEsT0FBa0I7QUFDbkMsK0NBQTZCO0FBRTdCLDZDQUE2QztBQUM3QywyQ0FBZ0c7QUFBdkYsNEdBQUEsY0FBYyxPQUFBO0FBQUUsOEdBQUEsZ0JBQWdCLE9BQUE7QUFBRSw2R0FBQSxlQUFlLE9BQUE7QUFBRSwyR0FBQSxhQUFhLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gV29ya3NwYWNlIHJlbGF0ZWQgcnVsZXMgYW5kIHR5cGVzXG5leHBvcnQge1xuICBQcm9qZWN0RGVmaW5pdGlvbixcbiAgVGFyZ2V0RGVmaW5pdGlvbixcbiAgV29ya3NwYWNlRGVmaW5pdGlvbixcbiAgZ2V0V29ya3NwYWNlIGFzIHJlYWRXb3Jrc3BhY2UsXG4gIHVwZGF0ZVdvcmtzcGFjZSxcbiAgd3JpdGVXb3Jrc3BhY2UsXG59IGZyb20gJy4vd29ya3NwYWNlJztcbmV4cG9ydCB7IEJ1aWxkZXJzIGFzIEFuZ3VsYXJCdWlsZGVyIH0gZnJvbSAnLi93b3Jrc3BhY2UtbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhbmRhbG9uZSc7XG5cbi8vIFBhY2thZ2UgZGVwZW5kZW5jeSByZWxhdGVkIHJ1bGVzIGFuZCB0eXBlc1xuZXhwb3J0IHsgRGVwZW5kZW5jeVR5cGUsIEV4aXN0aW5nQmVoYXZpb3IsIEluc3RhbGxCZWhhdmlvciwgYWRkRGVwZW5kZW5jeSB9IGZyb20gJy4vZGVwZW5kZW5jeSc7XG4iXX0= |
@@ -10,5 +10,5 @@ /** | ||
import { Tree } from '@angular-devkit/schematics'; | ||
export declare type InsertionIndex = (properties: string[]) => number; | ||
export declare type JSONPath = (string | number)[]; | ||
/** @internal */ | ||
export type InsertionIndex = (properties: string[]) => number; | ||
export type JSONPath = (string | number)[]; | ||
/** @private */ | ||
export declare class JSONFile { | ||
@@ -15,0 +15,0 @@ private readonly host; |
@@ -12,3 +12,3 @@ "use strict"; | ||
const jsonc_parser_1 = require("jsonc-parser"); | ||
/** @internal */ | ||
/** @private */ | ||
class JSONFile { | ||
@@ -70,1 +70,2 @@ constructor(host, path) { | ||
exports.JSONFile = JSONFile; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvanNvbi1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUlILCtDQVNzQjtBQUt0QixlQUFlO0FBQ2YsTUFBYSxRQUFRO0lBR25CLFlBQTZCLElBQVUsRUFBbUIsSUFBWTtRQUF6QyxTQUFJLEdBQUosSUFBSSxDQUFNO1FBQW1CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDcEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUdELElBQVksT0FBTztRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3RCO1FBRUQsTUFBTSxNQUFNLEdBQWlCLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEsd0JBQVMsRUFBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0JBQW9CLElBQUksQ0FBQyxJQUFJLHlCQUF5QixJQUFBLGtDQUFtQixFQUN2RSxLQUFLLENBQ04saUJBQWlCLE1BQU0sR0FBRyxDQUM1QixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELEdBQUcsQ0FBQyxRQUFrQjtRQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBQSwyQkFBWSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBQSxpQ0FBa0IsRUFBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdkQsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUEsMkJBQVksRUFBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUNKLFFBQWtCLEVBQ2xCLEtBQTRCLEVBQzVCLGFBQXNDO1FBRXRDLElBQUksaUJBQTZDLENBQUM7UUFDbEQsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFO1lBQy9CLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxpQkFBaUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ2pDLENBQUMsR0FBRyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7U0FDckU7YUFBTSxJQUFJLGFBQWEsS0FBSyxLQUFLLEVBQUU7WUFDbEMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDO1NBQ25DO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBQSxxQkFBTSxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUNsRCxpQkFBaUI7WUFDakIsaUJBQWlCLEVBQUU7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJO2dCQUNsQixPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLHlCQUFVLEVBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0NBQ0Y7QUExRUQsNEJBMEVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IEpzb25WYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7IFRyZWUgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQge1xuICBOb2RlLFxuICBQYXJzZUVycm9yLFxuICBhcHBseUVkaXRzLFxuICBmaW5kTm9kZUF0TG9jYXRpb24sXG4gIGdldE5vZGVWYWx1ZSxcbiAgbW9kaWZ5LFxuICBwYXJzZVRyZWUsXG4gIHByaW50UGFyc2VFcnJvckNvZGUsXG59IGZyb20gJ2pzb25jLXBhcnNlcic7XG5cbmV4cG9ydCB0eXBlIEluc2VydGlvbkluZGV4ID0gKHByb3BlcnRpZXM6IHN0cmluZ1tdKSA9PiBudW1iZXI7XG5leHBvcnQgdHlwZSBKU09OUGF0aCA9IChzdHJpbmcgfCBudW1iZXIpW107XG5cbi8qKiBAcHJpdmF0ZSAqL1xuZXhwb3J0IGNsYXNzIEpTT05GaWxlIHtcbiAgY29udGVudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHJlZSwgcHJpdmF0ZSByZWFkb25seSBwYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmhvc3QucmVhZFRleHQodGhpcy5wYXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2pzb25Bc3Q6IE5vZGUgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgZ2V0IEpzb25Bc3QoKTogTm9kZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2pzb25Bc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLl9qc29uQXN0O1xuICAgIH1cblxuICAgIGNvbnN0IGVycm9yczogUGFyc2VFcnJvcltdID0gW107XG4gICAgdGhpcy5fanNvbkFzdCA9IHBhcnNlVHJlZSh0aGlzLmNvbnRlbnQsIGVycm9ycywgeyBhbGxvd1RyYWlsaW5nQ29tbWE6IHRydWUgfSk7XG4gICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHsgZXJyb3IsIG9mZnNldCB9ID0gZXJyb3JzWzBdO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIFwiJHt0aGlzLnBhdGh9XCIgYXMgSlNPTiBBU1QgT2JqZWN0LiAke3ByaW50UGFyc2VFcnJvckNvZGUoXG4gICAgICAgICAgZXJyb3IsXG4gICAgICAgICl9IGF0IGxvY2F0aW9uOiAke29mZnNldH0uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2pzb25Bc3Q7XG4gIH1cblxuICBnZXQoanNvblBhdGg6IEpTT05QYXRoKTogdW5rbm93biB7XG4gICAgY29uc3QganNvbkFzdE5vZGUgPSB0aGlzLkpzb25Bc3Q7XG4gICAgaWYgKCFqc29uQXN0Tm9kZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoanNvblBhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZ2V0Tm9kZVZhbHVlKGpzb25Bc3ROb2RlKTtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gZmluZE5vZGVBdExvY2F0aW9uKGpzb25Bc3ROb2RlLCBqc29uUGF0aCk7XG5cbiAgICByZXR1cm4gbm9kZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogZ2V0Tm9kZVZhbHVlKG5vZGUpO1xuICB9XG5cbiAgbW9kaWZ5KFxuICAgIGpzb25QYXRoOiBKU09OUGF0aCxcbiAgICB2YWx1ZTogSnNvblZhbHVlIHwgdW5kZWZpbmVkLFxuICAgIGluc2VydEluT3JkZXI/OiBJbnNlcnRpb25JbmRleCB8IGZhbHNlLFxuICApOiB2b2lkIHtcbiAgICBsZXQgZ2V0SW5zZXJ0aW9uSW5kZXg6IEluc2VydGlvbkluZGV4IHwgdW5kZWZpbmVkO1xuICAgIGlmIChpbnNlcnRJbk9yZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5ID0ganNvblBhdGguc2xpY2UoLTEpWzBdO1xuICAgICAgZ2V0SW5zZXJ0aW9uSW5kZXggPSAocHJvcGVydGllcykgPT5cbiAgICAgICAgWy4uLnByb3BlcnRpZXMsIHByb3BlcnR5XS5zb3J0KCkuZmluZEluZGV4KChwKSA9PiBwID09PSBwcm9wZXJ0eSk7XG4gICAgfSBlbHNlIGlmIChpbnNlcnRJbk9yZGVyICE9PSBmYWxzZSkge1xuICAgICAgZ2V0SW5zZXJ0aW9uSW5kZXggPSBpbnNlcnRJbk9yZGVyO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRzID0gbW9kaWZ5KHRoaXMuY29udGVudCwganNvblBhdGgsIHZhbHVlLCB7XG4gICAgICBnZXRJbnNlcnRpb25JbmRleCxcbiAgICAgIGZvcm1hdHRpbmdPcHRpb25zOiB7XG4gICAgICAgIGluc2VydFNwYWNlczogdHJ1ZSxcbiAgICAgICAgdGFiU2l6ZTogMixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbnRlbnQgPSBhcHBseUVkaXRzKHRoaXMuY29udGVudCwgZWRpdHMpO1xuICAgIHRoaXMuaG9zdC5vdmVyd3JpdGUodGhpcy5wYXRoLCB0aGlzLmNvbnRlbnQpO1xuICAgIHRoaXMuX2pzb25Bc3QgPSB1bmRlZmluZWQ7XG4gIH1cblxuICByZW1vdmUoanNvblBhdGg6IEpTT05QYXRoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZ2V0KGpzb25QYXRoKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1vZGlmeShqc29uUGF0aCwgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
@@ -16,3 +16,3 @@ "use strict"; | ||
// As Angular CLI works with same minor versions of Angular Framework, a tilde match for the current | ||
Angular: '^14.1.0', | ||
Angular: '^16.2.0', | ||
// Since @angular-devkit/build-angular and @schematics/angular are always | ||
@@ -23,1 +23,2 @@ // published together from the same monorepo, and they are both | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0ZXN0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvbGF0ZXN0LXZlcnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVVLFFBQUEsY0FBYyxHQUd2QjtJQUNGLG1HQUFtRztJQUNuRyw4Q0FBOEM7SUFDOUMsR0FBRyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFFNUQsb0dBQW9HO0lBQ3BHLE9BQU8sRUFBRSxTQUFTO0lBRWxCLHlFQUF5RTtJQUN6RSwrREFBK0Q7SUFDL0QsNERBQTREO0lBQzVELGtCQUFrQixFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUM7Q0FDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgY29uc3QgbGF0ZXN0VmVyc2lvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gJiB7XG4gIEFuZ3VsYXI6IHN0cmluZztcbiAgRGV2a2l0QnVpbGRBbmd1bGFyOiBzdHJpbmc7XG59ID0ge1xuICAvLyBXZSBjb3VsZCBoYXZlIHVzZWQgVHlwZVNjcmlwdHMnIGByZXNvbHZlSnNvbk1vZHVsZWAgdG8gbWFrZSB0aGUgYGxhdGVzdFZlcnNpb25gIG9iamVjdCB0eXBlc2FmZSxcbiAgLy8gYnV0IHRzX2xpYnJhcnkgZG9lc24ndCBzdXBwb3J0IEpTT04gaW5wdXRzLlxuICAuLi5yZXF1aXJlKCcuL2xhdGVzdC12ZXJzaW9ucy9wYWNrYWdlLmpzb24nKVsnZGVwZW5kZW5jaWVzJ10sXG5cbiAgLy8gQXMgQW5ndWxhciBDTEkgd29ya3Mgd2l0aCBzYW1lIG1pbm9yIHZlcnNpb25zIG9mIEFuZ3VsYXIgRnJhbWV3b3JrLCBhIHRpbGRlIG1hdGNoIGZvciB0aGUgY3VycmVudFxuICBBbmd1bGFyOiAnXjE2LjIuMCcsXG5cbiAgLy8gU2luY2UgQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXIgYW5kIEBzY2hlbWF0aWNzL2FuZ3VsYXIgYXJlIGFsd2F5c1xuICAvLyBwdWJsaXNoZWQgdG9nZXRoZXIgZnJvbSB0aGUgc2FtZSBtb25vcmVwbywgYW5kIHRoZXkgYXJlIGJvdGhcbiAgLy8gbm9uLWV4cGVyaW1lbnRhbCwgdGhleSB3aWxsIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZlcnNpb24uXG4gIERldmtpdEJ1aWxkQW5ndWxhcjogJ14nICsgcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJylbJ3ZlcnNpb24nXSxcbn07XG4iXX0= |
@@ -6,19 +6,19 @@ { | ||
"dependencies": { | ||
"@types/jasmine": "~4.0.0", | ||
"@types/node": "^14.15.0", | ||
"jasmine-core": "~4.2.0", | ||
"@types/jasmine": "~4.3.0", | ||
"@types/node": "^16.11.7", | ||
"jasmine-core": "~4.6.0", | ||
"jasmine-spec-reporter": "~7.0.0", | ||
"karma-chrome-launcher": "~3.1.0", | ||
"karma-chrome-launcher": "~3.2.0", | ||
"karma-coverage": "~2.2.0", | ||
"karma-jasmine-html-reporter": "~2.0.0", | ||
"karma-jasmine-html-reporter": "~2.1.0", | ||
"karma-jasmine": "~5.1.0", | ||
"karma": "~6.4.0", | ||
"ng-packagr": "^14.1.0", | ||
"ng-packagr": "^16.2.0", | ||
"protractor": "~7.0.0", | ||
"rxjs": "~7.5.0", | ||
"rxjs": "~7.8.0", | ||
"tslib": "^2.3.0", | ||
"ts-node": "~10.9.0", | ||
"typescript": "~4.7.2", | ||
"zone.js": "~0.11.4" | ||
"typescript": "~5.1.3", | ||
"zone.js": "~0.13.0" | ||
} | ||
} |
@@ -11,3 +11,3 @@ /** | ||
export declare function findBootstrapModuleCall(host: Tree, mainPath: string): ts.CallExpression | null; | ||
export declare function findBootstrapModulePath(host: Tree, mainPath: string): string; | ||
export declare function getAppModulePath(host: Tree, mainPath: string): string; | ||
export declare function isStandaloneApp(host: Tree, mainPath: string): boolean; |
@@ -33,6 +33,7 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getAppModulePath = exports.findBootstrapModulePath = exports.findBootstrapModuleCall = void 0; | ||
exports.isStandaloneApp = exports.getAppModulePath = exports.findBootstrapModuleCall = void 0; | ||
const core_1 = require("@angular-devkit/core"); | ||
const schematics_1 = require("@angular-devkit/schematics"); | ||
const path_1 = require("path"); | ||
const standalone_1 = require("../private/standalone"); | ||
const ts = __importStar(require("../third_party/github.com/Microsoft/TypeScript/lib/typescript")); | ||
@@ -84,3 +85,2 @@ const ast_utils_1 = require("../utility/ast-utils"); | ||
} | ||
exports.findBootstrapModulePath = findBootstrapModulePath; | ||
function getAppModulePath(host, mainPath) { | ||
@@ -93,1 +93,8 @@ const moduleRelativePath = findBootstrapModulePath(host, mainPath); | ||
exports.getAppModulePath = getAppModulePath; | ||
function isStandaloneApp(host, mainPath) { | ||
const source = ts.createSourceFile(mainPath, host.readText(mainPath), ts.ScriptTarget.Latest, true); | ||
const bootstrapCall = (0, standalone_1.findBootstrapApplicationCall)(source); | ||
return bootstrapCall !== null; | ||
} | ||
exports.isStandaloneApp = isStandaloneApp; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvbmctYXN0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsK0NBQWlEO0FBQ2pELDJEQUF1RTtBQUN2RSwrQkFBK0I7QUFDL0Isc0RBQXFFO0FBQ3JFLGtHQUFvRjtBQUNwRixvREFBZ0U7QUFFaEUsU0FBZ0IsdUJBQXVCLENBQUMsSUFBVSxFQUFFLFFBQWdCO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFckYsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBYyxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLElBQUksYUFBYSxHQUE2QixJQUFJLENBQUM7SUFFbkQsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUU7UUFDM0IsSUFBSSxpQkFBaUIsR0FBbUIsSUFBSSxDQUFDO1FBQzdDLGlCQUFpQixHQUFHLElBQUEsb0JBQVEsRUFBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUVoRixvREFBb0Q7UUFDcEQsT0FDRSxpQkFBaUI7WUFDakIsaUJBQWlCLENBQUMsTUFBTTtZQUN4QixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUM5RDtZQUNBLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztTQUM5QztRQUVELElBQ0UsaUJBQWlCLEtBQUssSUFBSTtZQUMxQixpQkFBaUIsQ0FBQyxNQUFNLEtBQUssU0FBUztZQUN0QyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUM5RDtZQUNBLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxNQUEyQixDQUFDO1lBQzlELE1BQU07U0FDUDtLQUNGO0lBRUQsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQWhDRCwwREFnQ0M7QUFFRCxTQUFTLHVCQUF1QixDQUFDLElBQVUsRUFBRSxRQUFnQjtJQUMzRCxNQUFNLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNsQixNQUFNLElBQUksZ0NBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUMzRDtJQUVELE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRixNQUFNLFFBQVEsR0FBRyxJQUFBLDBCQUFjLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsTUFBTSwyQkFBMkIsR0FBRyxRQUFRO1NBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7U0FDOUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDZCxPQUFPLElBQUEsb0JBQVEsRUFBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQyxDQUFDO1NBQ0QsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDWCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQyxlQUFtQyxDQUFDO1FBRXhFLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRVIsT0FBTywyQkFBMkIsQ0FBQztBQUNyQyxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLFFBQWdCO0lBQzNELE1BQU0sa0JBQWtCLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUEsY0FBTyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUEsZ0JBQVMsRUFBQyxJQUFJLE9BQU8sSUFBSSxrQkFBa0IsS0FBSyxDQUFDLENBQUM7SUFFckUsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQU5ELDRDQU1DO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLElBQVUsRUFBRSxRQUFnQjtJQUMxRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQ2hDLFFBQVEsRUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUN2QixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFDdEIsSUFBSSxDQUNMLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBRyxJQUFBLHlDQUE0QixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTNELE9BQU8sYUFBYSxLQUFLLElBQUksQ0FBQztBQUNoQyxDQUFDO0FBVkQsMENBVUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgU2NoZW1hdGljc0V4Y2VwdGlvbiwgVHJlZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IGZpbmRCb290c3RyYXBBcHBsaWNhdGlvbkNhbGwgfSBmcm9tICcuLi9wcml2YXRlL3N0YW5kYWxvbmUnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAnLi4vdGhpcmRfcGFydHkvZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9saWIvdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBmaW5kTm9kZSwgZ2V0U291cmNlTm9kZXMgfSBmcm9tICcuLi91dGlsaXR5L2FzdC11dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQm9vdHN0cmFwTW9kdWxlQ2FsbChob3N0OiBUcmVlLCBtYWluUGF0aDogc3RyaW5nKTogdHMuQ2FsbEV4cHJlc3Npb24gfCBudWxsIHtcbiAgY29uc3QgbWFpblRleHQgPSBob3N0LnJlYWRUZXh0KG1haW5QYXRoKTtcbiAgY29uc3Qgc291cmNlID0gdHMuY3JlYXRlU291cmNlRmlsZShtYWluUGF0aCwgbWFpblRleHQsIHRzLlNjcmlwdFRhcmdldC5MYXRlc3QsIHRydWUpO1xuXG4gIGNvbnN0IGFsbE5vZGVzID0gZ2V0U291cmNlTm9kZXMoc291cmNlKTtcblxuICBsZXQgYm9vdHN0cmFwQ2FsbDogdHMuQ2FsbEV4cHJlc3Npb24gfCBudWxsID0gbnVsbDtcblxuICBmb3IgKGNvbnN0IG5vZGUgb2YgYWxsTm9kZXMpIHtcbiAgICBsZXQgYm9vdHN0cmFwQ2FsbE5vZGU6IHRzLk5vZGUgfCBudWxsID0gbnVsbDtcbiAgICBib290c3RyYXBDYWxsTm9kZSA9IGZpbmROb2RlKG5vZGUsIHRzLlN5bnRheEtpbmQuSWRlbnRpZmllciwgJ2Jvb3RzdHJhcE1vZHVsZScpO1xuXG4gICAgLy8gV2FsayB1cCB0aGUgcGFyZW50IHVudGlsIENhbGxFeHByZXNzaW9uIGlzIGZvdW5kLlxuICAgIHdoaWxlIChcbiAgICAgIGJvb3RzdHJhcENhbGxOb2RlICYmXG4gICAgICBib290c3RyYXBDYWxsTm9kZS5wYXJlbnQgJiZcbiAgICAgIGJvb3RzdHJhcENhbGxOb2RlLnBhcmVudC5raW5kICE9PSB0cy5TeW50YXhLaW5kLkNhbGxFeHByZXNzaW9uXG4gICAgKSB7XG4gICAgICBib290c3RyYXBDYWxsTm9kZSA9IGJvb3RzdHJhcENhbGxOb2RlLnBhcmVudDtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBib290c3RyYXBDYWxsTm9kZSAhPT0gbnVsbCAmJlxuICAgICAgYm9vdHN0cmFwQ2FsbE5vZGUucGFyZW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGJvb3RzdHJhcENhbGxOb2RlLnBhcmVudC5raW5kID09PSB0cy5TeW50YXhLaW5kLkNhbGxFeHByZXNzaW9uXG4gICAgKSB7XG4gICAgICBib290c3RyYXBDYWxsID0gYm9vdHN0cmFwQ2FsbE5vZGUucGFyZW50IGFzIHRzLkNhbGxFeHByZXNzaW9uO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJvb3RzdHJhcENhbGw7XG59XG5cbmZ1bmN0aW9uIGZpbmRCb290c3RyYXBNb2R1bGVQYXRoKGhvc3Q6IFRyZWUsIG1haW5QYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBib290c3RyYXBDYWxsID0gZmluZEJvb3RzdHJhcE1vZHVsZUNhbGwoaG9zdCwgbWFpblBhdGgpO1xuICBpZiAoIWJvb3RzdHJhcENhbGwpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbignQm9vdHN0cmFwIGNhbGwgbm90IGZvdW5kJyk7XG4gIH1cblxuICBjb25zdCBib290c3RyYXBNb2R1bGUgPSBib290c3RyYXBDYWxsLmFyZ3VtZW50c1swXTtcblxuICBjb25zdCBtYWluVGV4dCA9IGhvc3QucmVhZFRleHQobWFpblBhdGgpO1xuICBjb25zdCBzb3VyY2UgPSB0cy5jcmVhdGVTb3VyY2VGaWxlKG1haW5QYXRoLCBtYWluVGV4dCwgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCwgdHJ1ZSk7XG4gIGNvbnN0IGFsbE5vZGVzID0gZ2V0U291cmNlTm9kZXMoc291cmNlKTtcbiAgY29uc3QgYm9vdHN0cmFwTW9kdWxlUmVsYXRpdmVQYXRoID0gYWxsTm9kZXNcbiAgICAuZmlsdGVyKHRzLmlzSW1wb3J0RGVjbGFyYXRpb24pXG4gICAgLmZpbHRlcigoaW1wKSA9PiB7XG4gICAgICByZXR1cm4gZmluZE5vZGUoaW1wLCB0cy5TeW50YXhLaW5kLklkZW50aWZpZXIsIGJvb3RzdHJhcE1vZHVsZS5nZXRUZXh0KCkpO1xuICAgIH0pXG4gICAgLm1hcCgoaW1wKSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGVQYXRoU3RyaW5nTGl0ZXJhbCA9IGltcC5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbDtcblxuICAgICAgcmV0dXJuIG1vZHVsZVBhdGhTdHJpbmdMaXRlcmFsLnRleHQ7XG4gICAgfSlbMF07XG5cbiAgcmV0dXJuIGJvb3RzdHJhcE1vZHVsZVJlbGF0aXZlUGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcE1vZHVsZVBhdGgoaG9zdDogVHJlZSwgbWFpblBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG1vZHVsZVJlbGF0aXZlUGF0aCA9IGZpbmRCb290c3RyYXBNb2R1bGVQYXRoKGhvc3QsIG1haW5QYXRoKTtcbiAgY29uc3QgbWFpbkRpciA9IGRpcm5hbWUobWFpblBhdGgpO1xuICBjb25zdCBtb2R1bGVQYXRoID0gbm9ybWFsaXplKGAvJHttYWluRGlyfS8ke21vZHVsZVJlbGF0aXZlUGF0aH0udHNgKTtcblxuICByZXR1cm4gbW9kdWxlUGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3RhbmRhbG9uZUFwcChob3N0OiBUcmVlLCBtYWluUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHNvdXJjZSA9IHRzLmNyZWF0ZVNvdXJjZUZpbGUoXG4gICAgbWFpblBhdGgsXG4gICAgaG9zdC5yZWFkVGV4dChtYWluUGF0aCksXG4gICAgdHMuU2NyaXB0VGFyZ2V0LkxhdGVzdCxcbiAgICB0cnVlLFxuICApO1xuICBjb25zdCBib290c3RyYXBDYWxsID0gZmluZEJvb3RzdHJhcEFwcGxpY2F0aW9uQ2FsbChzb3VyY2UpO1xuXG4gIHJldHVybiBib290c3RyYXBDYWxsICE9PSBudWxsO1xufVxuIl19 |
@@ -21,1 +21,2 @@ "use strict"; | ||
exports.parseName = parseName; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3BhcnNlLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsK0NBQWdGO0FBT2hGLFNBQWdCLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUNsRCxNQUFNLGVBQWUsR0FBRyxJQUFBLGVBQVEsRUFBQyxJQUFBLGdCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFBLGNBQU8sRUFBQyxJQUFBLFdBQUksRUFBQyxJQUFBLGdCQUFTLEVBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUV0RCxPQUFPO1FBQ0wsSUFBSSxFQUFFLGVBQWU7UUFDckIsSUFBSSxFQUFFLElBQUEsZ0JBQVMsRUFBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO0tBQ2hDLENBQUM7QUFDSixDQUFDO0FBUkQsOEJBUUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgUGF0aCwgYmFzZW5hbWUsIGRpcm5hbWUsIGpvaW4sIG5vcm1hbGl6ZSB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aDogUGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTmFtZShwYXRoOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IExvY2F0aW9uIHtcbiAgY29uc3QgbmFtZVdpdGhvdXRQYXRoID0gYmFzZW5hbWUobm9ybWFsaXplKG5hbWUpKTtcbiAgY29uc3QgbmFtZVBhdGggPSBkaXJuYW1lKGpvaW4obm9ybWFsaXplKHBhdGgpLCBuYW1lKSk7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lV2l0aG91dFBhdGgsXG4gICAgcGF0aDogbm9ybWFsaXplKCcvJyArIG5hbWVQYXRoKSxcbiAgfTtcbn1cbiJdfQ== |
@@ -22,1 +22,2 @@ "use strict"; | ||
exports.relativePathToWorkspaceRoot = relativePathToWorkspaceRoot; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvdXRpbGl0eS9wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwrQ0FBd0Q7QUFFeEQsU0FBZ0IsMkJBQTJCLENBQUMsV0FBK0I7SUFDekUsTUFBTSxjQUFjLEdBQUcsSUFBQSxZQUFLLEVBQUMsSUFBQSxnQkFBUyxFQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTNELElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDckQsT0FBTyxHQUFHLENBQUM7S0FDWjtTQUFNO1FBQ0wsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNqRDtBQUNILENBQUM7QUFSRCxrRUFRQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBub3JtYWxpemUsIHNwbGl0IH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290KHByb2plY3RSb290OiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHNwbGl0KG5vcm1hbGl6ZShwcm9qZWN0Um9vdCB8fCAnJykpO1xuXG4gIGlmIChub3JtYWxpemVkUGF0aC5sZW5ndGggPT09IDAgfHwgIW5vcm1hbGl6ZWRQYXRoWzBdKSB7XG4gICAgcmV0dXJuICcuJztcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbm9ybWFsaXplZFBhdGgubWFwKCgpID0+ICcuLicpLmpvaW4oJy8nKTtcbiAgfVxufVxuIl19 |
@@ -16,1 +16,2 @@ "use strict"; | ||
exports.targetBuildNotFoundError = targetBuildNotFoundError; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvcHJvamVjdC10YXJnZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJEQUFpRTtBQUVqRSxTQUFnQix3QkFBd0I7SUFDdEMsT0FBTyxJQUFJLGdDQUFtQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUZELDREQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IFNjaGVtYXRpY3NFeGNlcHRpb24gfSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YXJnZXRCdWlsZE5vdEZvdW5kRXJyb3IoKTogU2NoZW1hdGljc0V4Y2VwdGlvbiB7XG4gIHJldHVybiBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgUHJvamVjdCB0YXJnZXQgXCJidWlsZFwiIG5vdCBmb3VuZC5gKTtcbn1cbiJdfQ== |
@@ -14,3 +14,3 @@ "use strict"; | ||
// When adding a dash the segment after the dash must also start with a letter. | ||
exports.htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*(:?-[a-zA-Z][.0-9a-zA-Z]*)*$/; | ||
exports.htmlSelectorRe = /^[a-zA-Z][.0-9a-zA-Z]*((:?-[0-9]+)*|(:?-[a-zA-Z][.0-9a-zA-Z]*(:?-[0-9]+)*)*)$/; | ||
// See: https://github.com/tc39/proposal-regexp-unicode-property-escapes/blob/fe6d07fad74cd0192d154966baa1e95e7cda78a1/README.md#other-examples | ||
@@ -30,1 +30,2 @@ const ecmaIdentifierNameRegExp = /^(?:[$_\p{ID_Start}])(?:[$_\u200C\u200D\p{ID_Continue}])*$/u; | ||
exports.validateClassName = validateClassName; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkRBQWlFO0FBRWpFLHFGQUFxRjtBQUNyRiwrRUFBK0U7QUFDbEUsUUFBQSxjQUFjLEdBQ3pCLCtFQUErRSxDQUFDO0FBRWxGLCtJQUErSTtBQUMvSSxNQUFNLHdCQUF3QixHQUFHLDZEQUE2RCxDQUFDO0FBRS9GLFNBQWdCLG9CQUFvQixDQUFDLFFBQWdCO0lBQ25ELElBQUksUUFBUSxJQUFJLENBQUMsc0JBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDOUMsTUFBTSxJQUFJLGdDQUFtQixDQUFDLGFBQWEsUUFBUSxlQUFlLENBQUMsQ0FBQztLQUNyRTtBQUNILENBQUM7QUFKRCxvREFJQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLFNBQWlCO0lBQ2pELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0MsTUFBTSxJQUFJLGdDQUFtQixDQUFDLGVBQWUsU0FBUyxlQUFlLENBQUMsQ0FBQztLQUN4RTtBQUNILENBQUM7QUFKRCw4Q0FJQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBTY2hlbWF0aWNzRXhjZXB0aW9uIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuXG4vLyBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIsIGFuZCBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBvciBkYXNoZXMuXG4vLyBXaGVuIGFkZGluZyBhIGRhc2ggdGhlIHNlZ21lbnQgYWZ0ZXIgdGhlIGRhc2ggbXVzdCBhbHNvIHN0YXJ0IHdpdGggYSBsZXR0ZXIuXG5leHBvcnQgY29uc3QgaHRtbFNlbGVjdG9yUmUgPVxuICAvXlthLXpBLVpdWy4wLTlhLXpBLVpdKigoOj8tWzAtOV0rKSp8KDo/LVthLXpBLVpdWy4wLTlhLXpBLVpdKig6Py1bMC05XSspKikqKSQvO1xuXG4vLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLXJlZ2V4cC11bmljb2RlLXByb3BlcnR5LWVzY2FwZXMvYmxvYi9mZTZkMDdmYWQ3NGNkMDE5MmQxNTQ5NjZiYWExZTk1ZTdjZGE3OGExL1JFQURNRS5tZCNvdGhlci1leGFtcGxlc1xuY29uc3QgZWNtYUlkZW50aWZpZXJOYW1lUmVnRXhwID0gL14oPzpbJF9cXHB7SURfU3RhcnR9XSkoPzpbJF9cXHUyMDBDXFx1MjAwRFxccHtJRF9Db250aW51ZX1dKSokL3U7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUh0bWxTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChzZWxlY3RvciAmJiAhaHRtbFNlbGVjdG9yUmUudGVzdChzZWxlY3RvcikpIHtcbiAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgU2VsZWN0b3IgXCIke3NlbGVjdG9yfVwiIGlzIGludmFsaWQuYCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIGlmICghZWNtYUlkZW50aWZpZXJOYW1lUmVnRXhwLnRlc3QoY2xhc3NOYW1lKSkge1xuICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBDbGFzcyBuYW1lIFwiJHtjbGFzc05hbWV9XCIgaXMgaW52YWxpZC5gKTtcbiAgfVxufVxuIl19 |
@@ -46,3 +46,3 @@ /** | ||
} | ||
export declare type OutputHashing = 'all' | 'media' | 'none' | 'bundles'; | ||
export type OutputHashing = 'all' | 'media' | 'none' | 'bundles'; | ||
export interface BrowserBuilderOptions extends BrowserBuilderBaseOptions { | ||
@@ -112,18 +112,16 @@ serviceWorker?: boolean; | ||
} | ||
export declare type LibraryBuilderTarget = BuilderTarget<Builders.NgPackagr, LibraryBuilderOptions>; | ||
export declare type BrowserBuilderTarget = BuilderTarget<Builders.Browser, BrowserBuilderOptions>; | ||
export declare type ServerBuilderTarget = BuilderTarget<Builders.Server, ServerBuilderOptions>; | ||
export declare type AppShellBuilderTarget = BuilderTarget<Builders.AppShell, AppShellBuilderOptions>; | ||
export declare type TestBuilderTarget = BuilderTarget<Builders.Karma, TestBuilderOptions>; | ||
export declare type ServeBuilderTarget = BuilderTarget<Builders.DevServer, ServeBuilderOptions>; | ||
export declare type ExtractI18nBuilderTarget = BuilderTarget<Builders.ExtractI18n, ExtractI18nOptions>; | ||
export declare type E2EBuilderTarget = BuilderTarget<Builders.Protractor, E2EOptions>; | ||
export type LibraryBuilderTarget = BuilderTarget<Builders.NgPackagr, LibraryBuilderOptions>; | ||
export type BrowserBuilderTarget = BuilderTarget<Builders.Browser, BrowserBuilderOptions>; | ||
export type ServerBuilderTarget = BuilderTarget<Builders.Server, ServerBuilderOptions>; | ||
export type AppShellBuilderTarget = BuilderTarget<Builders.AppShell, AppShellBuilderOptions>; | ||
export type TestBuilderTarget = BuilderTarget<Builders.Karma, TestBuilderOptions>; | ||
export type ServeBuilderTarget = BuilderTarget<Builders.DevServer, ServeBuilderOptions>; | ||
export type ExtractI18nBuilderTarget = BuilderTarget<Builders.ExtractI18n, ExtractI18nOptions>; | ||
export type E2EBuilderTarget = BuilderTarget<Builders.Protractor, E2EOptions>; | ||
interface WorkspaceCLISchema { | ||
warnings?: Record<string, boolean>; | ||
schematicCollections?: string[]; | ||
defaultCollection?: string; | ||
} | ||
export interface WorkspaceSchema { | ||
version: 1; | ||
defaultProject?: string; | ||
cli?: WorkspaceCLISchema; | ||
@@ -130,0 +128,0 @@ projects: { |
@@ -15,3 +15,3 @@ "use strict"; | ||
ProjectType["Library"] = "library"; | ||
})(ProjectType = exports.ProjectType || (exports.ProjectType = {})); | ||
})(ProjectType || (exports.ProjectType = ProjectType = {})); | ||
/** | ||
@@ -35,2 +35,3 @@ * An enum of the official Angular builders. | ||
Builders["Protractor"] = "@angular-devkit/build-angular:protractor"; | ||
})(Builders = exports.Builders || (exports.Builders = {})); | ||
})(Builders || (exports.Builders = Builders = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZS1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLDBDQUEyQixDQUFBO0lBQzNCLGtDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxXQUFXLDJCQUFYLFdBQVcsUUFHdEI7QUFFRDs7Ozs7R0FLRztBQUNILElBQVksUUFXWDtBQVhELFdBQVksUUFBUTtJQUNsQixnRUFBb0QsQ0FBQTtJQUNwRCwyREFBK0MsQ0FBQTtJQUMvQyw2REFBaUQsQ0FBQTtJQUNqRCx5REFBNkMsQ0FBQTtJQUM3QywyREFBK0MsQ0FBQTtJQUMvQywwRUFBOEQsQ0FBQTtJQUM5RCxrRUFBc0QsQ0FBQTtJQUN0RCxrRUFBc0QsQ0FBQTtJQUN0RCxzRUFBMEQsQ0FBQTtJQUMxRCxtRUFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBWFcsUUFBUSx3QkFBUixRQUFRLFFBV25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCBlbnVtIFByb2plY3RUeXBlIHtcbiAgQXBwbGljYXRpb24gPSAnYXBwbGljYXRpb24nLFxuICBMaWJyYXJ5ID0gJ2xpYnJhcnknLFxufVxuXG4vKipcbiAqIEFuIGVudW0gb2YgdGhlIG9mZmljaWFsIEFuZ3VsYXIgYnVpbGRlcnMuXG4gKiBFYWNoIGVudW0gdmFsdWUgcHJvdmlkZXMgdGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSBhc3NvY2lhdGVkIGJ1aWxkZXIuXG4gKiBUaGlzIGVudW0gY2FuIGJlIHVzZWQgd2hlbiBhbmFseXppbmcgdGhlIGBidWlsZGVyYCBmaWVsZHMgb2YgcHJvamVjdCBjb25maWd1cmF0aW9ucyBmcm9tIHRoZVxuICogYGFuZ3VsYXIuanNvbmAgd29ya3NwYWNlIGZpbGUuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkZXJzIHtcbiAgQXBwU2hlbGwgPSAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6YXBwLXNoZWxsJyxcbiAgU2VydmVyID0gJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOnNlcnZlcicsXG4gIEJyb3dzZXIgPSAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6YnJvd3NlcicsXG4gIEthcm1hID0gJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmthcm1hJyxcbiAgVHNMaW50ID0gJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOnRzbGludCcsXG4gIERlcHJlY2F0ZWROZ1BhY2thZ3IgPSAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLW5nLXBhY2thZ3I6YnVpbGQnLFxuICBOZ1BhY2thZ3IgPSAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6bmctcGFja2FncicsXG4gIERldlNlcnZlciA9ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpkZXYtc2VydmVyJyxcbiAgRXh0cmFjdEkxOG4gPSAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6ZXh0cmFjdC1pMThuJyxcbiAgUHJvdHJhY3RvciA9ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpwcm90cmFjdG9yJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlUmVwbGFjZW1lbnRzIHtcbiAgcmVwbGFjZTogc3RyaW5nO1xuICB3aXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJvd3NlckJ1aWxkZXJCYXNlT3B0aW9ucyB7XG4gIG1haW46IHN0cmluZztcbiAgdHNDb25maWc6IHN0cmluZztcbiAgZmlsZVJlcGxhY2VtZW50cz86IEZpbGVSZXBsYWNlbWVudHNbXTtcbiAgb3V0cHV0UGF0aD86IHN0cmluZztcbiAgaW5kZXg/OiBzdHJpbmc7XG4gIHBvbHlmaWxsczogc3RyaW5nO1xuICBhc3NldHM/OiAob2JqZWN0IHwgc3RyaW5nKVtdO1xuICBzdHlsZXM/OiAob2JqZWN0IHwgc3RyaW5nKVtdO1xuICBzY3JpcHRzPzogKG9iamVjdCB8IHN0cmluZylbXTtcbiAgc291cmNlTWFwPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgT3V0cHV0SGFzaGluZyA9ICdhbGwnIHwgJ21lZGlhJyB8ICdub25lJyB8ICdidW5kbGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBCcm93c2VyQnVpbGRlck9wdGlvbnMgZXh0ZW5kcyBCcm93c2VyQnVpbGRlckJhc2VPcHRpb25zIHtcbiAgc2VydmljZVdvcmtlcj86IGJvb2xlYW47XG4gIG9wdGltaXphdGlvbj86IGJvb2xlYW47XG4gIG91dHB1dEhhc2hpbmc/OiBPdXRwdXRIYXNoaW5nO1xuICByZXNvdXJjZXNPdXRwdXRQYXRoPzogc3RyaW5nO1xuICBuYW1lZENodW5rcz86IGJvb2xlYW47XG4gIGFvdD86IGJvb2xlYW47XG4gIGV4dHJhY3RMaWNlbnNlcz86IGJvb2xlYW47XG4gIHZlbmRvckNodW5rPzogYm9vbGVhbjtcbiAgYnVpbGRPcHRpbWl6ZXI/OiBib29sZWFuO1xuICBuZ3N3Q29uZmlnUGF0aD86IHN0cmluZztcbiAgYnVkZ2V0cz86IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbWF4aW11bVdhcm5pbmc/OiBzdHJpbmc7XG4gICAgbWF4aW11bUVycm9yPzogc3RyaW5nO1xuICB9W107XG4gIHdlYldvcmtlclRzQ29uZmlnPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlQnVpbGRlck9wdGlvbnMge1xuICBicm93c2VyVGFyZ2V0OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIExpYnJhcnlCdWlsZGVyT3B0aW9ucyB7XG4gIHRzQ29uZmlnOiBzdHJpbmc7XG4gIHByb2plY3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJCdWlsZGVyT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg6IHN0cmluZztcbiAgdHNDb25maWc6IHN0cmluZztcbiAgbWFpbjogc3RyaW5nO1xuICBmaWxlUmVwbGFjZW1lbnRzPzogRmlsZVJlcGxhY2VtZW50c1tdO1xuICBvcHRpbWl6YXRpb24/OlxuICAgIHwgYm9vbGVhblxuICAgIHwge1xuICAgICAgICBzY3JpcHRzPzogYm9vbGVhbjtcbiAgICAgICAgc3R5bGVzPzogYm9vbGVhbjtcbiAgICAgIH07XG4gIHNvdXJjZU1hcD86XG4gICAgfCBib29sZWFuXG4gICAgfCB7XG4gICAgICAgIHNjcmlwdHM/OiBib29sZWFuO1xuICAgICAgICBzdHlsZXM/OiBib29sZWFuO1xuICAgICAgICBoaWRkZW4/OiBib29sZWFuO1xuICAgICAgICB2ZW5kb3I/OiBib29sZWFuO1xuICAgICAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBTaGVsbEJ1aWxkZXJPcHRpb25zIHtcbiAgYnJvd3NlclRhcmdldDogc3RyaW5nO1xuICBzZXJ2ZXJUYXJnZXQ6IHN0cmluZztcbiAgcm91dGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXN0QnVpbGRlck9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEJyb3dzZXJCdWlsZGVyQmFzZU9wdGlvbnM+IHtcbiAga2FybWFDb25maWc6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYWN0STE4bk9wdGlvbnMge1xuICBicm93c2VyVGFyZ2V0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRTJFT3B0aW9ucyB7XG4gIHByb3RyYWN0b3JDb25maWc6IHN0cmluZztcbiAgZGV2U2VydmVyVGFyZ2V0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRlclRhcmdldDxUQnVpbGRlciBleHRlbmRzIEJ1aWxkZXJzLCBUT3B0aW9ucz4ge1xuICBidWlsZGVyOiBUQnVpbGRlcjtcbiAgb3B0aW9uczogVE9wdGlvbnM7XG4gIGNvbmZpZ3VyYXRpb25zPzoge1xuICAgIHByb2R1Y3Rpb246IFBhcnRpYWw8VE9wdGlvbnM+O1xuICAgIFtrZXk6IHN0cmluZ106IFBhcnRpYWw8VE9wdGlvbnM+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBMaWJyYXJ5QnVpbGRlclRhcmdldCA9IEJ1aWxkZXJUYXJnZXQ8QnVpbGRlcnMuTmdQYWNrYWdyLCBMaWJyYXJ5QnVpbGRlck9wdGlvbnM+O1xuZXhwb3J0IHR5cGUgQnJvd3NlckJ1aWxkZXJUYXJnZXQgPSBCdWlsZGVyVGFyZ2V0PEJ1aWxkZXJzLkJyb3dzZXIsIEJyb3dzZXJCdWlsZGVyT3B0aW9ucz47XG5leHBvcnQgdHlwZSBTZXJ2ZXJCdWlsZGVyVGFyZ2V0ID0gQnVpbGRlclRhcmdldDxCdWlsZGVycy5TZXJ2ZXIsIFNlcnZlckJ1aWxkZXJPcHRpb25zPjtcbmV4cG9ydCB0eXBlIEFwcFNoZWxsQnVpbGRlclRhcmdldCA9IEJ1aWxkZXJUYXJnZXQ8QnVpbGRlcnMuQXBwU2hlbGwsIEFwcFNoZWxsQnVpbGRlck9wdGlvbnM+O1xuZXhwb3J0IHR5cGUgVGVzdEJ1aWxkZXJUYXJnZXQgPSBCdWlsZGVyVGFyZ2V0PEJ1aWxkZXJzLkthcm1hLCBUZXN0QnVpbGRlck9wdGlvbnM+O1xuZXhwb3J0IHR5cGUgU2VydmVCdWlsZGVyVGFyZ2V0ID0gQnVpbGRlclRhcmdldDxCdWlsZGVycy5EZXZTZXJ2ZXIsIFNlcnZlQnVpbGRlck9wdGlvbnM+O1xuZXhwb3J0IHR5cGUgRXh0cmFjdEkxOG5CdWlsZGVyVGFyZ2V0ID0gQnVpbGRlclRhcmdldDxCdWlsZGVycy5FeHRyYWN0STE4biwgRXh0cmFjdEkxOG5PcHRpb25zPjtcbmV4cG9ydCB0eXBlIEUyRUJ1aWxkZXJUYXJnZXQgPSBCdWlsZGVyVGFyZ2V0PEJ1aWxkZXJzLlByb3RyYWN0b3IsIEUyRU9wdGlvbnM+O1xuXG5pbnRlcmZhY2UgV29ya3NwYWNlQ0xJU2NoZW1hIHtcbiAgd2FybmluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgc2NoZW1hdGljQ29sbGVjdGlvbnM/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlU2NoZW1hIHtcbiAgdmVyc2lvbjogMTtcbiAgY2xpPzogV29ya3NwYWNlQ0xJU2NoZW1hO1xuICBwcm9qZWN0czoge1xuICAgIFtrZXk6IHN0cmluZ106IFdvcmtzcGFjZVByb2plY3Q8UHJvamVjdFR5cGUuQXBwbGljYXRpb24gfCBQcm9qZWN0VHlwZS5MaWJyYXJ5PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VQcm9qZWN0PFRQcm9qZWN0VHlwZSBleHRlbmRzIFByb2plY3RUeXBlID0gUHJvamVjdFR5cGUuQXBwbGljYXRpb24+IHtcbiAgLyoqXG4gICAqIFByb2plY3QgdHlwZS5cbiAgICovXG4gIHByb2plY3RUeXBlOiBQcm9qZWN0VHlwZTtcblxuICByb290OiBzdHJpbmc7XG4gIHNvdXJjZVJvb3Q6IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG5cbiAgY2xpPzogV29ya3NwYWNlQ0xJU2NoZW1hO1xuXG4gIC8qKlxuICAgKiBUb29sIG9wdGlvbnMuXG4gICAqL1xuICBhcmNoaXRlY3Q/OiBXb3Jrc3BhY2VUYXJnZXRzPFRQcm9qZWN0VHlwZT47XG4gIC8qKlxuICAgKiBUb29sIG9wdGlvbnMuXG4gICAqL1xuICB0YXJnZXRzPzogV29ya3NwYWNlVGFyZ2V0czxUUHJvamVjdFR5cGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZVRhcmdldHM8VFByb2plY3RUeXBlIGV4dGVuZHMgUHJvamVjdFR5cGUgPSBQcm9qZWN0VHlwZS5BcHBsaWNhdGlvbj4ge1xuICBidWlsZD86IFRQcm9qZWN0VHlwZSBleHRlbmRzIFByb2plY3RUeXBlLkxpYnJhcnkgPyBMaWJyYXJ5QnVpbGRlclRhcmdldCA6IEJyb3dzZXJCdWlsZGVyVGFyZ2V0O1xuICBzZXJ2ZXI/OiBTZXJ2ZXJCdWlsZGVyVGFyZ2V0O1xuICB0ZXN0PzogVGVzdEJ1aWxkZXJUYXJnZXQ7XG4gIHNlcnZlPzogU2VydmVCdWlsZGVyVGFyZ2V0O1xuICBlMmU/OiBFMkVCdWlsZGVyVGFyZ2V0O1xuICAnYXBwLXNoZWxsJz86IEFwcFNoZWxsQnVpbGRlclRhcmdldDtcbiAgJ2V4dHJhY3QtaTE4bic/OiBFeHRyYWN0STE4bkJ1aWxkZXJUYXJnZXQ7XG4gIC8vIFRPRE8oaGFucyk6IGNoYW5nZSB0aGlzIGFueSB0byB1bmtub3duIHdoZW4gZ29vZ2xlMyBzdXBwb3J0cyBUeXBlU2NyaXB0IDMuMC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuIl19 |
@@ -10,5 +10,5 @@ /** | ||
import { Rule, Tree } from '@angular-devkit/schematics'; | ||
export declare type WorkspaceDefinition = workspaces.WorkspaceDefinition; | ||
export declare type ProjectDefinition = workspaces.ProjectDefinition; | ||
export declare type TargetDefinition = workspaces.TargetDefinition; | ||
export type WorkspaceDefinition = workspaces.WorkspaceDefinition; | ||
export type ProjectDefinition = workspaces.ProjectDefinition; | ||
export type TargetDefinition = workspaces.TargetDefinition; | ||
/** | ||
@@ -15,0 +15,0 @@ * Updates the workspace file (`angular.json`) found within the root of the schematic's tree. |
@@ -134,1 +134,2 @@ "use strict"; | ||
exports.allTargetOptions = allTargetOptions; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3V0aWxpdHkvd29ya3NwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILCtDQUF3RDtBQUN4RCwyREFBOEQ7QUFDOUQseURBQWlEO0FBRWpELE1BQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDO0FBTy9DOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUI7SUFDckIsWUFBNkIsSUFBVTtRQUFWLFNBQUksR0FBSixJQUFJLENBQU07SUFBRyxDQUFDO0lBRTNDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxJQUFZO1FBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFZO1FBQzVCLGdDQUFnQztRQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLGVBQWUsQ0FDN0IsT0FBbUY7SUFFbkYsT0FBTyxLQUFLLEVBQUUsSUFBVSxFQUFFLEVBQUU7UUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxpQkFBVSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVuRixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4QyxNQUFNLGlCQUFVLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVqRCxPQUFPLE1BQU0sSUFBSSxpQkFBSSxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFkRCwwQ0FjQztBQUVELGlJQUFpSTtBQUNqSTs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQ2hDLElBQVUsRUFDVixJQUFJLEdBQUcsc0JBQXNCO0lBRTdCLE1BQU0sSUFBSSxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0saUJBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWpFLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFURCxvQ0FTQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSSxLQUFLLFVBQVUsY0FBYyxDQUNsQyxJQUFVLEVBQ1YsU0FBOEIsRUFDOUIsSUFBYTtJQUViLE1BQU0sSUFBSSxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsT0FBTyxpQkFBVSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFSRCx3Q0FRQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLE9BQXFDO0lBQ3BFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUN0RixNQUFNLGNBQWMsR0FDbEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyw4QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFaEYsT0FBTyxHQUFHLElBQUksR0FBRyxjQUFjLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBTkQsNENBTUM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUMsSUFBVSxFQUFFLFdBQW1CO0lBQ3JFLE1BQU0sU0FBUyxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksV0FBVyxtQkFBbUIsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBUkQsOENBUUM7QUFFRCxRQUFlLENBQUMsQ0FBQyxtQkFBbUIsQ0FDbEMsU0FBeUM7SUFFekMsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7UUFDdkQsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbEQsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2xEO0tBQ0Y7QUFDSCxDQUFDO0FBUkQsa0RBUUM7QUFFRCxRQUFlLENBQUMsQ0FBQyxnQkFBZ0IsQ0FDL0IsTUFBbUMsRUFDbkMsZUFBZSxHQUFHLEtBQUs7SUFFdkIsSUFBSSxDQUFDLGVBQWUsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ25DO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7UUFDMUIsT0FBTztLQUNSO0lBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1FBQ25FLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN6QixNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZCO0tBQ0Y7QUFDSCxDQUFDO0FBakJELDRDQWlCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBqc29uLCB3b3Jrc3BhY2VzIH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L2NvcmUnO1xuaW1wb3J0IHsgUnVsZSwgVHJlZSwgbm9vcCB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IFByb2plY3RUeXBlIH0gZnJvbSAnLi93b3Jrc3BhY2UtbW9kZWxzJztcblxuY29uc3QgREVGQVVMVF9XT1JLU1BBQ0VfUEFUSCA9ICcvYW5ndWxhci5qc29uJztcblxuLy8gcmUtZXhwb3J0IHRoZSB3b3Jrc3BhY2UgZGVmaW5pdGlvbiB0eXBlcyBmb3IgY29udmVuaWVuY2VcbmV4cG9ydCB0eXBlIFdvcmtzcGFjZURlZmluaXRpb24gPSB3b3Jrc3BhY2VzLldvcmtzcGFjZURlZmluaXRpb247XG5leHBvcnQgdHlwZSBQcm9qZWN0RGVmaW5pdGlvbiA9IHdvcmtzcGFjZXMuUHJvamVjdERlZmluaXRpb247XG5leHBvcnQgdHlwZSBUYXJnZXREZWZpbml0aW9uID0gd29ya3NwYWNlcy5UYXJnZXREZWZpbml0aW9uO1xuXG4vKipcbiAqIEEge0BsaW5rIHdvcmtzcGFjZXMuV29ya3NwYWNlSG9zdH0gYmFja2VkIGJ5IGEgU2NoZW1hdGljcyB7QGxpbmsgVHJlZX0gaW5zdGFuY2UuXG4gKi9cbmNsYXNzIFRyZWVXb3Jrc3BhY2VIb3N0IGltcGxlbWVudHMgd29ya3NwYWNlcy5Xb3Jrc3BhY2VIb3N0IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmVlOiBUcmVlKSB7fVxuXG4gIGFzeW5jIHJlYWRGaWxlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudHJlZS5yZWFkVGV4dChwYXRoKTtcbiAgfVxuXG4gIGFzeW5jIHdyaXRlRmlsZShwYXRoOiBzdHJpbmcsIGRhdGE6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnRyZWUuZXhpc3RzKHBhdGgpKSB7XG4gICAgICB0aGlzLnRyZWUub3ZlcndyaXRlKHBhdGgsIGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyZWUuY3JlYXRlKHBhdGgsIGRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGlzRGlyZWN0b3J5KHBhdGg6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIC8vIGFwcHJveGltYXRlIGEgZGlyZWN0b3J5IGNoZWNrXG4gICAgcmV0dXJuICF0aGlzLnRyZWUuZXhpc3RzKHBhdGgpICYmIHRoaXMudHJlZS5nZXREaXIocGF0aCkuc3ViZmlsZXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGFzeW5jIGlzRmlsZShwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy50cmVlLmV4aXN0cyhwYXRoKTtcbiAgfVxufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHdvcmtzcGFjZSBmaWxlIChgYW5ndWxhci5qc29uYCkgZm91bmQgd2l0aGluIHRoZSByb290IG9mIHRoZSBzY2hlbWF0aWMncyB0cmVlLlxuICogVGhlIHdvcmtzcGFjZSBvYmplY3QgbW9kZWwgY2FuIGJlIGRpcmVjdGx5IG1vZGlmaWVkIHdpdGhpbiB0aGUgcHJvdmlkZWQgdXBkYXRlciBmdW5jdGlvblxuICogd2l0aCBjaGFuZ2VzIGJlaW5nIHdyaXR0ZW4gdG8gdGhlIHdvcmtzcGFjZSBmaWxlIGFmdGVyIHRoZSB1cGRhdGVyIGZ1bmN0aW9uIHJldHVybnMuXG4gKiBUaGUgc3BhY2luZyBhbmQgb3ZlcmFsbCBsYXlvdXQgb2YgdGhlIGZpbGUgKGluY2x1ZGluZyBjb21tZW50cykgd2lsbCBiZSBtYWludGFpbmVkIHdoZXJlXG4gKiBwb3NzaWJsZSB3aGVuIHVwZGF0aW5nIHRoZSBmaWxlLlxuICpcbiAqIEBwYXJhbSB1cGRhdGVyIEFuIHVwZGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgb2JqZWN0IG1vZGVsIGZvciB0aGVcbiAqIHdvcmtzcGFjZS4gQSB7QGxpbmsgV29ya3NwYWNlRGVmaW5pdGlvbn0gaXMgcHJvdmlkZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVdvcmtzcGFjZShcbiAgdXBkYXRlcjogKHdvcmtzcGFjZTogV29ya3NwYWNlRGVmaW5pdGlvbikgPT4gdm9pZCB8IFJ1bGUgfCBQcm9taXNlTGlrZTx2b2lkIHwgUnVsZT4sXG4pOiBSdWxlIHtcbiAgcmV0dXJuIGFzeW5jICh0cmVlOiBUcmVlKSA9PiB7XG4gICAgY29uc3QgaG9zdCA9IG5ldyBUcmVlV29ya3NwYWNlSG9zdCh0cmVlKTtcblxuICAgIGNvbnN0IHsgd29ya3NwYWNlIH0gPSBhd2FpdCB3b3Jrc3BhY2VzLnJlYWRXb3Jrc3BhY2UoREVGQVVMVF9XT1JLU1BBQ0VfUEFUSCwgaG9zdCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB1cGRhdGVyKHdvcmtzcGFjZSk7XG5cbiAgICBhd2FpdCB3b3Jrc3BhY2VzLndyaXRlV29ya3NwYWNlKHdvcmtzcGFjZSwgaG9zdCk7XG5cbiAgICByZXR1cm4gcmVzdWx0IHx8IG5vb3A7XG4gIH07XG59XG5cbi8vIFRPRE86IFRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgYHJlYWRXb3Jrc3BhY2VgIG9uY2UgZGVlcCBpbXBvcnRzIGFyZSByZXN0cmljdGVkIChhbHJlYWR5IGV4cG9ydGVkIGZyb20gYHV0aWxpdHlgIHdpdGggdGhhdCBuYW1lKVxuLyoqXG4gKiBSZWFkcyBhIHdvcmtzcGFjZSBmaWxlIChgYW5ndWxhci5qc29uYCkgZnJvbSB0aGUgcHJvdmlkZWQge0BsaW5rIFRyZWV9IGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSB0cmVlIEEgc2NoZW1hdGljcyB7QGxpbmsgVHJlZX0gaW5zdGFuY2UgdXNlZCB0byBhY2Nlc3MgdGhlIHdvcmtzcGFjZSBmaWxlLlxuICogQHBhcmFtIHBhdGggVGhlIHBhdGggd2hlcmUgYSB3b3Jrc3BhY2UgZmlsZSBzaG91bGQgYmUgZm91bmQuIElmIGEgZmlsZSBpcyBzcGVjaWZpZWQsIHRoZSBmaWxlXG4gKiBwYXRoIHdpbGwgYmUgdXNlZC4gSWYgYSBkaXJlY3RvcnkgaXMgc3BlY2lmaWVkLCB0aGUgZmlsZSBgYW5ndWxhci5qc29uYCB3aWxsIGJlIHVzZWQgZnJvbVxuICogd2l0aGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LiBEZWZhdWx0cyB0byBgL2FuZ3VsYXIuanNvbmAuXG4gKiBAcmV0dXJucyBBIHtAbGluayBXb3Jrc3BhY2VEZWZpbml0aW9ufSByZXByZXNlbnRpbmcgdGhlIHdvcmtzcGFjZSBmb3VuZCBhdCB0aGUgc3BlY2lmaWVkIHBhdGguXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRXb3Jrc3BhY2UoXG4gIHRyZWU6IFRyZWUsXG4gIHBhdGggPSBERUZBVUxUX1dPUktTUEFDRV9QQVRILFxuKTogUHJvbWlzZTxXb3Jrc3BhY2VEZWZpbml0aW9uPiB7XG4gIGNvbnN0IGhvc3QgPSBuZXcgVHJlZVdvcmtzcGFjZUhvc3QodHJlZSk7XG5cbiAgY29uc3QgeyB3b3Jrc3BhY2UgfSA9IGF3YWl0IHdvcmtzcGFjZXMucmVhZFdvcmtzcGFjZShwYXRoLCBob3N0KTtcblxuICByZXR1cm4gd29ya3NwYWNlO1xufVxuXG4vKipcbiAqIFdyaXRlcyBhIHdvcmtzcGFjZSBmaWxlIChgYW5ndWxhci5qc29uYCkgdG8gdGhlIHByb3ZpZGVkIHtAbGluayBUcmVlfSBpbnN0YW5jZS5cbiAqIFRoZSBzcGFjaW5nIGFuZCBvdmVyYWxsIGxheW91dCBvZiBhbiBleGlzaXRuZyBmaWxlIChpbmNsdWRpbmcgY29tbWVudHMpIHdpbGwgYmUgbWFpbnRhaW5lZCB3aGVyZVxuICogcG9zc2libGUgd2hlbiB3cml0aW5nIHRoZSBmaWxlLlxuICpcbiAqIEBwYXJhbSB0cmVlIEEgc2NoZW1hdGljcyB7QGxpbmsgVHJlZX0gaW5zdGFuY2UgdXNlZCB0byBhY2Nlc3MgdGhlIHdvcmtzcGFjZSBmaWxlLlxuICogQHBhcmFtIHdvcmtzcGFjZSBUaGUge0BsaW5rIFdvcmtzcGFjZURlZmluaXRpb259IHRvIHdyaXRlLlxuICogQHBhcmFtIHBhdGggVGhlIHBhdGggd2hlcmUgYSB3b3Jrc3BhY2UgZmlsZSBzaG91bGQgYmUgd3JpdHRlbi4gSWYgYSBmaWxlIGlzIHNwZWNpZmllZCwgdGhlIGZpbGVcbiAqIHBhdGggd2lsbCBiZSB1c2VkLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBkZWZpbml0aW9uJ3MgdW5kZXJseWluZyBmaWxlIHBhdGggc3RvcmVkIGR1cmluZyByZWFkaW5nXG4gKiB3aWxsIGJlIHVzZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cml0ZVdvcmtzcGFjZShcbiAgdHJlZTogVHJlZSxcbiAgd29ya3NwYWNlOiBXb3Jrc3BhY2VEZWZpbml0aW9uLFxuICBwYXRoPzogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGhvc3QgPSBuZXcgVHJlZVdvcmtzcGFjZUhvc3QodHJlZSk7XG5cbiAgcmV0dXJuIHdvcmtzcGFjZXMud3JpdGVXb3Jrc3BhY2Uod29ya3NwYWNlLCBob3N0LCBwYXRoKTtcbn1cblxuLyoqXG4gKiBCdWlsZCBhIGRlZmF1bHQgcHJvamVjdCBwYXRoIGZvciBnZW5lcmF0aW5nLlxuICogQHBhcmFtIHByb2plY3QgVGhlIHByb2plY3Qgd2hpY2ggd2lsbCBoYXZlIGl0cyBkZWZhdWx0IHBhdGggZ2VuZXJhdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGREZWZhdWx0UGF0aChwcm9qZWN0OiB3b3Jrc3BhY2VzLlByb2plY3REZWZpbml0aW9uKTogc3RyaW5nIHtcbiAgY29uc3Qgcm9vdCA9IHByb2plY3Quc291cmNlUm9vdCA/IGAvJHtwcm9qZWN0LnNvdXJjZVJvb3R9L2AgOiBgLyR7cHJvamVjdC5yb290fS9zcmMvYDtcbiAgY29uc3QgcHJvamVjdERpck5hbWUgPVxuICAgIHByb2plY3QuZXh0ZW5zaW9uc1sncHJvamVjdFR5cGUnXSA9PT0gUHJvamVjdFR5cGUuQXBwbGljYXRpb24gPyAnYXBwJyA6ICdsaWInO1xuXG4gIHJldHVybiBgJHtyb290fSR7cHJvamVjdERpck5hbWV9YDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRQYXRoKHRyZWU6IFRyZWUsIHByb2plY3ROYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCB3b3Jrc3BhY2UgPSBhd2FpdCBnZXRXb3Jrc3BhY2UodHJlZSk7XG4gIGNvbnN0IHByb2plY3QgPSB3b3Jrc3BhY2UucHJvamVjdHMuZ2V0KHByb2plY3ROYW1lKTtcbiAgaWYgKCFwcm9qZWN0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBQcm9qZWN0IFwiJHtwcm9qZWN0TmFtZX1cIiBkb2VzIG5vdCBleGlzdC5gKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZERlZmF1bHRQYXRoKHByb2plY3QpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24qIGFsbFdvcmtzcGFjZVRhcmdldHMoXG4gIHdvcmtzcGFjZTogd29ya3NwYWNlcy5Xb3Jrc3BhY2VEZWZpbml0aW9uLFxuKTogSXRlcmFibGU8W3N0cmluZywgd29ya3NwYWNlcy5UYXJnZXREZWZpbml0aW9uLCBzdHJpbmcsIHdvcmtzcGFjZXMuUHJvamVjdERlZmluaXRpb25dPiB7XG4gIGZvciAoY29uc3QgW3Byb2plY3ROYW1lLCBwcm9qZWN0XSBvZiB3b3Jrc3BhY2UucHJvamVjdHMpIHtcbiAgICBmb3IgKGNvbnN0IFt0YXJnZXROYW1lLCB0YXJnZXRdIG9mIHByb2plY3QudGFyZ2V0cykge1xuICAgICAgeWllbGQgW3RhcmdldE5hbWUsIHRhcmdldCwgcHJvamVjdE5hbWUsIHByb2plY3RdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24qIGFsbFRhcmdldE9wdGlvbnMoXG4gIHRhcmdldDogd29ya3NwYWNlcy5UYXJnZXREZWZpbml0aW9uLFxuICBza2lwQmFzZU9wdGlvbnMgPSBmYWxzZSxcbik6IEl0ZXJhYmxlPFtzdHJpbmcgfCB1bmRlZmluZWQsIFJlY29yZDxzdHJpbmcsIGpzb24uSnNvblZhbHVlIHwgdW5kZWZpbmVkPl0+IHtcbiAgaWYgKCFza2lwQmFzZU9wdGlvbnMgJiYgdGFyZ2V0Lm9wdGlvbnMpIHtcbiAgICB5aWVsZCBbdW5kZWZpbmVkLCB0YXJnZXQub3B0aW9uc107XG4gIH1cblxuICBpZiAoIXRhcmdldC5jb25maWd1cmF0aW9ucykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgW25hbWUsIG9wdGlvbnNdIG9mIE9iamVjdC5lbnRyaWVzKHRhcmdldC5jb25maWd1cmF0aW9ucykpIHtcbiAgICBpZiAob3B0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB5aWVsZCBbbmFtZSwgb3B0aW9uc107XG4gICAgfVxuICB9XG59XG4iXX0= |
@@ -89,4 +89,3 @@ "use strict"; | ||
(0, workspace_1.updateWorkspace)((workspace) => { | ||
var _a, _b, _c, _d; | ||
var _e, _f; | ||
var _a, _b; | ||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion | ||
@@ -100,5 +99,5 @@ const project = workspace.projects.get(options.project); | ||
const workerConfigPath = (0, core_1.join)((0, core_1.normalize)(root), 'tsconfig.worker.json'); | ||
(_b = (_e = ((_a = buildTarget.options) !== null && _a !== void 0 ? _a : (buildTarget.options = {}))).webWorkerTsConfig) !== null && _b !== void 0 ? _b : (_e.webWorkerTsConfig = workerConfigPath); | ||
(_a = (buildTarget.options ?? (buildTarget.options = {}))).webWorkerTsConfig ?? (_a.webWorkerTsConfig = workerConfigPath); | ||
if (testTarget) { | ||
(_d = (_f = ((_c = testTarget.options) !== null && _c !== void 0 ? _c : (testTarget.options = {}))).webWorkerTsConfig) !== null && _d !== void 0 ? _d : (_f.webWorkerTsConfig = workerConfigPath); | ||
(_b = (testTarget.options ?? (testTarget.options = {}))).webWorkerTsConfig ?? (_b.webWorkerTsConfig = workerConfigPath); | ||
} | ||
@@ -115,1 +114,2 @@ }), | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvd2ViLXdvcmtlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILCtDQUE2RDtBQUM3RCwyREFhb0M7QUFDcEMsc0RBQWtEO0FBQ2xELDRDQUErRDtBQUMvRCxvREFBdUY7QUFHdkYsU0FBUyxVQUFVLENBQUMsT0FBeUI7SUFDM0MsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUF5QixFQUFFLEVBQUU7UUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUzQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzlCLE9BQU87U0FDUjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7UUFDekQsTUFBTSxjQUFjLEdBQUcsSUFBSTthQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzthQUNwQixRQUFRLENBQUMsOERBQThEO1lBQ3hFLG1DQUFtQzthQUNsQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkUsdUNBQXVDO2FBQ3RDLElBQUksRUFBRSxDQUFDO1FBRVYsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQix1QkFBdUI7WUFDdkIsT0FBTztTQUNSO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTSxVQUFVLEdBQUcs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TyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztpQkFDbEU7Z0JBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFBLGdCQUFTLEVBQUMsSUFBSSxDQUFDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFDdkUsTUFBQSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEtBQW5CLFdBQVcsQ0FBQyxPQUFPLEdBQUssRUFBRSxFQUFDLEVBQUMsaUJBQWlCLFFBQWpCLGlCQUFpQixHQUFLLGdCQUFnQixFQUFDO2dCQUNwRSxJQUFJLFVBQVUsRUFBRTtvQkFDZCxNQUFBLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBbEIsVUFBVSxDQUFDLE9BQU8sR0FBSyxFQUFFLEVBQUMsRUFBQyxpQkFBaUIsUUFBakIsaUJBQWlCLEdBQUssZ0JBQWdCLEVBQUM7aUJBQ3BFO1lBQ0gsQ0FBQyxDQUFDO1lBQ0YseUNBQXlDO1lBQ3pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxpQkFBSSxHQUFFO1lBQzlDLGtCQUFrQjtZQUNsQixJQUFBLHNCQUFTLEVBQUMsd0JBQXdCLENBQUM7WUFDbkMsSUFBQSxzQkFBUyxFQUFDLDBCQUEwQixDQUFDO1NBQ3RDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUM7QUEvREQsNEJBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSwgdGFncyB9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7XG4gIFJ1bGUsXG4gIFNjaGVtYXRpY0NvbnRleHQsXG4gIFNjaGVtYXRpY3NFeGNlcHRpb24sXG4gIFRyZWUsXG4gIGFwcGx5LFxuICBhcHBseVRlbXBsYXRlcyxcbiAgY2hhaW4sXG4gIG1lcmdlV2l0aCxcbiAgbW92ZSxcbiAgbm9vcCxcbiAgc3RyaW5ncyxcbiAgdXJsLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvc2NoZW1hdGljcyc7XG5pbXBvcnQgeyBwYXJzZU5hbWUgfSBmcm9tICcuLi91dGlsaXR5L3BhcnNlLW5hbWUnO1xuaW1wb3J0IHsgcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290IH0gZnJvbSAnLi4vdXRpbGl0eS9wYXRocyc7XG5pbXBvcnQgeyBidWlsZERlZmF1bHRQYXRoLCBnZXRXb3Jrc3BhY2UsIHVwZGF0ZVdvcmtzcGFjZSB9IGZyb20gJy4uL3V0aWxpdHkvd29ya3NwYWNlJztcbmltcG9ydCB7IFNjaGVtYSBhcyBXZWJXb3JrZXJPcHRpb25zIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5mdW5jdGlvbiBhZGRTbmlwcGV0KG9wdGlvbnM6IFdlYldvcmtlck9wdGlvbnMpOiBSdWxlIHtcbiAgcmV0dXJuIChob3N0OiBUcmVlLCBjb250ZXh0OiBTY2hlbWF0aWNDb250ZXh0KSA9PiB7XG4gICAgY29udGV4dC5sb2dnZXIuZGVidWcoJ1VwZGF0aW5nIGFwcG1vZHVsZScpO1xuXG4gICAgaWYgKG9wdGlvbnMucGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZVJlZ0V4cCA9IG5ldyBSZWdFeHAoYF4ke29wdGlvbnMubmFtZX0uKlxcXFwudHNgKTtcbiAgICBjb25zdCBzaWJsaW5nTW9kdWxlcyA9IGhvc3RcbiAgICAgIC5nZXREaXIob3B0aW9ucy5wYXRoKVxuICAgICAgLnN1YmZpbGVzIC8vIEZpbmQgYWxsIGZpbGVzIHRoYXQgc3RhcnQgd2l0aCB0aGUgc2FtZSBuYW1lLCBhcmUgdHMgZmlsZXMsXG4gICAgICAvLyBhbmQgYXJlbid0IHNwZWMgb3IgbW9kdWxlIGZpbGVzLlxuICAgICAgLmZpbHRlcigoZikgPT4gZmlsZVJlZ0V4cC50ZXN0KGYpICYmICEvKG1vZHVsZXxzcGVjKVxcLnRzJC8udGVzdChmKSlcbiAgICAgIC8vIFNvcnQgYWxwaGFiZXRpY2FsbHkgZm9yIGNvbnNpc3RlbmN5LlxuICAgICAgLnNvcnQoKTtcblxuICAgIGlmIChzaWJsaW5nTW9kdWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIE5vIG1vZHVsZSB0byBhZGQgaW4uXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2libGluZ01vZHVsZVBhdGggPSBgJHtvcHRpb25zLnBhdGh9LyR7c2libGluZ01vZHVsZXNbMF19YDtcbiAgICBjb25zdCBsb2dNZXNzYWdlID0gJ2NvbnNvbGUubG9nKGBwYWdlIGdvdCBtZXNzYWdlOiAke2RhdGF9YCk7JztcbiAgICBjb25zdCB3b3JrZXJDcmVhdGlvblNuaXBwZXQgPSB0YWdzLnN0cmlwSW5kZW50YFxuICAgICAgaWYgKHR5cGVvZiBXb3JrZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ld1xuICAgICAgICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKG5ldyBVUkwoJy4vJHtvcHRpb25zLm5hbWV9LndvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpO1xuICAgICAgICB3b3JrZXIub25tZXNzYWdlID0gKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgJHtsb2dNZXNzYWdlfVxuICAgICAgICB9O1xuICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoJ2hlbGxvJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZWIgV29ya2VycyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGVudmlyb25tZW50LlxuICAgICAgICAvLyBZb3Ugc2hvdWxkIGFkZCBhIGZhbGxiYWNrIHNvIHRoYXQgeW91ciBwcm9ncmFtIHN0aWxsIGV4ZWN1dGVzIGNvcnJlY3RseS5cbiAgICAgIH1cbiAgICBgO1xuXG4gICAgLy8gQXBwZW5kIHRoZSB3b3JrZXIgY3JlYXRpb24gc25pcHBldC5cbiAgICBjb25zdCBvcmlnaW5hbENvbnRlbnQgPSBob3N0LnJlYWRUZXh0KHNpYmxpbmdNb2R1bGVQYXRoKTtcbiAgICBob3N0Lm92ZXJ3cml0ZShzaWJsaW5nTW9kdWxlUGF0aCwgb3JpZ2luYWxDb250ZW50ICsgJ1xcbicgKyB3b3JrZXJDcmVhdGlvblNuaXBwZXQpO1xuXG4gICAgcmV0dXJuIGhvc3Q7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBXZWJXb3JrZXJPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBhc3luYyAoaG9zdDogVHJlZSkgPT4ge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGF3YWl0IGdldFdvcmtzcGFjZShob3N0KTtcblxuICAgIGlmICghb3B0aW9ucy5wcm9qZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbignT3B0aW9uIFwicHJvamVjdFwiIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2plY3QgPSB3b3Jrc3BhY2UucHJvamVjdHMuZ2V0KG9wdGlvbnMucHJvamVjdCk7XG4gICAgaWYgKCFwcm9qZWN0KSB7XG4gICAgICB0aHJvdyBuZXcgU2NoZW1hdGljc0V4Y2VwdGlvbihgSW52YWxpZCBwcm9qZWN0IG5hbWUgKCR7b3B0aW9ucy5wcm9qZWN0fSlgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9qZWN0VHlwZSA9IHByb2plY3QuZXh0ZW5zaW9uc1sncHJvamVjdFR5cGUnXTtcbiAgICBpZiAocHJvamVjdFR5cGUgIT09ICdhcHBsaWNhdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBTY2hlbWF0aWNzRXhjZXB0aW9uKGBXZWIgV29ya2VyIHJlcXVpcmVzIGEgcHJvamVjdCB0eXBlIG9mIFwiYXBwbGljYXRpb25cIi5gKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5wYXRoID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbnMucGF0aCA9IGJ1aWxkRGVmYXVsdFBhdGgocHJvamVjdCk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZFBhdGggPSBwYXJzZU5hbWUob3B0aW9ucy5wYXRoLCBvcHRpb25zLm5hbWUpO1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnNlZFBhdGgubmFtZTtcbiAgICBvcHRpb25zLnBhdGggPSBwYXJzZWRQYXRoLnBhdGg7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZVNvdXJjZVdvcmtlckNvZGUgPSBhcHBseSh1cmwoJy4vZmlsZXMvd29ya2VyJyksIFtcbiAgICAgIGFwcGx5VGVtcGxhdGVzKHsgLi4ub3B0aW9ucywgLi4uc3RyaW5ncyB9KSxcbiAgICAgIG1vdmUocGFyc2VkUGF0aC5wYXRoKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IHJvb3QgPSBwcm9qZWN0LnJvb3QgfHwgJyc7XG4gICAgY29uc3QgdGVtcGxhdGVTb3VyY2VXb3JrZXJDb25maWcgPSBhcHBseSh1cmwoJy4vZmlsZXMvd29ya2VyLXRzY29uZmlnJyksIFtcbiAgICAgIGFwcGx5VGVtcGxhdGVzKHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgcmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VSb290OiByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZVJvb3Qocm9vdCksXG4gICAgICB9KSxcbiAgICAgIG1vdmUocm9vdCksXG4gICAgXSk7XG5cbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgLy8gQWRkIHByb2plY3QgY29uZmlndXJhdGlvbi5cbiAgICAgIHVwZGF0ZVdvcmtzcGFjZSgod29ya3NwYWNlKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgIGNvbnN0IHByb2plY3QgPSB3b3Jrc3BhY2UucHJvamVjdHMuZ2V0KG9wdGlvbnMucHJvamVjdCkhO1xuICAgICAgICBjb25zdCBidWlsZFRhcmdldCA9IHByb2plY3QudGFyZ2V0cy5nZXQoJ2J1aWxkJyk7XG4gICAgICAgIGNvbnN0IHRlc3RUYXJnZXQgPSBwcm9qZWN0LnRhcmdldHMuZ2V0KCd0ZXN0Jyk7XG4gICAgICAgIGlmICghYnVpbGRUYXJnZXQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJ1aWxkIHRhcmdldCBpcyBub3QgZGVmaW5lZCBmb3IgdGhpcyBwcm9qZWN0LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd29ya2VyQ29uZmlnUGF0aCA9IGpvaW4obm9ybWFsaXplKHJvb3QpLCAndHNjb25maWcud29ya2VyLmpzb24nKTtcbiAgICAgICAgKGJ1aWxkVGFyZ2V0Lm9wdGlvbnMgPz89IHt9KS53ZWJXb3JrZXJUc0NvbmZpZyA/Pz0gd29ya2VyQ29uZmlnUGF0aDtcbiAgICAgICAgaWYgKHRlc3RUYXJnZXQpIHtcbiAgICAgICAgICAodGVzdFRhcmdldC5vcHRpb25zID8/PSB7fSkud2ViV29ya2VyVHNDb25maWcgPz89IHdvcmtlckNvbmZpZ1BhdGg7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgLy8gQ3JlYXRlIHRoZSB3b3JrZXIgaW4gYSBzaWJsaW5nIG1vZHVsZS5cbiAgICAgIG9wdGlvbnMuc25pcHBldCA/IGFkZFNuaXBwZXQob3B0aW9ucykgOiBub29wKCksXG4gICAgICAvLyBBZGQgdGhlIHdvcmtlci5cbiAgICAgIG1lcmdlV2l0aCh0ZW1wbGF0ZVNvdXJjZVdvcmtlckNvZGUpLFxuICAgICAgbWVyZ2VXaXRoKHRlbXBsYXRlU291cmNlV29ya2VyQ29uZmlnKSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ== |
/** | ||
* Creates a new, generic web worker definition in the given or default project. | ||
* Creates a new, generic web worker definition in the given project. | ||
*/ | ||
@@ -4,0 +4,0 @@ export interface Schema { |
@@ -5,1 +5,2 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3dlYi13b3JrZXIvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxtRkFBbUY7QUFDbkYsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldywgZ2VuZXJpYyB3ZWIgd29ya2VyIGRlZmluaXRpb24gaW4gdGhlIGdpdmVuIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2VyLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGF0aCBhdCB3aGljaCB0byBjcmVhdGUgdGhlIHdvcmtlciBmaWxlLCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3Jrc3BhY2UuXG4gICAgICovXG4gICAgcGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC5cbiAgICAgKi9cbiAgICBwcm9qZWN0OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWRkIGEgd29ya2VyIGNyZWF0aW9uIHNuaXBwZXQgaW4gYSBzaWJsaW5nIGZpbGUgb2YgdGhlIHNhbWUgbmFtZS5cbiAgICAgKi9cbiAgICBzbmlwcGV0PzogYm9vbGVhbjtcbn1cbiJdfQ== |
@@ -7,3 +7,3 @@ { | ||
"additionalProperties": false, | ||
"description": "Creates a new, generic web worker definition in the given or default project.", | ||
"description": "Creates a new, generic web worker definition in the given project.", | ||
"properties": { | ||
@@ -10,0 +10,0 @@ "path": { |
@@ -24,1 +24,2 @@ "use strict"; | ||
exports.default = default_1; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zY2hlbWF0aWNzL2FuZ3VsYXIvd29ya3NwYWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7O0FBRUgsMkRBU29DO0FBQ3BDLGdFQUE0RDtBQUc1RCxtQkFBeUIsT0FBeUI7SUFDaEQsT0FBTyxJQUFBLHNCQUFTLEVBQ2QsSUFBQSxrQkFBSyxFQUFDLElBQUEsZ0JBQUcsRUFBQyxTQUFTLENBQUMsRUFBRTtRQUNwQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFNLEVBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQUksR0FBRTtRQUNwRixJQUFBLDJCQUFjLEVBQUM7WUFDYixLQUFLLEVBQUUsb0JBQU87WUFDZCxHQUFHLE9BQU87WUFDVixLQUFLLEVBQUUsR0FBRztZQUNWLGNBQWMsRUFBZCxnQ0FBYztTQUNmLENBQUM7S0FDSCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFaRCw0QkFZQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1xuICBSdWxlLFxuICBhcHBseSxcbiAgYXBwbHlUZW1wbGF0ZXMsXG4gIGZpbHRlcixcbiAgbWVyZ2VXaXRoLFxuICBub29wLFxuICBzdHJpbmdzLFxuICB1cmwsXG59IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7IGxhdGVzdFZlcnNpb25zIH0gZnJvbSAnLi4vdXRpbGl0eS9sYXRlc3QtdmVyc2lvbnMnO1xuaW1wb3J0IHsgU2NoZW1hIGFzIFdvcmtzcGFjZU9wdGlvbnMgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvcHRpb25zOiBXb3Jrc3BhY2VPcHRpb25zKTogUnVsZSB7XG4gIHJldHVybiBtZXJnZVdpdGgoXG4gICAgYXBwbHkodXJsKCcuL2ZpbGVzJyksIFtcbiAgICAgIG9wdGlvbnMubWluaW1hbCA/IGZpbHRlcigocGF0aCkgPT4gIXBhdGguZW5kc1dpdGgoJ2VkaXRvcmNvbmZpZy50ZW1wbGF0ZScpKSA6IG5vb3AoKSxcbiAgICAgIGFwcGx5VGVtcGxhdGVzKHtcbiAgICAgICAgdXRpbHM6IHN0cmluZ3MsXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICdkb3QnOiAnLicsXG4gICAgICAgIGxhdGVzdFZlcnNpb25zLFxuICAgICAgfSksXG4gICAgXSksXG4gICk7XG59XG4iXX0= |
@@ -15,2 +15,3 @@ "use strict"; | ||
PackageManager["Yarn"] = "yarn"; | ||
})(PackageManager = exports.PackageManager || (exports.PackageManager = {})); | ||
})(PackageManager || (exports.PackageManager = PackageManager = {})); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2NoZW1hdGljcy9hbmd1bGFyL3dvcmtzcGFjZS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLG1GQUFtRjtBQUNuRixvRkFBb0Y7OztBQW1DcEY7O0dBRUc7QUFDSCxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDdEIsK0JBQWEsQ0FBQTtJQUNiLDZCQUFXLENBQUE7SUFDWCwrQkFBYSxDQUFBO0lBQ2IsK0JBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsY0FBYyw4QkFBZCxjQUFjLFFBS3pCIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgYW4gZW1wdHkgd29ya3NwYWNlIGFuZCBhZGRzIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGJ5IGFuIEFuZ3VsYXJcbiAqIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgd29ya3NwYWNlIHdpdGhvdXQgYW55IHRlc3RpbmcgZnJhbWV3b3Jrcy4gKFVzZSBmb3IgbGVhcm5pbmcgcHVycG9zZXMgb25seS4pXG4gICAgICovXG4gICAgbWluaW1hbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtzcGFjZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggd2hlcmUgbmV3IHByb2plY3RzIHdpbGwgYmUgY3JlYXRlZC5cbiAgICAgKi9cbiAgICBuZXdQcm9qZWN0Um9vdD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHVzZWQgdG8gaW5zdGFsbCBkZXBlbmRlbmNpZXMuXG4gICAgICovXG4gICAgcGFja2FnZU1hbmFnZXI/OiBQYWNrYWdlTWFuYWdlcjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSB3b3Jrc3BhY2Ugd2l0aCBzdHJpY3RlciB0eXBlIGNoZWNraW5nIG9wdGlvbnMuIFRoaXMgc2V0dGluZyBoZWxwcyBpbXByb3ZlXG4gICAgICogbWFpbnRhaW5hYmlsaXR5IGFuZCBjYXRjaCBidWdzIGFoZWFkIG9mIHRpbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWVcbiAgICAgKiBodHRwczovL2FuZ3VsYXIuaW8vc3RyaWN0XG4gICAgICovXG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgQW5ndWxhciBDTEkgdG8gdXNlLlxuICAgICAqL1xuICAgIHZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcGFja2FnZSBtYW5hZ2VyIHVzZWQgdG8gaW5zdGFsbCBkZXBlbmRlbmNpZXMuXG4gKi9cbmV4cG9ydCBlbnVtIFBhY2thZ2VNYW5hZ2VyIHtcbiAgICBDbnBtID0gXCJjbnBtXCIsXG4gICAgTnBtID0gXCJucG1cIixcbiAgICBQbnBtID0gXCJwbnBtXCIsXG4gICAgWWFybiA9IFwieWFyblwiLFxufVxuIl19 |
@@ -33,4 +33,3 @@ { | ||
"type": "boolean", | ||
"default": false, | ||
"x-user-analytics": 14 | ||
"default": false | ||
}, | ||
@@ -40,4 +39,3 @@ "strict": { | ||
"type": "boolean", | ||
"default": true, | ||
"x-user-analytics": 7 | ||
"default": true | ||
}, | ||
@@ -44,0 +42,0 @@ "packageManager": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
247
16589
9500661
+ Added@angular-devkit/core@16.2.10(transitive)
+ Added@angular-devkit/schematics@16.2.10(transitive)
+ Added@jridgewell/sourcemap-codec@1.5.0(transitive)
+ Addedajv@8.12.0(transitive)
+ Addedjsonc-parser@3.2.0(transitive)
+ Addedmagic-string@0.30.1(transitive)
+ Addedpicomatch@2.3.1(transitive)
+ Addedrxjs@7.8.1(transitive)
+ Addedtslib@2.8.0(transitive)
- Removed@angular-devkit/core@14.1.1(transitive)
- Removed@angular-devkit/schematics@14.1.1(transitive)
- Removedajv@8.11.0(transitive)
- Removedjsonc-parser@3.1.0(transitive)
- Removedmagic-string@0.26.2(transitive)
- Removedrxjs@6.6.7(transitive)
- Removedsourcemap-codec@1.4.8(transitive)
- Removedtslib@1.14.1(transitive)
Updated@angular-devkit/core@16.2.10
Updatedjsonc-parser@3.2.0