aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-01 22:05:25 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-01 22:05:25 +0100
commit6555fb80fdd8f6a5d201efadec3189d1244830a0 (patch)
treec1aa1c5aedc634ad1ea7fad4847884d559b51290 /sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js
parent7d3640f824f46490b47bd95f1c5a16644f712068 (diff)
Izbrisala bin, obj i node-modules.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js339
1 files changed, 0 insertions, 339 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js b/sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js
deleted file mode 100644
index aa9f5e05..00000000
--- a/sandbox/testAppNevena/Front/node_modules/@angular/cli/commands/add-impl.js
+++ /dev/null
@@ -1,339 +0,0 @@
-"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.AddCommand = void 0;
-const core_1 = require("@angular-devkit/core");
-const tools_1 = require("@angular-devkit/schematics/tools");
-const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
-const path_1 = require("path");
-const semver_1 = require("semver");
-const workspace_schema_1 = require("../lib/config/workspace-schema");
-const analytics_1 = require("../models/analytics");
-const schematic_command_1 = require("../models/schematic-command");
-const color_1 = require("../utilities/color");
-const install_package_1 = require("../utilities/install-package");
-const package_manager_1 = require("../utilities/package-manager");
-const package_metadata_1 = require("../utilities/package-metadata");
-const prompt_1 = require("../utilities/prompt");
-const spinner_1 = require("../utilities/spinner");
-const tty_1 = require("../utilities/tty");
-/**
- * The set of packages that should have certain versions excluded from consideration
- * when attempting to find a compatible version for a package.
- * The key is a package name and the value is a SemVer range of versions to exclude.
- */
-const packageVersionExclusions = {
- // @angular/localize@9.x versions do not have peer dependencies setup
- '@angular/localize': '9.x',
-};
-class AddCommand extends schematic_command_1.SchematicCommand {
- constructor() {
- super(...arguments);
- this.allowPrivateSchematics = true;
- }
- async initialize(options) {
- if (options.registry) {
- return super.initialize({ ...options, packageRegistry: options.registry });
- }
- else {
- return super.initialize(options);
- }
- }
- // eslint-disable-next-line max-lines-per-function
- async run(options) {
- var _a;
- await (0, package_manager_1.ensureCompatibleNpm)(this.context.root);
- if (!options.collection) {
- this.logger.fatal(`The "ng add" command requires a name argument to be specified eg. ` +
- `${color_1.colors.yellow('ng add [name] ')}. For more details, use "ng help".`);
- return 1;
- }
- let packageIdentifier;
- try {
- packageIdentifier = (0, npm_package_arg_1.default)(options.collection);
- }
- catch (e) {
- this.logger.error(e.message);
- return 1;
- }
- if (packageIdentifier.name &&
- packageIdentifier.registry &&
- this.isPackageInstalled(packageIdentifier.name)) {
- const validVersion = await this.isProjectVersionValid(packageIdentifier);
- if (validVersion) {
- // Already installed so just run schematic
- this.logger.info('Skipping installation: Package already installed');
- return this.executeSchematic(packageIdentifier.name, options['--']);
- }
- }
- const spinner = new spinner_1.Spinner();
- spinner.start('Determining package manager...');
- const packageManager = await (0, package_manager_1.getPackageManager)(this.context.root);
- const usingYarn = packageManager === workspace_schema_1.PackageManager.Yarn;
- spinner.info(`Using package manager: ${color_1.colors.grey(packageManager)}`);
- if (packageIdentifier.name && packageIdentifier.type === 'tag' && !packageIdentifier.rawSpec) {
- // only package name provided; search for viable version
- // plus special cases for packages that did not have peer deps setup
- spinner.start('Searching for compatible package version...');
- let packageMetadata;
- try {
- packageMetadata = await (0, package_metadata_1.fetchPackageMetadata)(packageIdentifier.name, this.logger, {
- registry: options.registry,
- usingYarn,
- verbose: options.verbose,
- });
- }
- catch (e) {
- spinner.fail('Unable to load package information from registry: ' + e.message);
- return 1;
- }
- // Start with the version tagged as `latest` if it exists
- const latestManifest = packageMetadata.tags['latest'];
- if (latestManifest) {
- packageIdentifier = npm_package_arg_1.default.resolve(latestManifest.name, latestManifest.version);
- }
- // Adjust the version based on name and peer dependencies
- if (latestManifest && Object.keys(latestManifest.peerDependencies).length === 0) {
- if (latestManifest.name === '@angular/pwa') {
- const version = await this.findProjectVersion('@angular/cli');
- const semverOptions = { includePrerelease: true };
- if (version &&
- (((0, semver_1.validRange)(version) && (0, semver_1.intersects)(version, '7', semverOptions)) ||
- ((0, semver_1.valid)(version) && (0, semver_1.satisfies)(version, '7', semverOptions)))) {
- packageIdentifier = npm_package_arg_1.default.resolve('@angular/pwa', '0.12');
- }
- }
- spinner.succeed(`Found compatible package version: ${color_1.colors.grey(packageIdentifier.toString())}.`);
- }
- else if (!latestManifest || (await this.hasMismatchedPeer(latestManifest))) {
- // 'latest' is invalid so search for most recent matching package
- const versionExclusions = packageVersionExclusions[packageMetadata.name];
- const versionManifests = Object.values(packageMetadata.versions).filter((value) => {
- // Prerelease versions are not stable and should not be considered by default
- if ((0, semver_1.prerelease)(value.version)) {
- return false;
- }
- // Deprecated versions should not be used or considered
- if (value.deprecated) {
- return false;
- }
- // Excluded package versions should not be considered
- if (versionExclusions && (0, semver_1.satisfies)(value.version, versionExclusions)) {
- return false;
- }
- return true;
- });
- versionManifests.sort((a, b) => (0, semver_1.rcompare)(a.version, b.version, true));
- let newIdentifier;
- for (const versionManifest of versionManifests) {
- if (!(await this.hasMismatchedPeer(versionManifest))) {
- newIdentifier = npm_package_arg_1.default.resolve(versionManifest.name, versionManifest.version);
- break;
- }
- }
- if (!newIdentifier) {
- spinner.warn("Unable to find compatible package. Using 'latest' tag.");
- }
- else {
- packageIdentifier = newIdentifier;
- spinner.succeed(`Found compatible package version: ${color_1.colors.grey(packageIdentifier.toString())}.`);
- }
- }
- else {
- spinner.succeed(`Found compatible package version: ${color_1.colors.grey(packageIdentifier.toString())}.`);
- }
- }
- let collectionName = packageIdentifier.name;
- let savePackage;
- try {
- spinner.start('Loading package information from registry...');
- const manifest = await (0, package_metadata_1.fetchPackageManifest)(packageIdentifier.toString(), this.logger, {
- registry: options.registry,
- verbose: options.verbose,
- usingYarn,
- });
- savePackage = (_a = manifest['ng-add']) === null || _a === void 0 ? void 0 : _a.save;
- collectionName = manifest.name;
- if (await this.hasMismatchedPeer(manifest)) {
- spinner.warn('Package has unmet peer dependencies. Adding the package may not succeed.');
- }
- else {
- spinner.succeed(`Package information loaded.`);
- }
- }
- catch (e) {
- spinner.fail(`Unable to fetch package information for '${packageIdentifier}': ${e.message}`);
- return 1;
- }
- if (!options.skipConfirmation) {
- const confirmationResponse = await (0, prompt_1.askConfirmation)(`\nThe package ${color_1.colors.blue(packageIdentifier.raw)} will be installed and executed.\n` +
- 'Would you like to proceed?', true, false);
- if (!confirmationResponse) {
- if (!(0, tty_1.isTTY)()) {
- this.logger.error('No terminal detected. ' +
- `'--skip-confirmation' can be used to bypass installation confirmation. ` +
- `Ensure package name is correct prior to '--skip-confirmation' option usage.`);
- }
- this.logger.error('Command aborted.');
- return 1;
- }
- }
- if (savePackage === false) {
- // Temporary packages are located in a different directory
- // Hence we need to resolve them using the temp path
- const { status, tempNodeModules } = await (0, install_package_1.installTempPackage)(packageIdentifier.raw, packageManager, options.registry ? [`--registry="${options.registry}"`] : undefined);
- const resolvedCollectionPath = require.resolve((0, path_1.join)(collectionName, 'package.json'), {
- paths: [tempNodeModules],
- });
- if (status !== 0) {
- return status;
- }
- collectionName = (0, path_1.dirname)(resolvedCollectionPath);
- }
- else {
- const status = await (0, install_package_1.installPackage)(packageIdentifier.raw, packageManager, savePackage, options.registry ? [`--registry="${options.registry}"`] : undefined);
- if (status !== 0) {
- return status;
- }
- }
- return this.executeSchematic(collectionName, options['--']);
- }
- async isProjectVersionValid(packageIdentifier) {
- if (!packageIdentifier.name) {
- return false;
- }
- let validVersion = false;
- const installedVersion = await this.findProjectVersion(packageIdentifier.name);
- if (installedVersion) {
- if (packageIdentifier.type === 'range' && packageIdentifier.fetchSpec) {
- validVersion = (0, semver_1.satisfies)(installedVersion, packageIdentifier.fetchSpec);
- }
- else if (packageIdentifier.type === 'version') {
- const v1 = (0, semver_1.valid)(packageIdentifier.fetchSpec);
- const v2 = (0, semver_1.valid)(installedVersion);
- validVersion = v1 !== null && v1 === v2;
- }
- else if (!packageIdentifier.rawSpec) {
- validVersion = true;
- }
- }
- return validVersion;
- }
- async reportAnalytics(paths, options, dimensions = [], metrics = []) {
- const collection = options.collection;
- // Add the collection if it's safe listed.
- if (collection && (0, analytics_1.isPackageNameSafeForAnalytics)(collection)) {
- dimensions[core_1.analytics.NgCliAnalyticsDimensions.NgAddCollection] = collection;
- }
- else {
- delete dimensions[core_1.analytics.NgCliAnalyticsDimensions.NgAddCollection];
- }
- return super.reportAnalytics(paths, options, dimensions, metrics);
- }
- isPackageInstalled(name) {
- try {
- require.resolve((0, path_1.join)(name, 'package.json'), { paths: [this.context.root] });
- return true;
- }
- catch (e) {
- if (e.code !== 'MODULE_NOT_FOUND') {
- throw e;
- }
- }
- return false;
- }
- async executeSchematic(collectionName, options = []) {
- const runOptions = {
- schematicOptions: options,
- collectionName,
- schematicName: 'ng-add',
- dryRun: false,
- force: false,
- };
- try {
- return await this.runSchematic(runOptions);
- }
- catch (e) {
- if (e instanceof tools_1.NodePackageDoesNotSupportSchematics) {
- this.logger.error(core_1.tags.oneLine `
- The package that you are trying to add does not support schematics. You can try using
- a different version of the package or contact the package author to add ng-add support.
- `);
- return 1;
- }
- throw e;
- }
- }
- async findProjectVersion(name) {
- let installedPackage;
- try {
- installedPackage = require.resolve((0, path_1.join)(name, 'package.json'), {
- paths: [this.context.root],
- });
- }
- catch { }
- if (installedPackage) {
- try {
- const installed = await (0, package_metadata_1.fetchPackageManifest)((0, path_1.dirname)(installedPackage), this.logger);
- return installed.version;
- }
- catch { }
- }
- let projectManifest;
- try {
- projectManifest = await (0, package_metadata_1.fetchPackageManifest)(this.context.root, this.logger);
- }
- catch { }
- if (projectManifest) {
- const version = projectManifest.dependencies[name] || projectManifest.devDependencies[name];
- if (version) {
- return version;
- }
- }
- return null;
- }
- async hasMismatchedPeer(manifest) {
- for (const peer in manifest.peerDependencies) {
- let peerIdentifier;
- try {
- peerIdentifier = npm_package_arg_1.default.resolve(peer, manifest.peerDependencies[peer]);
- }
- catch {
- this.logger.warn(`Invalid peer dependency ${peer} found in package.`);
- continue;
- }
- if (peerIdentifier.type === 'version' || peerIdentifier.type === 'range') {
- try {
- const version = await this.findProjectVersion(peer);
- if (!version) {
- continue;
- }
- const options = { includePrerelease: true };
- if (!(0, semver_1.intersects)(version, peerIdentifier.rawSpec, options) &&
- !(0, semver_1.satisfies)(version, peerIdentifier.rawSpec, options)) {
- return true;
- }
- }
- catch {
- // Not found or invalid so ignore
- continue;
- }
- }
- else {
- // type === 'tag' | 'file' | 'directory' | 'remote' | 'git'
- // Cannot accurately compare these as the tag/location may have changed since install
- }
- }
- return false;
- }
-}
-exports.AddCommand = AddCommand;