Skip to content

Commit 10cce2c

Browse files
committed
refactor(@angular/cli): re-organize the Angular CLI package folder structure
1 parent 78683db commit 10cce2c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+187
-199
lines changed

packages/angular/cli/bin/postinstall/analytics-prompt.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if ('NG_CLI_ANALYTICS' in process.env) {
1414
}
1515

1616
try {
17-
var analytics = require('../../models/analytics');
17+
var analytics = require('../../src/analytics/analytics');
1818

1919
analytics
2020
.hasGlobalAnalyticsConfiguration()

packages/angular/cli/lib/cli/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
import { schema } from '@angular-devkit/core';
1010
import { createConsoleLogger } from '@angular-devkit/core/node';
1111
import { format } from 'util';
12-
import { colors, removeColor } from '../../utilities/color';
13-
import { CommandModuleError } from '../../utilities/command-builder/command-module';
14-
import { AngularWorkspace, getWorkspaceRaw } from '../../utilities/config';
15-
import { writeErrorToLogFile } from '../../utilities/log-file';
16-
import { findWorkspaceFile } from '../../utilities/project';
17-
import { runCommand } from './command-runner';
12+
import { CommandModuleError } from '../../src/command-builder/command-module';
13+
import { runCommand } from '../../src/command-builder/command-runner';
14+
import { colors, removeColor } from '../../src/utilities/color';
15+
import { AngularWorkspace, getWorkspaceRaw } from '../../src/utilities/config';
16+
import { writeErrorToLogFile } from '../../src/utilities/log-file';
17+
import { findWorkspaceFile } from '../../src/utilities/project';
1818

19-
export { VERSION } from '../../utilities/version';
19+
export { VERSION } from '../../src/utilities/version';
2020

2121
const debugEnv = process.env['NG_DEBUG'];
2222
const isDebug = debugEnv !== undefined && debugEnv !== '0' && debugEnv.toLowerCase() !== 'false';

packages/angular/cli/lib/init.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import 'symbol-observable';
1111
import { promises as fs } from 'fs';
1212
import * as path from 'path';
1313
import { SemVer } from 'semver';
14-
import { colors } from '../utilities/color';
15-
import { isWarningEnabled } from '../utilities/config';
16-
import { VERSION } from '../utilities/version';
14+
import { colors } from '../src/utilities/color';
15+
import { isWarningEnabled } from '../src/utilities/config';
16+
import { VERSION } from '../src/utilities/version';
1717

1818
(async () => {
1919
/**

packages/angular/cli/models/command.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
*/
88

99
import { analytics, logging } from '@angular-devkit/core';
10-
import { Option } from '../utilities/command-builder/json-schema';
11-
import { AngularWorkspace } from '../utilities/config';
10+
import { Option } from '../src/command-builder/utilities/json-schema';
11+
import { AngularWorkspace } from '../src/utilities/config';
1212
import { CommandContext } from './interface';
1313

1414
export interface BaseCommandOptions {

packages/angular/cli/models/interface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import { analytics, logging } from '@angular-devkit/core';
10-
import { AngularWorkspace } from '../utilities/config';
10+
import { AngularWorkspace } from '../src/utilities/config';
1111

1212
/**
1313
* A command runner context.

packages/angular/cli/models/schematic-command.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ import {
1616
} from '@angular-devkit/schematics/tools';
1717
import * as inquirer from 'inquirer';
1818
import * as systemPath from 'path';
19-
import { colors } from '../utilities/color';
20-
import { parseJsonSchemaToOptions } from '../utilities/command-builder/json-schema';
21-
import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../utilities/config';
22-
import { ensureCompatibleNpm, getPackageManager } from '../utilities/package-manager';
23-
import { isTTY } from '../utilities/tty';
24-
import { isPackageNameSafeForAnalytics } from './analytics';
19+
import { isPackageNameSafeForAnalytics } from '../src/analytics/analytics';
20+
import { parseJsonSchemaToOptions } from '../src/command-builder/utilities/json-schema';
21+
import { colors } from '../src/utilities/color';
22+
import { getProjectByCwd, getSchematicDefaults, getWorkspace } from '../src/utilities/config';
23+
import { ensureCompatibleNpm, getPackageManager } from '../src/utilities/package-manager';
24+
import { isTTY } from '../src/utilities/tty';
2525
import { BaseCommandOptions, Command } from './command';
2626
import { CommandContext } from './interface';
2727
import { SchematicEngineHost } from './schematic-engine-host';

packages/angular/cli/utilities/command-builder/architect-command-module.ts renamed to packages/angular/cli/src/command-builder/architect-command-module.ts

Lines changed: 2 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,17 @@
99
import { Architect, Target } from '@angular-devkit/architect';
1010
import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node';
1111
import { json } from '@angular-devkit/core';
12-
import { existsSync } from 'fs';
13-
import { resolve } from 'path';
1412
import { Argv } from 'yargs';
15-
import { isPackageNameSafeForAnalytics } from '../../models/analytics';
16-
import { getPackageManager } from '../package-manager';
13+
import { isPackageNameSafeForAnalytics } from '../analytics/analytics';
1714
import {
18-
CommandContext,
1915
CommandModule,
2016
CommandModuleError,
2117
CommandModuleImplementation,
2218
CommandScope,
2319
Options,
2420
OtherOptions,
2521
} from './command-module';
26-
import { Option, parseJsonSchemaToOptions } from './json-schema';
22+
import { getArchitectTargetOptions } from './utilities/architect';
2723

2824
export interface ArchitectCommandArgs {
2925
configuration?: string;
@@ -234,63 +230,3 @@ export abstract class ArchitectCommandModule
234230
));
235231
}
236232
}
237-
238-
/**
239-
* Get architect target schema options.
240-
*/
241-
export async function getArchitectTargetOptions(
242-
context: CommandContext,
243-
target: Target,
244-
): Promise<Option[]> {
245-
const { workspace } = context;
246-
if (!workspace) {
247-
return [];
248-
}
249-
250-
const architectHost = new WorkspaceNodeModulesArchitectHost(workspace, workspace.basePath);
251-
const builderConf = await architectHost.getBuilderNameForTarget(target);
252-
253-
let builderDesc;
254-
try {
255-
builderDesc = await architectHost.resolveBuilder(builderConf);
256-
} catch (e) {
257-
if (e.code === 'MODULE_NOT_FOUND') {
258-
await warnOnMissingNodeModules(context);
259-
throw new CommandModuleError(`Could not find the '${builderConf}' builder's node package.`);
260-
}
261-
262-
throw e;
263-
}
264-
265-
return parseJsonSchemaToOptions(
266-
new json.schema.CoreSchemaRegistry(),
267-
builderDesc.optionSchema as json.JsonObject,
268-
true,
269-
);
270-
}
271-
272-
export async function warnOnMissingNodeModules(context: CommandContext): Promise<void> {
273-
const basePath = context.workspace?.basePath;
274-
if (!basePath) {
275-
return;
276-
}
277-
278-
// Check for a `node_modules` directory (npm, yarn non-PnP, etc.)
279-
if (existsSync(resolve(basePath, 'node_modules'))) {
280-
return;
281-
}
282-
283-
// Check for yarn PnP files
284-
if (
285-
existsSync(resolve(basePath, '.pnp.js')) ||
286-
existsSync(resolve(basePath, '.pnp.cjs')) ||
287-
existsSync(resolve(basePath, '.pnp.mjs'))
288-
) {
289-
return;
290-
}
291-
292-
const packageManager = await getPackageManager(basePath);
293-
context.logger.warn(
294-
`Node packages may not be installed. Try installing with '${packageManager} install'.`,
295-
);
296-
}

packages/angular/cli/utilities/command-builder/command-module.ts renamed to packages/angular/cli/src/command-builder/command-module.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import {
1616
CommandModule as YargsCommandModule,
1717
Options as YargsOptions,
1818
} from 'yargs';
19-
import { createAnalytics } from '../../models/analytics';
20-
import { AngularWorkspace } from '../config';
21-
import { Option } from './json-schema';
19+
import { createAnalytics } from '../analytics/analytics';
20+
import { AngularWorkspace } from '../utilities/config';
21+
import { Option } from './utilities/json-schema';
2222

2323
export type Options<T> = { [key in keyof T as CamelCaseKey<key>]: T[key] };
2424

0 commit comments

Comments
 (0)