aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt8
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.d.ts11
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.js66
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.d.ts30
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.js410
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.d.ts8
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.js49
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.d.ts16
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.js193
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.d.ts23
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.js97
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.d.ts17
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.js245
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.d.ts13
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.js28
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.d.ts249
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.js9
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.d.ts15
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.js83
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.d.ts76
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.js250
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.d.ts32
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.js81
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.d.ts8
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.js73
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.d.ts8
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.js46
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.d.ts20
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.js54
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.d.ts8
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.js23
31 files changed, 2249 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt
new file mode 100644
index 00000000..2f0b94d3
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/INITIAL_COMMIT_MESSAGE.txt
@@ -0,0 +1,8 @@
+chore: initial commit from @angular/cli
+
+ _ _ ____ _ ___
+ / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
+ / △ \ | '_ \ / _\` | | | | |/ _\` | '__| | | | | | |
+ / ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
+/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
+ |___/
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.d.ts
new file mode 100644
index 00000000..b9aa88ac
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.d.ts
@@ -0,0 +1,11 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import * as ansiColors from 'ansi-colors';
+export declare function removeColor(text: string): string;
+declare const colors: typeof ansiColors;
+export { colors };
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.js
new file mode 100644
index 00000000..583ab6dd
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/color.js
@@ -0,0 +1,66 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.colors = exports.removeColor = void 0;
+const ansiColors = __importStar(require("ansi-colors"));
+const tty_1 = require("tty");
+function supportColor() {
+ if (process.env.FORCE_COLOR !== undefined) {
+ // 2 colors: FORCE_COLOR = 0 (Disables colors), depth 1
+ // 16 colors: FORCE_COLOR = 1, depth 4
+ // 256 colors: FORCE_COLOR = 2, depth 8
+ // 16,777,216 colors: FORCE_COLOR = 3, depth 16
+ // See: https://nodejs.org/dist/latest-v12.x/docs/api/tty.html#tty_writestream_getcolordepth_env
+ // and https://github.com/nodejs/node/blob/b9f36062d7b5c5039498e98d2f2c180dca2a7065/lib/internal/tty.js#L106;
+ switch (process.env.FORCE_COLOR) {
+ case '':
+ case 'true':
+ case '1':
+ case '2':
+ case '3':
+ return true;
+ default:
+ return false;
+ }
+ }
+ if (process.stdout instanceof tty_1.WriteStream) {
+ return process.stdout.getColorDepth() > 1;
+ }
+ return false;
+}
+function removeColor(text) {
+ // This has been created because when colors.enabled is false unstyle doesn't work
+ // see: https://github.com/doowb/ansi-colors/blob/a4794363369d7b4d1872d248fc43a12761640d8e/index.js#L38
+ return text.replace(ansiColors.ansiRegex, '');
+}
+exports.removeColor = removeColor;
+// Create a separate instance to prevent unintended global changes to the color configuration
+// Create function is not defined in the typings. See: https://github.com/doowb/ansi-colors/pull/44
+const colors = ansiColors.create();
+exports.colors = colors;
+colors.enabled = supportColor();
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.d.ts
new file mode 100644
index 00000000..6620e91d
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.d.ts
@@ -0,0 +1,30 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { json, workspaces } from '@angular-devkit/core';
+import { JSONFile } from './json-file';
+export declare const workspaceSchemaPath: string;
+export declare class AngularWorkspace {
+ private workspace;
+ readonly filePath: string;
+ readonly basePath: string;
+ constructor(workspace: workspaces.WorkspaceDefinition, filePath: string);
+ get extensions(): Record<string, json.JsonValue | undefined>;
+ get projects(): workspaces.ProjectDefinitionCollection;
+ getCli(): Record<string, any>;
+ getProjectCli(projectName: string): Record<string, any>;
+ static load(workspaceFilePath: string): Promise<AngularWorkspace>;
+}
+export declare function getWorkspace(level?: 'local' | 'global'): Promise<AngularWorkspace | null>;
+export declare function createGlobalSettings(): string;
+export declare function getWorkspaceRaw(level?: 'local' | 'global'): [JSONFile | null, string | null];
+export declare function validateWorkspace(data: json.JsonObject): Promise<void>;
+export declare function getProjectByCwd(workspace: AngularWorkspace): string | null;
+export declare function getConfiguredPackageManager(): Promise<string | null>;
+export declare function migrateLegacyGlobalConfig(): boolean;
+export declare function getSchematicDefaults(collection: string, schematic: string, project?: string | null): Promise<{}>;
+export declare function isWarningEnabled(warning: string): Promise<boolean>;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.js
new file mode 100644
index 00000000..bbc692f7
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/config.js
@@ -0,0 +1,410 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.isWarningEnabled = exports.getSchematicDefaults = exports.migrateLegacyGlobalConfig = exports.getConfiguredPackageManager = exports.getProjectByCwd = exports.validateWorkspace = exports.getWorkspaceRaw = exports.createGlobalSettings = exports.getWorkspace = exports.AngularWorkspace = exports.workspaceSchemaPath = void 0;
+const core_1 = require("@angular-devkit/core");
+const fs_1 = require("fs");
+const os = __importStar(require("os"));
+const path = __importStar(require("path"));
+const find_up_1 = require("./find-up");
+const json_file_1 = require("./json-file");
+function isJsonObject(value) {
+ return value !== undefined && core_1.json.isJsonObject(value);
+}
+function createWorkspaceHost() {
+ return {
+ async readFile(path) {
+ return (0, fs_1.readFileSync)(path, 'utf-8');
+ },
+ async writeFile(path, data) {
+ (0, fs_1.writeFileSync)(path, data);
+ },
+ async isDirectory(path) {
+ try {
+ return (0, fs_1.statSync)(path).isDirectory();
+ }
+ catch {
+ return false;
+ }
+ },
+ async isFile(path) {
+ try {
+ return (0, fs_1.statSync)(path).isFile();
+ }
+ catch {
+ return false;
+ }
+ },
+ };
+}
+function getSchemaLocation() {
+ return path.join(__dirname, '../lib/config/schema.json');
+}
+exports.workspaceSchemaPath = getSchemaLocation();
+const configNames = ['angular.json', '.angular.json'];
+const globalFileName = '.angular-config.json';
+function xdgConfigHome(home, configFile) {
+ // https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
+ const xdgConfigHome = process.env['XDG_CONFIG_HOME'] || path.join(home, '.config');
+ const xdgAngularHome = path.join(xdgConfigHome, 'angular');
+ return configFile ? path.join(xdgAngularHome, configFile) : xdgAngularHome;
+}
+function xdgConfigHomeOld(home) {
+ // Check the configuration files in the old location that should be:
+ // - $XDG_CONFIG_HOME/.angular-config.json (if XDG_CONFIG_HOME is set)
+ // - $HOME/.config/angular/.angular-config.json (otherwise)
+ const p = process.env['XDG_CONFIG_HOME'] || path.join(home, '.config', 'angular');
+ return path.join(p, '.angular-config.json');
+}
+function projectFilePath(projectPath) {
+ // Find the configuration, either where specified, in the Angular CLI project
+ // (if it's in node_modules) or from the current process.
+ return ((projectPath && (0, find_up_1.findUp)(configNames, projectPath)) ||
+ (0, find_up_1.findUp)(configNames, process.cwd()) ||
+ (0, find_up_1.findUp)(configNames, __dirname));
+}
+function globalFilePath() {
+ const home = os.homedir();
+ if (!home) {
+ return null;
+ }
+ // follow XDG Base Directory spec
+ // note that createGlobalSettings() will continue creating
+ // global file in home directory, with this user will have
+ // choice to move change its location to meet XDG convention
+ const xdgConfig = xdgConfigHome(home, 'config.json');
+ if ((0, fs_1.existsSync)(xdgConfig)) {
+ return xdgConfig;
+ }
+ // NOTE: This check is for the old configuration location, for more
+ // information see https://github.com/angular/angular-cli/pull/20556
+ const xdgConfigOld = xdgConfigHomeOld(home);
+ if ((0, fs_1.existsSync)(xdgConfigOld)) {
+ /* eslint-disable no-console */
+ console.warn(`Old configuration location detected: ${xdgConfigOld}\n` +
+ `Please move the file to the new location ~/.config/angular/config.json`);
+ return xdgConfigOld;
+ }
+ const p = path.join(home, globalFileName);
+ if ((0, fs_1.existsSync)(p)) {
+ return p;
+ }
+ return null;
+}
+class AngularWorkspace {
+ constructor(workspace, filePath) {
+ this.workspace = workspace;
+ this.filePath = filePath;
+ this.basePath = path.dirname(filePath);
+ }
+ get extensions() {
+ return this.workspace.extensions;
+ }
+ get projects() {
+ return this.workspace.projects;
+ }
+ // Temporary helper functions to support refactoring
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ getCli() {
+ return this.workspace.extensions['cli'] || {};
+ }
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ getProjectCli(projectName) {
+ const project = this.workspace.projects.get(projectName);
+ return (project === null || project === void 0 ? void 0 : project.extensions['cli']) || {};
+ }
+ static async load(workspaceFilePath) {
+ const oldConfigFileNames = ['.angular-cli.json', 'angular-cli.json'];
+ if (oldConfigFileNames.includes(path.basename(workspaceFilePath))) {
+ // 1.x file format
+ // Create an empty workspace to allow update to be used
+ return new AngularWorkspace({ extensions: {}, projects: new core_1.workspaces.ProjectDefinitionCollection() }, workspaceFilePath);
+ }
+ const result = await core_1.workspaces.readWorkspace(workspaceFilePath, createWorkspaceHost(), core_1.workspaces.WorkspaceFormat.JSON);
+ return new AngularWorkspace(result.workspace, workspaceFilePath);
+ }
+}
+exports.AngularWorkspace = AngularWorkspace;
+const cachedWorkspaces = new Map();
+async function getWorkspace(level = 'local') {
+ const cached = cachedWorkspaces.get(level);
+ if (cached !== undefined) {
+ return cached;
+ }
+ const configPath = level === 'local' ? projectFilePath() : globalFilePath();
+ if (!configPath) {
+ cachedWorkspaces.set(level, null);
+ return null;
+ }
+ try {
+ const workspace = await AngularWorkspace.load(configPath);
+ cachedWorkspaces.set(level, workspace);
+ return workspace;
+ }
+ catch (error) {
+ throw new Error(`Workspace config file cannot be loaded: ${configPath}` +
+ `\n${error instanceof Error ? error.message : error}`);
+ }
+}
+exports.getWorkspace = getWorkspace;
+function createGlobalSettings() {
+ const home = os.homedir();
+ if (!home) {
+ throw new Error('No home directory found.');
+ }
+ const globalPath = path.join(home, globalFileName);
+ (0, fs_1.writeFileSync)(globalPath, JSON.stringify({ version: 1 }));
+ return globalPath;
+}
+exports.createGlobalSettings = createGlobalSettings;
+function getWorkspaceRaw(level = 'local') {
+ let configPath = level === 'local' ? projectFilePath() : globalFilePath();
+ if (!configPath) {
+ if (level === 'global') {
+ configPath = createGlobalSettings();
+ }
+ else {
+ return [null, null];
+ }
+ }
+ return [new json_file_1.JSONFile(configPath), configPath];
+}
+exports.getWorkspaceRaw = getWorkspaceRaw;
+async function validateWorkspace(data) {
+ const schema = (0, json_file_1.readAndParseJson)(path.join(__dirname, '../lib/config/schema.json'));
+ const { formats } = await Promise.resolve().then(() => __importStar(require('@angular-devkit/schematics')));
+ const registry = new core_1.json.schema.CoreSchemaRegistry(formats.standardFormats);
+ const validator = await registry.compile(schema).toPromise();
+ const { success, errors } = await validator(data).toPromise();
+ if (!success) {
+ throw new core_1.json.schema.SchemaValidationException(errors);
+ }
+}
+exports.validateWorkspace = validateWorkspace;
+function findProjectByPath(workspace, location) {
+ const isInside = (base, potential) => {
+ const absoluteBase = path.resolve(workspace.basePath, base);
+ const absolutePotential = path.resolve(workspace.basePath, potential);
+ const relativePotential = path.relative(absoluteBase, absolutePotential);
+ if (!relativePotential.startsWith('..') && !path.isAbsolute(relativePotential)) {
+ return true;
+ }
+ return false;
+ };
+ const projects = Array.from(workspace.projects)
+ .map(([name, project]) => [project.root, name])
+ .filter((tuple) => isInside(tuple[0], location))
+ // Sort tuples by depth, with the deeper ones first. Since the first member is a path and
+ // we filtered all invalid paths, the longest will be the deepest (and in case of equality
+ // the sort is stable and the first declared project will win).
+ .sort((a, b) => b[0].length - a[0].length);
+ if (projects.length === 0) {
+ return null;
+ }
+ else if (projects.length > 1) {
+ const found = new Set();
+ const sameRoots = projects.filter((v) => {
+ if (!found.has(v[0])) {
+ found.add(v[0]);
+ return false;
+ }
+ return true;
+ });
+ if (sameRoots.length > 0) {
+ // Ambiguous location - cannot determine a project
+ return null;
+ }
+ }
+ return projects[0][1];
+}
+function getProjectByCwd(workspace) {
+ if (workspace.projects.size === 1) {
+ // If there is only one project, return that one.
+ return Array.from(workspace.projects.keys())[0];
+ }
+ const project = findProjectByPath(workspace, process.cwd());
+ if (project) {
+ return project;
+ }
+ const defaultProject = workspace.extensions['defaultProject'];
+ if (defaultProject && typeof defaultProject === 'string') {
+ // If there is a default project name, return it.
+ return defaultProject;
+ }
+ return null;
+}
+exports.getProjectByCwd = getProjectByCwd;
+async function getConfiguredPackageManager() {
+ var _a;
+ const getPackageManager = (source) => {
+ if (isJsonObject(source)) {
+ const value = source['packageManager'];
+ if (value && typeof value === 'string') {
+ return value;
+ }
+ }
+ };
+ let result;
+ const workspace = await getWorkspace('local');
+ if (workspace) {
+ const project = getProjectByCwd(workspace);
+ if (project) {
+ result = getPackageManager((_a = workspace.projects.get(project)) === null || _a === void 0 ? void 0 : _a.extensions['cli']);
+ }
+ result = result !== null && result !== void 0 ? result : getPackageManager(workspace.extensions['cli']);
+ }
+ if (result === undefined) {
+ const globalOptions = await getWorkspace('global');
+ result = getPackageManager(globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.extensions['cli']);
+ if (!workspace && !globalOptions) {
+ // Only check legacy if updated workspace is not found
+ result = getLegacyPackageManager();
+ }
+ }
+ // Default to null
+ return result !== null && result !== void 0 ? result : null;
+}
+exports.getConfiguredPackageManager = getConfiguredPackageManager;
+function migrateLegacyGlobalConfig() {
+ const homeDir = os.homedir();
+ if (homeDir) {
+ const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json');
+ if ((0, fs_1.existsSync)(legacyGlobalConfigPath)) {
+ const legacy = (0, json_file_1.readAndParseJson)(legacyGlobalConfigPath);
+ if (!isJsonObject(legacy)) {
+ return false;
+ }
+ const cli = {};
+ if (legacy.packageManager &&
+ typeof legacy.packageManager == 'string' &&
+ legacy.packageManager !== 'default') {
+ cli['packageManager'] = legacy.packageManager;
+ }
+ if (isJsonObject(legacy.defaults) &&
+ isJsonObject(legacy.defaults.schematics) &&
+ typeof legacy.defaults.schematics.collection == 'string') {
+ cli['defaultCollection'] = legacy.defaults.schematics.collection;
+ }
+ if (isJsonObject(legacy.warnings)) {
+ const warnings = {};
+ if (typeof legacy.warnings.versionMismatch == 'boolean') {
+ warnings['versionMismatch'] = legacy.warnings.versionMismatch;
+ }
+ if (Object.getOwnPropertyNames(warnings).length > 0) {
+ cli['warnings'] = warnings;
+ }
+ }
+ if (Object.getOwnPropertyNames(cli).length > 0) {
+ const globalPath = path.join(homeDir, globalFileName);
+ (0, fs_1.writeFileSync)(globalPath, JSON.stringify({ version: 1, cli }, null, 2));
+ return true;
+ }
+ }
+ }
+ return false;
+}
+exports.migrateLegacyGlobalConfig = migrateLegacyGlobalConfig;
+// Fallback, check for packageManager in config file in v1.* global config.
+function getLegacyPackageManager() {
+ const homeDir = os.homedir();
+ if (homeDir) {
+ const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json');
+ if ((0, fs_1.existsSync)(legacyGlobalConfigPath)) {
+ const legacy = (0, json_file_1.readAndParseJson)(legacyGlobalConfigPath);
+ if (!isJsonObject(legacy)) {
+ return null;
+ }
+ if (legacy.packageManager &&
+ typeof legacy.packageManager === 'string' &&
+ legacy.packageManager !== 'default') {
+ return legacy.packageManager;
+ }
+ }
+ }
+ return null;
+}
+async function getSchematicDefaults(collection, schematic, project) {
+ var _a;
+ const result = {};
+ const mergeOptions = (source) => {
+ if (isJsonObject(source)) {
+ // Merge options from the qualified name
+ Object.assign(result, source[`${collection}:${schematic}`]);
+ // Merge options from nested collection schematics
+ const collectionOptions = source[collection];
+ if (isJsonObject(collectionOptions)) {
+ Object.assign(result, collectionOptions[schematic]);
+ }
+ }
+ };
+ // Global level schematic options
+ const globalOptions = await getWorkspace('global');
+ mergeOptions(globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.extensions['schematics']);
+ const workspace = await getWorkspace('local');
+ if (workspace) {
+ // Workspace level schematic options
+ mergeOptions(workspace.extensions['schematics']);
+ project = project || getProjectByCwd(workspace);
+ if (project) {
+ // Project level schematic options
+ mergeOptions((_a = workspace.projects.get(project)) === null || _a === void 0 ? void 0 : _a.extensions['schematics']);
+ }
+ }
+ return result;
+}
+exports.getSchematicDefaults = getSchematicDefaults;
+async function isWarningEnabled(warning) {
+ var _a;
+ const getWarning = (source) => {
+ if (isJsonObject(source)) {
+ const warnings = source['warnings'];
+ if (isJsonObject(warnings)) {
+ const value = warnings[warning];
+ if (typeof value == 'boolean') {
+ return value;
+ }
+ }
+ }
+ };
+ let result;
+ const workspace = await getWorkspace('local');
+ if (workspace) {
+ const project = getProjectByCwd(workspace);
+ if (project) {
+ result = getWarning((_a = workspace.projects.get(project)) === null || _a === void 0 ? void 0 : _a.extensions['cli']);
+ }
+ result = result !== null && result !== void 0 ? result : getWarning(workspace.extensions['cli']);
+ }
+ if (result === undefined) {
+ const globalOptions = await getWorkspace('global');
+ result = getWarning(globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.extensions['cli']);
+ }
+ // All warnings are enabled by default
+ return result !== null && result !== void 0 ? result : true;
+}
+exports.isWarningEnabled = isWarningEnabled;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.d.ts
new file mode 100644
index 00000000..e859cc93
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export declare function findUp(names: string | string[], from: string): string | null;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.js
new file mode 100644
index 00000000..876653a3
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/find-up.js
@@ -0,0 +1,49 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.findUp = void 0;
+const fs_1 = require("fs");
+const path = __importStar(require("path"));
+function findUp(names, from) {
+ if (!Array.isArray(names)) {
+ names = [names];
+ }
+ const root = path.parse(from).root;
+ let currentDir = from;
+ while (currentDir && currentDir !== root) {
+ for (const name of names) {
+ const p = path.join(currentDir, name);
+ if ((0, fs_1.existsSync)(p)) {
+ return p;
+ }
+ }
+ currentDir = path.dirname(currentDir);
+ }
+ return null;
+}
+exports.findUp = findUp;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.d.ts
new file mode 100644
index 00000000..4095b578
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.d.ts
@@ -0,0 +1,16 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { PackageManager } from '../lib/config/workspace-schema';
+import { NgAddSaveDepedency } from '../utilities/package-metadata';
+export declare function installAllPackages(packageManager?: PackageManager, extraArgs?: string[], cwd?: string): Promise<1 | 0>;
+export declare function installPackage(packageName: string, packageManager?: PackageManager, save?: Exclude<NgAddSaveDepedency, false>, extraArgs?: string[], cwd?: string): Promise<1 | 0>;
+export declare function installTempPackage(packageName: string, packageManager?: PackageManager, extraArgs?: string[]): Promise<{
+ status: 1 | 0;
+ tempNodeModules: string;
+}>;
+export declare function runTempPackageBin(packageName: string, packageManager?: PackageManager, args?: string[]): Promise<number>;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.js
new file mode 100644
index 00000000..c1fa3b86
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/install-package.js
@@ -0,0 +1,193 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.runTempPackageBin = exports.installTempPackage = exports.installPackage = exports.installAllPackages = void 0;
+const child_process_1 = require("child_process");
+const fs_1 = require("fs");
+const os_1 = require("os");
+const path_1 = require("path");
+const workspace_schema_1 = require("../lib/config/workspace-schema");
+const spinner_1 = require("./spinner");
+async function installAllPackages(packageManager = workspace_schema_1.PackageManager.Npm, extraArgs = [], cwd = process.cwd()) {
+ const packageManagerArgs = getPackageManagerArguments(packageManager);
+ const installArgs = [];
+ if (packageManagerArgs.installAll) {
+ installArgs.push(packageManagerArgs.installAll);
+ }
+ installArgs.push(packageManagerArgs.silent);
+ const spinner = new spinner_1.Spinner();
+ spinner.start('Installing packages...');
+ const bufferedOutput = [];
+ return new Promise((resolve, reject) => {
+ var _a, _b;
+ const childProcess = (0, child_process_1.spawn)(packageManager, [...installArgs, ...extraArgs], {
+ stdio: 'pipe',
+ shell: true,
+ cwd,
+ }).on('close', (code) => {
+ if (code === 0) {
+ spinner.succeed('Packages successfully installed.');
+ resolve(0);
+ }
+ else {
+ spinner.stop();
+ bufferedOutput.forEach(({ stream, data }) => stream.write(data));
+ spinner.fail('Package install failed, see above.');
+ reject(1);
+ }
+ });
+ (_a = childProcess.stdout) === null || _a === void 0 ? void 0 : _a.on('data', (data) => bufferedOutput.push({ stream: process.stdout, data: data }));
+ (_b = childProcess.stderr) === null || _b === void 0 ? void 0 : _b.on('data', (data) => bufferedOutput.push({ stream: process.stderr, data: data }));
+ });
+}
+exports.installAllPackages = installAllPackages;
+async function installPackage(packageName, packageManager = workspace_schema_1.PackageManager.Npm, save = true, extraArgs = [], cwd = process.cwd()) {
+ const packageManagerArgs = getPackageManagerArguments(packageManager);
+ const installArgs = [
+ packageManagerArgs.install,
+ packageName,
+ packageManagerArgs.silent,
+ ];
+ const spinner = new spinner_1.Spinner();
+ spinner.start('Installing package...');
+ if (save === 'devDependencies') {
+ installArgs.push(packageManagerArgs.saveDev);
+ }
+ const bufferedOutput = [];
+ return new Promise((resolve, reject) => {
+ var _a, _b;
+ const childProcess = (0, child_process_1.spawn)(packageManager, [...installArgs, ...extraArgs], {
+ stdio: 'pipe',
+ shell: true,
+ cwd,
+ }).on('close', (code) => {
+ if (code === 0) {
+ spinner.succeed('Package successfully installed.');
+ resolve(0);
+ }
+ else {
+ spinner.stop();
+ bufferedOutput.forEach(({ stream, data }) => stream.write(data));
+ spinner.fail('Package install failed, see above.');
+ reject(1);
+ }
+ });
+ (_a = childProcess.stdout) === null || _a === void 0 ? void 0 : _a.on('data', (data) => bufferedOutput.push({ stream: process.stdout, data: data }));
+ (_b = childProcess.stderr) === null || _b === void 0 ? void 0 : _b.on('data', (data) => bufferedOutput.push({ stream: process.stderr, data: data }));
+ });
+}
+exports.installPackage = installPackage;
+async function installTempPackage(packageName, packageManager = workspace_schema_1.PackageManager.Npm, extraArgs) {
+ const tempPath = (0, fs_1.mkdtempSync)((0, path_1.join)((0, fs_1.realpathSync)((0, os_1.tmpdir)()), 'angular-cli-packages-'));
+ // clean up temp directory on process exit
+ process.on('exit', () => {
+ try {
+ (0, fs_1.rmdirSync)(tempPath, { recursive: true, maxRetries: 3 });
+ }
+ catch { }
+ });
+ // NPM will warn when a `package.json` is not found in the install directory
+ // Example:
+ // npm WARN enoent ENOENT: no such file or directory, open '/tmp/.ng-temp-packages-84Qi7y/package.json'
+ // npm WARN .ng-temp-packages-84Qi7y No description
+ // npm WARN .ng-temp-packages-84Qi7y No repository field.
+ // npm WARN .ng-temp-packages-84Qi7y No license field.
+ // While we can use `npm init -y` we will end up needing to update the 'package.json' anyways
+ // because of missing fields.
+ (0, fs_1.writeFileSync)((0, path_1.join)(tempPath, 'package.json'), JSON.stringify({
+ name: 'temp-cli-install',
+ description: 'temp-cli-install',
+ repository: 'temp-cli-install',
+ license: 'MIT',
+ }));
+ // setup prefix/global modules path
+ const packageManagerArgs = getPackageManagerArguments(packageManager);
+ const tempNodeModules = (0, path_1.join)(tempPath, 'node_modules');
+ // Yarn will not append 'node_modules' to the path
+ const prefixPath = packageManager === workspace_schema_1.PackageManager.Yarn ? tempNodeModules : tempPath;
+ const installArgs = [
+ ...(extraArgs || []),
+ `${packageManagerArgs.prefix}="${prefixPath}"`,
+ packageManagerArgs.noLockfile,
+ ];
+ return {
+ status: await installPackage(packageName, packageManager, true, installArgs, tempPath),
+ tempNodeModules,
+ };
+}
+exports.installTempPackage = installTempPackage;
+async function runTempPackageBin(packageName, packageManager = workspace_schema_1.PackageManager.Npm, args = []) {
+ const { status: code, tempNodeModules } = await installTempPackage(packageName, packageManager);
+ if (code !== 0) {
+ return code;
+ }
+ // Remove version/tag etc... from package name
+ // Ex: @angular/cli@latest -> @angular/cli
+ const packageNameNoVersion = packageName.substring(0, packageName.lastIndexOf('@'));
+ const pkgLocation = (0, path_1.join)(tempNodeModules, packageNameNoVersion);
+ const packageJsonPath = (0, path_1.join)(pkgLocation, 'package.json');
+ // Get a binary location for this package
+ let binPath;
+ if ((0, fs_1.existsSync)(packageJsonPath)) {
+ const content = (0, fs_1.readFileSync)(packageJsonPath, 'utf-8');
+ if (content) {
+ const { bin = {} } = JSON.parse(content);
+ const binKeys = Object.keys(bin);
+ if (binKeys.length) {
+ binPath = (0, path_1.resolve)(pkgLocation, bin[binKeys[0]]);
+ }
+ }
+ }
+ if (!binPath) {
+ throw new Error(`Cannot locate bin for temporary package: ${packageNameNoVersion}.`);
+ }
+ const { status, error } = (0, child_process_1.spawnSync)(process.execPath, [binPath, ...args], {
+ stdio: 'inherit',
+ env: {
+ ...process.env,
+ NG_DISABLE_VERSION_CHECK: 'true',
+ NG_CLI_ANALYTICS: 'false',
+ },
+ });
+ if (status === null && error) {
+ throw error;
+ }
+ return status || 0;
+}
+exports.runTempPackageBin = runTempPackageBin;
+function getPackageManagerArguments(packageManager) {
+ switch (packageManager) {
+ case workspace_schema_1.PackageManager.Yarn:
+ return {
+ silent: '--silent',
+ saveDev: '--dev',
+ install: 'add',
+ prefix: '--modules-folder',
+ noLockfile: '--no-lockfile',
+ };
+ case workspace_schema_1.PackageManager.Pnpm:
+ return {
+ silent: '--silent',
+ saveDev: '--save-dev',
+ install: 'add',
+ installAll: 'install',
+ prefix: '--prefix',
+ noLockfile: '--no-lockfile',
+ };
+ default:
+ return {
+ silent: '--quiet',
+ saveDev: '--save-dev',
+ install: 'install',
+ installAll: 'install',
+ prefix: '--prefix',
+ noLockfile: '--no-package-lock',
+ };
+ }
+}
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.d.ts
new file mode 100644
index 00000000..32c32685
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.d.ts
@@ -0,0 +1,23 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { JsonValue } from '@angular-devkit/core';
+export declare type InsertionIndex = (properties: string[]) => number;
+export declare type JSONPath = (string | number)[];
+/** @internal */
+export declare class JSONFile {
+ private readonly path;
+ content: string;
+ constructor(path: string);
+ private _jsonAst;
+ private get JsonAst();
+ get(jsonPath: JSONPath): unknown;
+ modify(jsonPath: JSONPath, value: JsonValue | undefined, insertInOrder?: InsertionIndex | false): boolean;
+ save(): void;
+}
+export declare function readAndParseJson(path: string): any;
+export declare function parseJson(content: string): any;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.js
new file mode 100644
index 00000000..9752771e
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-file.js
@@ -0,0 +1,97 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.parseJson = exports.readAndParseJson = exports.JSONFile = void 0;
+const fs_1 = require("fs");
+const jsonc_parser_1 = require("jsonc-parser");
+/** @internal */
+class JSONFile {
+ constructor(path) {
+ this.path = path;
+ const buffer = (0, fs_1.readFileSync)(this.path);
+ if (buffer) {
+ this.content = buffer.toString();
+ }
+ else {
+ throw new Error(`Could not read '${path}'.`);
+ }
+ }
+ get JsonAst() {
+ if (this._jsonAst) {
+ return this._jsonAst;
+ }
+ const errors = [];
+ this._jsonAst = (0, jsonc_parser_1.parseTree)(this.content, errors, { allowTrailingComma: true });
+ if (errors.length) {
+ formatError(this.path, errors);
+ }
+ return this._jsonAst;
+ }
+ get(jsonPath) {
+ const jsonAstNode = this.JsonAst;
+ if (!jsonAstNode) {
+ return undefined;
+ }
+ if (jsonPath.length === 0) {
+ return (0, jsonc_parser_1.getNodeValue)(jsonAstNode);
+ }
+ const node = (0, jsonc_parser_1.findNodeAtLocation)(jsonAstNode, jsonPath);
+ return node === undefined ? undefined : (0, jsonc_parser_1.getNodeValue)(node);
+ }
+ modify(jsonPath, value, insertInOrder) {
+ if (value === undefined && this.get(jsonPath) === undefined) {
+ // Cannot remove a value which doesn't exist.
+ return false;
+ }
+ let getInsertionIndex;
+ if (insertInOrder === undefined) {
+ const property = jsonPath.slice(-1)[0];
+ getInsertionIndex = (properties) => [...properties, property].sort().findIndex((p) => p === property);
+ }
+ else if (insertInOrder !== false) {
+ getInsertionIndex = insertInOrder;
+ }
+ const edits = (0, jsonc_parser_1.modify)(this.content, jsonPath, value, {
+ getInsertionIndex,
+ formattingOptions: {
+ insertSpaces: true,
+ tabSize: 2,
+ },
+ });
+ if (edits.length === 0) {
+ return false;
+ }
+ this.content = (0, jsonc_parser_1.applyEdits)(this.content, edits);
+ this._jsonAst = undefined;
+ return true;
+ }
+ save() {
+ (0, fs_1.writeFileSync)(this.path, this.content);
+ }
+}
+exports.JSONFile = JSONFile;
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function readAndParseJson(path) {
+ const errors = [];
+ const content = (0, jsonc_parser_1.parse)((0, fs_1.readFileSync)(path, 'utf-8'), errors, { allowTrailingComma: true });
+ if (errors.length) {
+ formatError(path, errors);
+ }
+ return content;
+}
+exports.readAndParseJson = readAndParseJson;
+function formatError(path, errors) {
+ const { error, offset } = errors[0];
+ throw new Error(`Failed to parse "${path}" as JSON AST Object. ${(0, jsonc_parser_1.printParseErrorCode)(error)} at location: ${offset}.`);
+}
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function parseJson(content) {
+ return (0, jsonc_parser_1.parse)(content, undefined, { allowTrailingComma: true });
+}
+exports.parseJson = parseJson;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.d.ts
new file mode 100644
index 00000000..8b75df91
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.d.ts
@@ -0,0 +1,17 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { BaseException, json } from '@angular-devkit/core';
+import { CommandDescription, Option, SubCommandDescription } from '../models/interface';
+export declare class CommandJsonPathException extends BaseException {
+ readonly path: string;
+ readonly name: string;
+ constructor(path: string, name: string);
+}
+export declare function parseJsonSchemaToSubCommandDescription(name: string, jsonPath: string, registry: json.schema.SchemaRegistry, schema: json.JsonObject): Promise<SubCommandDescription>;
+export declare function parseJsonSchemaToCommandDescription(name: string, jsonPath: string, registry: json.schema.SchemaRegistry, schema: json.JsonObject): Promise<CommandDescription>;
+export declare function parseJsonSchemaToOptions(registry: json.schema.SchemaRegistry, schema: json.JsonObject): Promise<Option[]>;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.js
new file mode 100644
index 00000000..bd24ee1e
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/json-schema.js
@@ -0,0 +1,245 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.parseJsonSchemaToOptions = exports.parseJsonSchemaToCommandDescription = exports.parseJsonSchemaToSubCommandDescription = exports.CommandJsonPathException = void 0;
+const core_1 = require("@angular-devkit/core");
+const tools_1 = require("@angular-devkit/schematics/tools");
+const fs_1 = require("fs");
+const path_1 = require("path");
+const interface_1 = require("../models/interface");
+class CommandJsonPathException extends core_1.BaseException {
+ constructor(path, name) {
+ super(`File ${path} was not found while constructing the subcommand ${name}.`);
+ this.path = path;
+ this.name = name;
+ }
+}
+exports.CommandJsonPathException = CommandJsonPathException;
+function _getEnumFromValue(value, enumeration, defaultValue) {
+ if (typeof value !== 'string') {
+ return defaultValue;
+ }
+ if (Object.values(enumeration).includes(value)) {
+ return value;
+ }
+ return defaultValue;
+}
+async function parseJsonSchemaToSubCommandDescription(name, jsonPath, registry, schema) {
+ const options = await parseJsonSchemaToOptions(registry, schema);
+ const aliases = [];
+ if (core_1.json.isJsonArray(schema.$aliases)) {
+ schema.$aliases.forEach((value) => {
+ if (typeof value == 'string') {
+ aliases.push(value);
+ }
+ });
+ }
+ if (core_1.json.isJsonArray(schema.aliases)) {
+ schema.aliases.forEach((value) => {
+ if (typeof value == 'string') {
+ aliases.push(value);
+ }
+ });
+ }
+ if (typeof schema.alias == 'string') {
+ aliases.push(schema.alias);
+ }
+ let longDescription = '';
+ if (typeof schema.$longDescription == 'string' && schema.$longDescription) {
+ const ldPath = (0, path_1.resolve)((0, path_1.dirname)(jsonPath), schema.$longDescription);
+ try {
+ longDescription = (0, fs_1.readFileSync)(ldPath, 'utf-8');
+ }
+ catch (e) {
+ throw new CommandJsonPathException(ldPath, name);
+ }
+ }
+ let usageNotes = '';
+ if (typeof schema.$usageNotes == 'string' && schema.$usageNotes) {
+ const unPath = (0, path_1.resolve)((0, path_1.dirname)(jsonPath), schema.$usageNotes);
+ try {
+ usageNotes = (0, fs_1.readFileSync)(unPath, 'utf-8');
+ }
+ catch (e) {
+ throw new CommandJsonPathException(unPath, name);
+ }
+ }
+ const description = '' + (schema.description === undefined ? '' : schema.description);
+ return {
+ name,
+ description,
+ ...(longDescription ? { longDescription } : {}),
+ ...(usageNotes ? { usageNotes } : {}),
+ options,
+ aliases,
+ };
+}
+exports.parseJsonSchemaToSubCommandDescription = parseJsonSchemaToSubCommandDescription;
+async function parseJsonSchemaToCommandDescription(name, jsonPath, registry, schema) {
+ const subcommand = await parseJsonSchemaToSubCommandDescription(name, jsonPath, registry, schema);
+ // Before doing any work, let's validate the implementation.
+ if (typeof schema.$impl != 'string') {
+ throw new Error(`Command ${name} has an invalid implementation.`);
+ }
+ const ref = new tools_1.ExportStringRef(schema.$impl, (0, path_1.dirname)(jsonPath));
+ const impl = ref.ref;
+ if (impl === undefined || typeof impl !== 'function') {
+ throw new Error(`Command ${name} has an invalid implementation.`);
+ }
+ const scope = _getEnumFromValue(schema.$scope, interface_1.CommandScope, interface_1.CommandScope.Default);
+ const hidden = !!schema.$hidden;
+ return {
+ ...subcommand,
+ scope,
+ hidden,
+ impl,
+ };
+}
+exports.parseJsonSchemaToCommandDescription = parseJsonSchemaToCommandDescription;
+async function parseJsonSchemaToOptions(registry, schema) {
+ const options = [];
+ function visitor(current, pointer, parentSchema) {
+ if (!parentSchema) {
+ // Ignore root.
+ return;
+ }
+ else if (pointer.split(/\/(?:properties|items|definitions)\//g).length > 2) {
+ // Ignore subitems (objects or arrays).
+ return;
+ }
+ else if (core_1.json.isJsonArray(current)) {
+ return;
+ }
+ if (pointer.indexOf('/not/') != -1) {
+ // We don't support anyOf/not.
+ throw new Error('The "not" keyword is not supported in JSON Schema.');
+ }
+ const ptr = core_1.json.schema.parseJsonPointer(pointer);
+ const name = ptr[ptr.length - 1];
+ if (ptr[ptr.length - 2] != 'properties') {
+ // Skip any non-property items.
+ return;
+ }
+ const typeSet = core_1.json.schema.getTypesOfSchema(current);
+ if (typeSet.size == 0) {
+ throw new Error('Cannot find type of schema.');
+ }
+ // We only support number, string or boolean (or array of those), so remove everything else.
+ const types = [...typeSet]
+ .filter((x) => {
+ switch (x) {
+ case 'boolean':
+ case 'number':
+ case 'string':
+ return true;
+ case 'array':
+ // Only include arrays if they're boolean, string or number.
+ if (core_1.json.isJsonObject(current.items) &&
+ typeof current.items.type == 'string' &&
+ ['boolean', 'number', 'string'].includes(current.items.type)) {
+ return true;
+ }
+ return false;
+ default:
+ return false;
+ }
+ })
+ .map((x) => _getEnumFromValue(x, interface_1.OptionType, interface_1.OptionType.String));
+ if (types.length == 0) {
+ // This means it's not usable on the command line. e.g. an Object.
+ return;
+ }
+ // Only keep enum values we support (booleans, numbers and strings).
+ const enumValues = ((core_1.json.isJsonArray(current.enum) && current.enum) || []).filter((x) => {
+ switch (typeof x) {
+ case 'boolean':
+ case 'number':
+ case 'string':
+ return true;
+ default:
+ return false;
+ }
+ });
+ let defaultValue = undefined;
+ if (current.default !== undefined) {
+ switch (types[0]) {
+ case 'string':
+ if (typeof current.default == 'string') {
+ defaultValue = current.default;
+ }
+ break;
+ case 'number':
+ if (typeof current.default == 'number') {
+ defaultValue = current.default;
+ }
+ break;
+ case 'boolean':
+ if (typeof current.default == 'boolean') {
+ defaultValue = current.default;
+ }
+ break;
+ }
+ }
+ const type = types[0];
+ const $default = current.$default;
+ const $defaultIndex = core_1.json.isJsonObject($default) && $default['$source'] == 'argv' ? $default['index'] : undefined;
+ const positional = typeof $defaultIndex == 'number' ? $defaultIndex : undefined;
+ const required = core_1.json.isJsonArray(current.required)
+ ? current.required.indexOf(name) != -1
+ : false;
+ const aliases = core_1.json.isJsonArray(current.aliases)
+ ? [...current.aliases].map((x) => '' + x)
+ : current.alias
+ ? ['' + current.alias]
+ : [];
+ const format = typeof current.format == 'string' ? current.format : undefined;
+ const visible = current.visible === undefined || current.visible === true;
+ const hidden = !!current.hidden || !visible;
+ const xUserAnalytics = current['x-user-analytics'];
+ const userAnalytics = typeof xUserAnalytics == 'number' ? xUserAnalytics : undefined;
+ // Deprecated is set only if it's true or a string.
+ const xDeprecated = current['x-deprecated'];
+ const deprecated = xDeprecated === true || typeof xDeprecated === 'string' ? xDeprecated : undefined;
+ const option = {
+ name,
+ description: '' + (current.description === undefined ? '' : current.description),
+ ...(types.length == 1 ? { type } : { type, types }),
+ ...(defaultValue !== undefined ? { default: defaultValue } : {}),
+ ...(enumValues && enumValues.length > 0 ? { enum: enumValues } : {}),
+ required,
+ aliases,
+ ...(format !== undefined ? { format } : {}),
+ hidden,
+ ...(userAnalytics ? { userAnalytics } : {}),
+ ...(deprecated !== undefined ? { deprecated } : {}),
+ ...(positional !== undefined ? { positional } : {}),
+ };
+ options.push(option);
+ }
+ const flattenedSchema = await registry.flatten(schema).toPromise();
+ core_1.json.schema.visitJsonSchema(flattenedSchema, visitor);
+ // Sort by positional.
+ return options.sort((a, b) => {
+ if (a.positional) {
+ if (b.positional) {
+ return a.positional - b.positional;
+ }
+ else {
+ return 1;
+ }
+ }
+ else if (b.positional) {
+ return -1;
+ }
+ else {
+ return 0;
+ }
+ });
+}
+exports.parseJsonSchemaToOptions = parseJsonSchemaToOptions;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.d.ts
new file mode 100644
index 00000000..91f0bebd
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.d.ts
@@ -0,0 +1,13 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * Writes an Error to a temporary log file.
+ * If this method is called multiple times from the same process the same log file will be used.
+ * @returns The path of the generated log file.
+ */
+export declare function writeErrorToLogFile(error: Error): string;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.js
new file mode 100644
index 00000000..174255f3
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/log-file.js
@@ -0,0 +1,28 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.writeErrorToLogFile = void 0;
+const fs_1 = require("fs");
+const os_1 = require("os");
+const path_1 = require("path");
+let logPath;
+/**
+ * Writes an Error to a temporary log file.
+ * If this method is called multiple times from the same process the same log file will be used.
+ * @returns The path of the generated log file.
+ */
+function writeErrorToLogFile(error) {
+ if (!logPath) {
+ const tempDirectory = (0, fs_1.mkdtempSync)((0, fs_1.realpathSync)((0, os_1.tmpdir)()) + '/ng-');
+ logPath = (0, path_1.normalize)(tempDirectory + '/angular-errors.log');
+ }
+ (0, fs_1.appendFileSync)(logPath, '[error] ' + (error.stack || error) + '\n\n');
+ return logPath;
+}
+exports.writeErrorToLogFile = writeErrorToLogFile;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.d.ts
new file mode 100644
index 00000000..2f45d6a4
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.d.ts
@@ -0,0 +1,249 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * This file was automatically generated by json-schema-to-typescript.
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
+ * and run json-schema-to-typescript to regenerate this file.
+ */
+export declare type JsonSchemaForNpmPackageJsonFiles = CoreProperties & JspmDefinition & ({
+ bundleDependencies?: BundledDependency;
+ [k: string]: any;
+} | {
+ bundledDependencies?: BundledDependency;
+ [k: string]: any;
+}) & {
+ [k: string]: any;
+};
+/**
+ * A person who has been involved in creating or maintaining this package
+ */
+export declare type Person = {
+ [k: string]: any;
+} | string;
+/**
+ * Run AFTER the package is published
+ */
+export declare type ScriptsPublishAfter = string;
+/**
+ * Run AFTER the package is installed
+ */
+export declare type ScriptsInstallAfter = string;
+/**
+ * Run BEFORE the package is uninstalled
+ */
+export declare type ScriptsUninstallBefore = string;
+/**
+ * Run BEFORE bump the package version
+ */
+export declare type ScriptsVersionBefore = string;
+/**
+ * Run by the 'npm test' command
+ */
+export declare type ScriptsTest = string;
+/**
+ * Run by the 'npm stop' command
+ */
+export declare type ScriptsStop = string;
+/**
+ * Run by the 'npm start' command
+ */
+export declare type ScriptsStart = string;
+/**
+ * Run by the 'npm restart' command. Note: 'npm restart' will run the stop and start scripts if no restart script is provided.
+ */
+export declare type ScriptsRestart = string;
+/**
+ * Array of package names that will be bundled when publishing the package.
+ */
+export declare type BundledDependency = string[];
+export interface CoreProperties {
+ /**
+ * The name of the package.
+ */
+ name?: string;
+ /**
+ * Version must be parseable by node-semver, which is bundled with npm as a dependency.
+ */
+ version?: string;
+ /**
+ * This helps people discover your package, as it's listed in 'npm search'.
+ */
+ description?: string;
+ /**
+ * This helps people discover your package as it's listed in 'npm search'.
+ */
+ keywords?: string[];
+ /**
+ * The url to the project homepage.
+ */
+ homepage?: string;
+ /**
+ * The url to your project's issue tracker and / or the email address to which issues should be reported. These are helpful for people who encounter issues with your package.
+ */
+ bugs?: {
+ [k: string]: any;
+ } | string;
+ /**
+ * You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it.
+ */
+ license?: string;
+ /**
+ * You should specify a license for your package so that people know how they are permitted to use it, and any restrictions you're placing on it.
+ */
+ licenses?: {
+ type?: string;
+ url?: string;
+ [k: string]: any;
+ }[];
+ author?: Person;
+ /**
+ * A list of people who contributed to this package.
+ */
+ contributors?: Person[];
+ /**
+ * A list of people who maintains this package.
+ */
+ maintainers?: Person[];
+ /**
+ * The 'files' field is an array of files to include in your project. If you name a folder in the array, then it will also include the files inside that folder.
+ */
+ files?: string[];
+ /**
+ * The main field is a module ID that is the primary entry point to your program.
+ */
+ main?: string;
+ bin?: string | {
+ [k: string]: any;
+ };
+ /**
+ * Specify either a single file or an array of filenames to put in place for the man program to find.
+ */
+ man?: string[];
+ directories?: {
+ /**
+ * If you specify a 'bin' directory, then all the files in that folder will be used as the 'bin' hash.
+ */
+ bin?: string;
+ /**
+ * Put markdown files in here. Eventually, these will be displayed nicely, maybe, someday.
+ */
+ doc?: string;
+ /**
+ * Put example scripts in here. Someday, it might be exposed in some clever way.
+ */
+ example?: string;
+ /**
+ * Tell people where the bulk of your library is. Nothing special is done with the lib folder in any way, but it's useful meta info.
+ */
+ lib?: string;
+ /**
+ * A folder that is full of man pages. Sugar to generate a 'man' array by walking the folder.
+ */
+ man?: string;
+ test?: string;
+ [k: string]: any;
+ };
+ /**
+ * Specify the place where your code lives. This is helpful for people who want to contribute.
+ */
+ repository?: {
+ [k: string]: any;
+ } | string;
+ /**
+ * The 'scripts' member is an object hash of script commands that are run at various times in the lifecycle of your package. The key is the lifecycle event, and the value is the command to run at that point.
+ */
+ scripts?: {
+ /**
+ * Run BEFORE the package is published (Also run on local npm install without any arguments)
+ */
+ prepublish?: string;
+ publish?: ScriptsPublishAfter;
+ postpublish?: ScriptsPublishAfter;
+ /**
+ * Run BEFORE the package is installed
+ */
+ preinstall?: string;
+ install?: ScriptsInstallAfter;
+ postinstall?: ScriptsInstallAfter;
+ preuninstall?: ScriptsUninstallBefore;
+ uninstall?: ScriptsUninstallBefore;
+ /**
+ * Run AFTER the package is uninstalled
+ */
+ postuninstall?: string;
+ preversion?: ScriptsVersionBefore;
+ version?: ScriptsVersionBefore;
+ /**
+ * Run AFTER bump the package version
+ */
+ postversion?: string;
+ pretest?: ScriptsTest;
+ test?: ScriptsTest;
+ posttest?: ScriptsTest;
+ prestop?: ScriptsStop;
+ stop?: ScriptsStop;
+ poststop?: ScriptsStop;
+ prestart?: ScriptsStart;
+ start?: ScriptsStart;
+ poststart?: ScriptsStart;
+ prerestart?: ScriptsRestart;
+ restart?: ScriptsRestart;
+ postrestart?: ScriptsRestart;
+ [k: string]: string | undefined;
+ };
+ /**
+ * A 'config' hash can be used to set configuration parameters used in package scripts that persist across upgrades.
+ */
+ config?: {
+ [k: string]: any;
+ };
+ dependencies?: Dependency;
+ devDependencies?: Dependency;
+ optionalDependencies?: Dependency;
+ peerDependencies?: Dependency;
+ engines?: {
+ [k: string]: string;
+ };
+ engineStrict?: boolean;
+ /**
+ * You can specify which operating systems your module will run on
+ */
+ os?: string[];
+ /**
+ * If your code only runs on certain cpu architectures, you can specify which ones.
+ */
+ cpu?: string[];
+ /**
+ * If your package is primarily a command-line application that should be installed globally, then set this value to true to provide a warning if it is installed locally.
+ */
+ preferGlobal?: boolean;
+ /**
+ * If set to true, then npm will refuse to publish it.
+ */
+ private?: boolean;
+ publishConfig?: {
+ [k: string]: any;
+ };
+ dist?: {
+ shasum?: string;
+ tarball?: string;
+ [k: string]: any;
+ };
+ readme?: string;
+ [k: string]: any;
+}
+/**
+ * Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL.
+ */
+export interface Dependency {
+ [k: string]: string;
+}
+export interface JspmDefinition {
+ jspm?: CoreProperties;
+ [k: string]: any;
+}
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.js
new file mode 100644
index 00000000..b599b96d
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-json.js
@@ -0,0 +1,9 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.d.ts
new file mode 100644
index 00000000..7a10bc78
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.d.ts
@@ -0,0 +1,15 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { PackageManager } from '../lib/config/workspace-schema';
+export declare function supportsYarn(): boolean;
+export declare function supportsNpm(): boolean;
+export declare function getPackageManager(root: string): Promise<PackageManager>;
+/**
+ * Checks if the npm version is a supported 7.x version. If not, display a warning.
+ */
+export declare function ensureCompatibleNpm(root: string): Promise<void>;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.js
new file mode 100644
index 00000000..5bd7fd34
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-manager.js
@@ -0,0 +1,83 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ensureCompatibleNpm = exports.getPackageManager = exports.supportsNpm = exports.supportsYarn = void 0;
+const child_process_1 = require("child_process");
+const fs_1 = require("fs");
+const path_1 = require("path");
+const semver_1 = require("semver");
+const workspace_schema_1 = require("../lib/config/workspace-schema");
+const config_1 = require("./config");
+function supports(name) {
+ try {
+ (0, child_process_1.execSync)(`${name} --version`, { stdio: 'ignore' });
+ return true;
+ }
+ catch {
+ return false;
+ }
+}
+function supportsYarn() {
+ return supports('yarn');
+}
+exports.supportsYarn = supportsYarn;
+function supportsNpm() {
+ return supports('npm');
+}
+exports.supportsNpm = supportsNpm;
+async function getPackageManager(root) {
+ let packageManager = (await (0, config_1.getConfiguredPackageManager)());
+ if (packageManager) {
+ return packageManager;
+ }
+ const hasYarn = supportsYarn();
+ const hasYarnLock = (0, fs_1.existsSync)((0, path_1.join)(root, 'yarn.lock'));
+ const hasNpm = supportsNpm();
+ const hasNpmLock = (0, fs_1.existsSync)((0, path_1.join)(root, 'package-lock.json'));
+ if (hasYarn && hasYarnLock && !hasNpmLock) {
+ packageManager = workspace_schema_1.PackageManager.Yarn;
+ }
+ else if (hasNpm && hasNpmLock && !hasYarnLock) {
+ packageManager = workspace_schema_1.PackageManager.Npm;
+ }
+ else if (hasYarn && !hasNpm) {
+ packageManager = workspace_schema_1.PackageManager.Yarn;
+ }
+ else if (hasNpm && !hasYarn) {
+ packageManager = workspace_schema_1.PackageManager.Npm;
+ }
+ // TODO: This should eventually inform the user of ambiguous package manager usage.
+ // Potentially with a prompt to choose and optionally set as the default.
+ return packageManager || workspace_schema_1.PackageManager.Npm;
+}
+exports.getPackageManager = getPackageManager;
+/**
+ * Checks if the npm version is a supported 7.x version. If not, display a warning.
+ */
+async function ensureCompatibleNpm(root) {
+ if ((await getPackageManager(root)) !== workspace_schema_1.PackageManager.Npm) {
+ return;
+ }
+ try {
+ const versionText = (0, child_process_1.execSync)('npm --version', { encoding: 'utf8', stdio: 'pipe' }).trim();
+ const version = (0, semver_1.valid)(versionText);
+ if (!version) {
+ return;
+ }
+ if ((0, semver_1.satisfies)(version, '>=7 <7.5.6')) {
+ // eslint-disable-next-line no-console
+ console.warn(`npm version ${version} detected.` +
+ ' When using npm 7 with the Angular CLI, npm version 7.5.6 or higher is recommended.');
+ }
+ }
+ catch {
+ // npm is not installed
+ }
+}
+exports.ensureCompatibleNpm = ensureCompatibleNpm;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.d.ts
new file mode 100644
index 00000000..bb1b7fb7
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.d.ts
@@ -0,0 +1,76 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { logging } from '@angular-devkit/core';
+import { JsonSchemaForNpmPackageJsonFiles } from './package-json';
+export interface NpmRepositoryPackageJson {
+ name: string;
+ requestedName: string;
+ description: string;
+ 'dist-tags': {
+ [name: string]: string;
+ };
+ versions: {
+ [version: string]: JsonSchemaForNpmPackageJsonFiles;
+ };
+ time: {
+ modified: string;
+ created: string;
+ [version: string]: string;
+ };
+}
+export declare type NgAddSaveDepedency = 'dependencies' | 'devDependencies' | boolean;
+export interface PackageIdentifier {
+ type: 'git' | 'tag' | 'version' | 'range' | 'file' | 'directory' | 'remote';
+ name: string;
+ scope: string | null;
+ registry: boolean;
+ raw: string;
+ fetchSpec: string;
+ rawSpec: string;
+}
+export interface PackageManifest {
+ name: string;
+ version: string;
+ license?: string;
+ private?: boolean;
+ deprecated?: boolean;
+ dependencies: Record<string, string>;
+ devDependencies: Record<string, string>;
+ peerDependencies: Record<string, string>;
+ optionalDependencies: Record<string, string>;
+ 'ng-add'?: {
+ save?: NgAddSaveDepedency;
+ };
+ 'ng-update'?: {
+ migrations: string;
+ packageGroup: Record<string, string>;
+ };
+}
+export interface PackageMetadata {
+ name: string;
+ tags: {
+ [tag: string]: PackageManifest | undefined;
+ };
+ versions: Record<string, PackageManifest>;
+ 'dist-tags'?: unknown;
+}
+export declare function fetchPackageMetadata(name: string, logger: logging.LoggerApi, options?: {
+ registry?: string;
+ usingYarn?: boolean;
+ verbose?: boolean;
+}): Promise<PackageMetadata>;
+export declare function fetchPackageManifest(name: string, logger: logging.LoggerApi, options?: {
+ registry?: string;
+ usingYarn?: boolean;
+ verbose?: boolean;
+}): Promise<PackageManifest>;
+export declare function getNpmPackageJson(packageName: string, logger: logging.LoggerApi, options?: {
+ registry?: string;
+ usingYarn?: boolean;
+ verbose?: boolean;
+}): Promise<Partial<NpmRepositoryPackageJson>>;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.js
new file mode 100644
index 00000000..a6053c6b
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-metadata.js
@@ -0,0 +1,250 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.getNpmPackageJson = exports.fetchPackageManifest = exports.fetchPackageMetadata = void 0;
+const lockfile = __importStar(require("@yarnpkg/lockfile"));
+const fs_1 = require("fs");
+const ini = __importStar(require("ini"));
+const os_1 = require("os");
+const pacote = __importStar(require("pacote"));
+const path = __importStar(require("path"));
+const npmPackageJsonCache = new Map();
+let npmrc;
+function ensureNpmrc(logger, usingYarn, verbose) {
+ if (!npmrc) {
+ try {
+ npmrc = readOptions(logger, false, verbose);
+ }
+ catch { }
+ if (usingYarn) {
+ try {
+ npmrc = { ...npmrc, ...readOptions(logger, true, verbose) };
+ }
+ catch { }
+ }
+ }
+}
+function readOptions(logger, yarn = false, showPotentials = false) {
+ const cwd = process.cwd();
+ const baseFilename = yarn ? 'yarnrc' : 'npmrc';
+ const dotFilename = '.' + baseFilename;
+ let globalPrefix;
+ if (process.env.PREFIX) {
+ globalPrefix = process.env.PREFIX;
+ }
+ else {
+ globalPrefix = path.dirname(process.execPath);
+ if (process.platform !== 'win32') {
+ globalPrefix = path.dirname(globalPrefix);
+ }
+ }
+ const defaultConfigLocations = [
+ (!yarn && process.env.NPM_CONFIG_GLOBALCONFIG) || path.join(globalPrefix, 'etc', baseFilename),
+ (!yarn && process.env.NPM_CONFIG_USERCONFIG) || path.join((0, os_1.homedir)(), dotFilename),
+ ];
+ const projectConfigLocations = [path.join(cwd, dotFilename)];
+ if (yarn) {
+ const root = path.parse(cwd).root;
+ for (let curDir = path.dirname(cwd); curDir && curDir !== root; curDir = path.dirname(curDir)) {
+ projectConfigLocations.unshift(path.join(curDir, dotFilename));
+ }
+ }
+ if (showPotentials) {
+ logger.info(`Locating potential ${baseFilename} files:`);
+ }
+ let rcOptions = {};
+ for (const location of [...defaultConfigLocations, ...projectConfigLocations]) {
+ if ((0, fs_1.existsSync)(location)) {
+ if (showPotentials) {
+ logger.info(`Trying '${location}'...found.`);
+ }
+ const data = (0, fs_1.readFileSync)(location, 'utf8');
+ // Normalize RC options that are needed by 'npm-registry-fetch'.
+ // See: https://github.com/npm/npm-registry-fetch/blob/ebddbe78a5f67118c1f7af2e02c8a22bcaf9e850/index.js#L99-L126
+ const rcConfig = yarn ? lockfile.parse(data) : ini.parse(data);
+ rcOptions = normalizeOptions(rcConfig, location, rcOptions);
+ }
+ }
+ const envVariablesOptions = {};
+ for (const [key, value] of Object.entries(process.env)) {
+ if (!value) {
+ continue;
+ }
+ let normalizedName = key.toLowerCase();
+ if (normalizedName.startsWith('npm_config_')) {
+ normalizedName = normalizedName.substring(11);
+ }
+ else if (yarn && normalizedName.startsWith('yarn_')) {
+ normalizedName = normalizedName.substring(5);
+ }
+ else {
+ continue;
+ }
+ normalizedName = normalizedName.replace(/(?!^)_/g, '-'); // don't replace _ at the start of the key.s
+ envVariablesOptions[normalizedName] = value;
+ }
+ return normalizeOptions(envVariablesOptions, undefined, rcOptions);
+}
+function normalizeOptions(rawOptions, location = process.cwd(), existingNormalizedOptions = {}) {
+ var _a;
+ const options = { ...existingNormalizedOptions };
+ for (const [key, value] of Object.entries(rawOptions)) {
+ let substitutedValue = value;
+ // Substitute any environment variable references.
+ if (typeof value === 'string') {
+ substitutedValue = value.replace(/\$\{([^}]+)\}/, (_, name) => process.env[name] || '');
+ }
+ switch (key) {
+ // Unless auth options are scope with the registry url it appears that npm-registry-fetch ignores them,
+ // even though they are documented.
+ // https://github.com/npm/npm-registry-fetch/blob/8954f61d8d703e5eb7f3d93c9b40488f8b1b62ac/README.md
+ // https://github.com/npm/npm-registry-fetch/blob/8954f61d8d703e5eb7f3d93c9b40488f8b1b62ac/auth.js#L45-L91
+ case '_authToken':
+ case 'token':
+ case 'username':
+ case 'password':
+ case '_auth':
+ case 'auth':
+ (_a = options['forceAuth']) !== null && _a !== void 0 ? _a : (options['forceAuth'] = {});
+ options['forceAuth'][key] = substitutedValue;
+ break;
+ case 'noproxy':
+ case 'no-proxy':
+ options['noProxy'] = substitutedValue;
+ break;
+ case 'maxsockets':
+ options['maxSockets'] = substitutedValue;
+ break;
+ case 'https-proxy':
+ case 'proxy':
+ options['proxy'] = substitutedValue;
+ break;
+ case 'strict-ssl':
+ options['strictSSL'] = substitutedValue;
+ break;
+ case 'local-address':
+ options['localAddress'] = substitutedValue;
+ break;
+ case 'cafile':
+ if (typeof substitutedValue === 'string') {
+ const cafile = path.resolve(path.dirname(location), substitutedValue);
+ try {
+ options['ca'] = (0, fs_1.readFileSync)(cafile, 'utf8').replace(/\r?\n/g, '\n');
+ }
+ catch { }
+ }
+ break;
+ default:
+ options[key] = substitutedValue;
+ break;
+ }
+ }
+ return options;
+}
+function normalizeManifest(rawManifest) {
+ // TODO: Fully normalize and sanitize
+ return {
+ dependencies: {},
+ devDependencies: {},
+ peerDependencies: {},
+ optionalDependencies: {},
+ ...rawManifest,
+ };
+}
+async function fetchPackageMetadata(name, logger, options) {
+ const { usingYarn, verbose, registry } = {
+ registry: undefined,
+ usingYarn: false,
+ verbose: false,
+ ...options,
+ };
+ ensureNpmrc(logger, usingYarn, verbose);
+ const response = await pacote.packument(name, {
+ fullMetadata: true,
+ ...npmrc,
+ ...(registry ? { registry } : {}),
+ });
+ // Normalize the response
+ const metadata = {
+ name: response.name,
+ tags: {},
+ versions: {},
+ };
+ if (response.versions) {
+ for (const [version, manifest] of Object.entries(response.versions)) {
+ metadata.versions[version] = normalizeManifest(manifest);
+ }
+ }
+ if (response['dist-tags']) {
+ // Store this for use with other npm utility packages
+ metadata['dist-tags'] = response['dist-tags'];
+ for (const [tag, version] of Object.entries(response['dist-tags'])) {
+ const manifest = metadata.versions[version];
+ if (manifest) {
+ metadata.tags[tag] = manifest;
+ }
+ else if (verbose) {
+ logger.warn(`Package ${metadata.name} has invalid version metadata for '${tag}'.`);
+ }
+ }
+ }
+ return metadata;
+}
+exports.fetchPackageMetadata = fetchPackageMetadata;
+async function fetchPackageManifest(name, logger, options = {}) {
+ const { usingYarn = false, verbose = false, registry } = options;
+ ensureNpmrc(logger, usingYarn, verbose);
+ const response = await pacote.manifest(name, {
+ fullMetadata: true,
+ ...npmrc,
+ ...(registry ? { registry } : {}),
+ });
+ return normalizeManifest(response);
+}
+exports.fetchPackageManifest = fetchPackageManifest;
+function getNpmPackageJson(packageName, logger, options = {}) {
+ const cachedResponse = npmPackageJsonCache.get(packageName);
+ if (cachedResponse) {
+ return cachedResponse;
+ }
+ const { usingYarn = false, verbose = false, registry } = options;
+ ensureNpmrc(logger, usingYarn, verbose);
+ const resultPromise = pacote.packument(packageName, {
+ fullMetadata: true,
+ ...npmrc,
+ ...(registry ? { registry } : {}),
+ });
+ // TODO: find some way to test this
+ const response = resultPromise.catch((err) => {
+ logger.warn(err.message || err);
+ return { requestedName: packageName };
+ });
+ npmPackageJsonCache.set(packageName, response);
+ return response;
+}
+exports.getNpmPackageJson = getNpmPackageJson;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.d.ts
new file mode 100644
index 00000000..433a0d72
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.d.ts
@@ -0,0 +1,32 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { NgAddSaveDepedency } from './package-metadata';
+interface PackageJson {
+ name: string;
+ version: string;
+ dependencies?: Record<string, string>;
+ devDependencies?: Record<string, string>;
+ peerDependencies?: Record<string, string>;
+ optionalDependencies?: Record<string, string>;
+ 'ng-update'?: {
+ migrations?: string;
+ };
+ 'ng-add'?: {
+ save?: NgAddSaveDepedency;
+ };
+}
+export interface PackageTreeNode {
+ name: string;
+ version: string;
+ path: string;
+ package: PackageJson | undefined;
+}
+export declare function readPackageJson(packageJsonPath: string): Promise<PackageJson | undefined>;
+export declare function findPackageJson(workspaceDir: string, packageName: string): string | undefined;
+export declare function getProjectDependencies(dir: string): Promise<Map<string, PackageTreeNode>>;
+export {};
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.js
new file mode 100644
index 00000000..c381491f
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/package-tree.js
@@ -0,0 +1,81 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.getProjectDependencies = exports.findPackageJson = exports.readPackageJson = void 0;
+const fs = __importStar(require("fs"));
+const path_1 = require("path");
+const resolve = __importStar(require("resolve"));
+function getAllDependencies(pkg) {
+ return new Set([
+ ...Object.entries(pkg.dependencies || []),
+ ...Object.entries(pkg.devDependencies || []),
+ ...Object.entries(pkg.peerDependencies || []),
+ ...Object.entries(pkg.optionalDependencies || []),
+ ]);
+}
+async function readPackageJson(packageJsonPath) {
+ try {
+ return JSON.parse((await fs.promises.readFile(packageJsonPath)).toString());
+ }
+ catch {
+ return undefined;
+ }
+}
+exports.readPackageJson = readPackageJson;
+function findPackageJson(workspaceDir, packageName) {
+ try {
+ // avoid require.resolve here, see: https://github.com/angular/angular-cli/pull/18610#issuecomment-681980185
+ const packageJsonPath = resolve.sync(`${packageName}/package.json`, { basedir: workspaceDir });
+ return packageJsonPath;
+ }
+ catch {
+ return undefined;
+ }
+}
+exports.findPackageJson = findPackageJson;
+async function getProjectDependencies(dir) {
+ const pkg = await readPackageJson((0, path_1.join)(dir, 'package.json'));
+ if (!pkg) {
+ throw new Error('Could not find package.json');
+ }
+ const results = new Map();
+ for (const [name, version] of getAllDependencies(pkg)) {
+ const packageJsonPath = findPackageJson(dir, name);
+ if (!packageJsonPath) {
+ continue;
+ }
+ results.set(name, {
+ name,
+ version,
+ path: (0, path_1.dirname)(packageJsonPath),
+ package: await readPackageJson(packageJsonPath),
+ });
+ }
+ return results;
+}
+exports.getProjectDependencies = getProjectDependencies;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.d.ts
new file mode 100644
index 00000000..8c3b4725
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export declare function findWorkspaceFile(currentDirectory?: string): string | null;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.js
new file mode 100644
index 00000000..27ec1ca6
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/project.js
@@ -0,0 +1,73 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.findWorkspaceFile = void 0;
+const core_1 = require("@angular-devkit/core");
+const fs = __importStar(require("fs"));
+const os = __importStar(require("os"));
+const path = __importStar(require("path"));
+const find_up_1 = require("./find-up");
+function findWorkspaceFile(currentDirectory = process.cwd()) {
+ const possibleConfigFiles = [
+ 'angular.json',
+ '.angular.json',
+ 'angular-cli.json',
+ '.angular-cli.json',
+ ];
+ const configFilePath = (0, find_up_1.findUp)(possibleConfigFiles, currentDirectory);
+ if (configFilePath === null) {
+ return null;
+ }
+ const possibleDir = path.dirname(configFilePath);
+ const homedir = os.homedir();
+ if ((0, core_1.normalize)(possibleDir) === (0, core_1.normalize)(homedir)) {
+ const packageJsonPath = path.join(possibleDir, 'package.json');
+ try {
+ const packageJsonText = fs.readFileSync(packageJsonPath, 'utf-8');
+ const packageJson = JSON.parse(packageJsonText);
+ if (!containsCliDep(packageJson)) {
+ // No CLI dependency
+ return null;
+ }
+ }
+ catch {
+ // No or invalid package.json
+ return null;
+ }
+ }
+ return configFilePath;
+}
+exports.findWorkspaceFile = findWorkspaceFile;
+function containsCliDep(obj) {
+ var _a, _b;
+ const pkgName = '@angular/cli';
+ if (!obj) {
+ return false;
+ }
+ return !!(((_a = obj.dependencies) === null || _a === void 0 ? void 0 : _a[pkgName]) || ((_b = obj.devDependencies) === null || _b === void 0 ? void 0 : _b[pkgName]));
+}
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.d.ts
new file mode 100644
index 00000000..39f3c789
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export declare function askConfirmation(message: string, defaultResponse: boolean, noTTYResponse?: boolean): Promise<boolean>;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.js
new file mode 100644
index 00000000..1ea868ba
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/prompt.js
@@ -0,0 +1,46 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (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 });
+exports.askConfirmation = void 0;
+const inquirer = __importStar(require("inquirer"));
+const tty_1 = require("./tty");
+async function askConfirmation(message, defaultResponse, noTTYResponse) {
+ if (!(0, tty_1.isTTY)()) {
+ return noTTYResponse !== null && noTTYResponse !== void 0 ? noTTYResponse : defaultResponse;
+ }
+ const question = {
+ type: 'confirm',
+ name: 'confirmation',
+ prefix: '',
+ message,
+ default: defaultResponse,
+ };
+ const answers = await inquirer.prompt([question]);
+ return answers['confirmation'];
+}
+exports.askConfirmation = askConfirmation;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.d.ts
new file mode 100644
index 00000000..5eede116
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.d.ts
@@ -0,0 +1,20 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export declare class Spinner {
+ private readonly spinner;
+ /** When false, only fail messages will be displayed. */
+ enabled: boolean;
+ constructor(text?: string);
+ set text(text: string);
+ succeed(text?: string): void;
+ info(text?: string): void;
+ fail(text?: string): void;
+ warn(text?: string): void;
+ stop(): void;
+ start(text?: string): void;
+}
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.js
new file mode 100644
index 00000000..64074fad
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/spinner.js
@@ -0,0 +1,54 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Spinner = void 0;
+const ora_1 = __importDefault(require("ora"));
+const color_1 = require("./color");
+class Spinner {
+ constructor(text) {
+ /** When false, only fail messages will be displayed. */
+ this.enabled = true;
+ this.spinner = (0, ora_1.default)({
+ text,
+ // The below 2 options are needed because otherwise CTRL+C will be delayed
+ // when the underlying process is sync.
+ hideCursor: false,
+ discardStdin: false,
+ });
+ }
+ set text(text) {
+ this.spinner.text = text;
+ }
+ succeed(text) {
+ if (this.enabled) {
+ this.spinner.succeed(text);
+ }
+ }
+ info(text) {
+ this.spinner.info(text);
+ }
+ fail(text) {
+ this.spinner.fail(text && color_1.colors.redBright(text));
+ }
+ warn(text) {
+ this.spinner.warn(text && color_1.colors.yellowBright(text));
+ }
+ stop() {
+ this.spinner.stop();
+ }
+ start(text) {
+ if (this.enabled) {
+ this.spinner.start(text);
+ }
+ }
+}
+exports.Spinner = Spinner;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.d.ts b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.d.ts
new file mode 100644
index 00000000..c38ca880
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export declare function isTTY(): boolean;
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.js
new file mode 100644
index 00000000..70ea8d5d
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular/cli/utilities/tty.js
@@ -0,0 +1,23 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isTTY = void 0;
+function _isTruthy(value) {
+ // Returns true if value is a string that is anything but 0 or false.
+ return value !== undefined && value !== '0' && value.toUpperCase() !== 'FALSE';
+}
+function isTTY() {
+ // If we force TTY, we always return true.
+ const force = process.env['NG_FORCE_TTY'];
+ if (force !== undefined) {
+ return _isTruthy(force);
+ }
+ return !!process.stdout.isTTY && !_isTruthy(process.env['CI']);
+}
+exports.isTTY = isTTY;