Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,9 @@ use_repo(npm, "npm")
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext")
rules_ts_ext.deps(
name = "angular_cli_npm_typescript",
# Obtained by: npm info typescript@5.9.3 dist.integrity
ts_integrity = "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
ts_version = "5.9.3",
# Obtained by: npm info typescript@6.0.0-beta dist.integrity
ts_integrity = "sha512-CldZdztDpQRLM1HC6WDQjQkQN5Ub5zRau737a1diGh3lPmb9oRsaWHk1y5iqK0o7+1bNJ0oXfEGRkAogFZBL+Q==",
ts_version = "6.0.0-beta",
)
use_repo(rules_ts_ext, **{"npm_typescript": "angular_cli_npm_typescript"})

Expand Down
6 changes: 3 additions & 3 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
"extends": "./tsconfig.app.json",
"compilerOptions": {
"outDir": "../dist-server",
"baseUrl": "./",
"types": ["@angular/localize", "node"]
"types": ["@angular/localize", "node", "@types/express"]
},
"files": [
"main.server.ts"
Expand Down
2 changes: 1 addition & 1 deletion modules/testing/builder/src/test-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ export async function browserBuild(
scheduleOptions?: ScheduleOptions,
): Promise<BrowserBuildOutput> {
const run = await architect.scheduleTarget(target, overrides, scheduleOptions);
const output = (await run.result) as BuilderOutput & { outputs: { path: string }[] };
const output = await run.result;
expect(output.success).toBe(true);

if (!output.success) {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
"semver": "7.7.4",
"source-map-support": "0.5.21",
"tslib": "2.8.1",
"typescript": "5.9.3",
"typescript": "6.0.0-beta",
"undici": "7.22.0",
"unenv": "^1.10.0",
"verdaccio": "6.2.9",
Expand Down
2 changes: 1 addition & 1 deletion packages/angular/build/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"postcss": "^8.4.0",
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
"tslib": "^2.3.0",
"typescript": ">=5.9 <6.0",
"typescript": ">=5.9 <6.1",
"vitest": "^4.0.8"
},
"peerDependenciesMeta": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
import { Directive, Input } from '@angular/core';
@Directive({ selector: 'dir', standalone: false })
export class Dir {
@Input() foo: number;
@Input() foo!: number;
}
`;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
tsconfig.compilerOptions.isolatedModules = true;
tsconfig.compilerOptions.jsx = 'react-jsx';

// There's an implicit `any`, because we don't include the React typings.
tsconfig.compilerOptions.noImplicitAny = false;

return JSON.stringify(tsconfig);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
tsconfig.compilerOptions.paths = {
'app-module': ['./a.js'],
};
tsconfig.compilerOptions.allowJs = true;

return JSON.stringify(tsconfig);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
// Enable tsconfig resolveJsonModule option in tsconfig
await harness.modifyFile('tsconfig.json', (content) => {
const tsconfig = JSON.parse(content);
tsconfig.compilerOptions.moduleResolution = 'node';
tsconfig.compilerOptions.moduleResolution = 'node16';
tsconfig.compilerOptions.module = 'node16';
tsconfig.compilerOptions.resolveJsonModule = true;

return JSON.stringify(tsconfig);
Expand All @@ -44,7 +45,8 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
// Enable tsconfig resolveJsonModule option in tsconfig
await harness.modifyFile('tsconfig.json', (content) => {
const tsconfig = JSON.parse(content);
tsconfig.compilerOptions.moduleResolution = 'node';
tsconfig.compilerOptions.moduleResolution = 'node16';
tsconfig.compilerOptions.module = 'node16';
tsconfig.compilerOptions.resolveJsonModule = undefined;

return JSON.stringify(tsconfig);
Expand Down Expand Up @@ -73,7 +75,8 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
// Enable tsconfig resolveJsonModule option in tsconfig
await harness.modifyFile('tsconfig.json', (content) => {
const tsconfig = JSON.parse(content);
tsconfig.compilerOptions.moduleResolution = 'node';
tsconfig.compilerOptions.moduleResolution = 'node16';
tsconfig.compilerOptions.module = 'node16';
tsconfig.compilerOptions.resolveJsonModule = false;

return JSON.stringify(tsconfig);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
const tsconfig = JSON.parse(content);
tsconfig.compilerOptions.baseUrl = baseUrl;

// The test is specifically testing `baseUrl` which is deprecated in TS6.
tsconfig.compilerOptions.ignoreDeprecations = '6.0';

return JSON.stringify(tsconfig);
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ describeBuilder(execute, UNIT_TEST_BUILDER_INFO, (harness) => {

it('should include the setup files', async () => {
await harness.writeFiles({
'src/setup.ts': `globalThis['TEST_SETUP_RAN'] = true;`,
'src/setup.ts': `(globalThis as any)['TEST_SETUP_RAN'] = true;`,
'src/app/app.component.spec.ts': `
import { describe, expect, test } from 'vitest'
describe('AppComponent', () => {
test('should have run setup file', () => {
expect(globalThis['TEST_SETUP_RAN']).toBe(true);
expect((globalThis as any)['TEST_SETUP_RAN']).toBe(true);
});
});`,
});
Expand Down
6 changes: 2 additions & 4 deletions packages/angular_devkit/architect/src/create-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,7 @@ export function createBuilder<OptT = json.JsonObject, OutT extends BuilderOutput

function onInput(i: BuilderInput) {
const builder = i.info as BuilderInfo;
const loggerName = i.target
? targetStringFromTarget(i.target as Target)
: builder.builderName;
const loggerName = i.target ? targetStringFromTarget(i.target) : builder.builderName;
const logger = new logging.Logger(loggerName);

subscriptions.push(logger.subscribe((entry) => log(entry)));
Expand All @@ -103,7 +101,7 @@ export function createBuilder<OptT = json.JsonObject, OutT extends BuilderOutput
builder,
workspaceRoot: i.workspaceRoot,
currentDirectory: i.currentDirectory,
target: i.target as Target,
target: i.target,
logger: logger,
id: i.id,
async scheduleTarget(
Expand Down
1 change: 1 addition & 0 deletions packages/angular_devkit/build_angular/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,7 @@ LARGE_SPECS = {
"//:node_modules/@angular/core",
"//:node_modules/@angular/platform-browser",
"//:node_modules/@angular/router",
"//:node_modules/@types/express",
":node_modules/rxjs",
"//:node_modules/tslib",
"//:node_modules/typescript",
Expand Down
2 changes: 1 addition & 1 deletion packages/angular_devkit/build_angular/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
"karma": "^6.3.0",
"ng-packagr": "0.0.0-NG-PACKAGR-PEER-DEP",
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
"typescript": ">=5.9 <6.0"
"typescript": ">=5.9 <6.1"
},
"peerDependenciesMeta": {
"@angular/core": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,10 @@ async function _appShellBuilder(
let spinner: Spinner | undefined;

try {
const [browserResult, serverResult] = await Promise.all([
browserTargetRun.result as Promise<BrowserBuilderOutput>,
serverTargetRun.result as Promise<ServerBuilderOutput>,
]);
const [browserResult, serverResult] = (await Promise.all([
browserTargetRun.result,
serverTargetRun.result,
])) as [BrowserBuilderOutput, ServerBuilderOutput];

if (browserResult.success === false || browserResult.baseOutputPath === undefined) {
return browserResult;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ describe('Browser Builder allow js', () => {
);

const run = await architect.scheduleTarget(targetSpec);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);

const content = virtualFs.fileBufferToString(
Expand All @@ -63,7 +63,7 @@ describe('Browser Builder allow js', () => {
const overrides = { aot: true };

const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);

const content = virtualFs.fileBufferToString(
Expand Down Expand Up @@ -93,7 +93,7 @@ describe('Browser Builder allow js', () => {
const run = await architect.scheduleTarget(targetSpec, overrides);

await lastValueFrom(
(run.output as Observable<BrowserBuilderOutput>).pipe(
run.output.pipe(
tap((output) => {
const path = relative(host.root(), join(normalize(output.outputs[0].path), 'main.js'));
const content = virtualFs.fileBufferToString(host.scopedSync().read(path));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import { Architect } from '@angular-devkit/architect';
import { join, normalize, tags, virtualFs } from '@angular-devkit/core';
import { lastValueFrom } from 'rxjs';
import { createArchitect, host } from '../../../testing/test-utils';
import { BrowserBuilderOutput } from '../index';

describe('Browser Builder base href', () => {
const targetSpec = { project: 'app', target: 'build' };
Expand All @@ -23,14 +22,20 @@ describe('Browser Builder base href', () => {
afterEach(async () => host.restore().toPromise());

it('works', async () => {
host.replaceInFile(
'tsconfig.json',
'"target": "es2022"',
'"target": "es2022", "allowJs": true',
);

host.writeMultipleFiles({
'src/my-js-file.js': `console.log(1); export const a = 2;`,
'src/main.ts': `import { a } from './my-js-file'; console.log(a);`,
});

const overrides = { baseHref: '/myUrl' };
const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;

expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
Expand All @@ -51,7 +56,7 @@ describe('Browser Builder base href', () => {
});

const run = await architect.scheduleTarget(targetSpec);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;

expect(output.success).toBeTrue();
const fileName = join(normalize(output.outputs[0].path), 'index.html');
Expand All @@ -71,7 +76,7 @@ describe('Browser Builder base href', () => {

const overrides = { baseHref: '/myUrl' };
const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ describe('Browser Builder build optimizer', () => {
const boOverrides = { ...noBoOverrides, buildOptimizer: true };

const run = await architect.scheduleTarget(targetSpec, noBoOverrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;

expect(output.success).toBe(true);

Expand All @@ -54,7 +54,7 @@ describe('Browser Builder build optimizer', () => {
await run.stop();

const boRun = await architect.scheduleTarget(targetSpec, boOverrides);
const boOutput = (await run.result) as BrowserBuilderOutput;
const boOutput = await run.result;
expect(boOutput.success).toBe(true);

const boStats = await lastValueFrom(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ describe('Browser Builder crossOrigin', () => {
it('works with use-credentials', async () => {
const overrides = { crossOrigin: CrossOrigin.UseCredentials };
const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand All @@ -54,7 +54,7 @@ describe('Browser Builder crossOrigin', () => {
it('works with anonymous', async () => {
const overrides = { crossOrigin: CrossOrigin.Anonymous };
const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand All @@ -75,7 +75,7 @@ describe('Browser Builder crossOrigin', () => {
it('works with none', async () => {
const overrides = { crossOrigin: CrossOrigin.None };
const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand All @@ -101,7 +101,7 @@ describe('Browser Builder crossOrigin', () => {

const overrides = { crossOrigin: CrossOrigin.UseCredentials };
const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);

const fileName = join(normalize(output.outputs[0].path), 'runtime.js');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ describe('Browser Builder deploy url', () => {
});

const run = await architect.scheduleTarget(targetSpec, overrides);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
expect(output.outputs[0].path).not.toBeUndefined();
const outputPath = normalize(output.outputs[0].path);
Expand All @@ -51,7 +51,7 @@ describe('Browser Builder deploy url', () => {
expect(runtimeContent).toContain('deployUrl/');

const run2 = await architect.scheduleTarget(targetSpec, overrides2);
const output2 = (await run2.result) as BrowserBuilderOutput;
const output2 = await run2.result;
expect(output2.outputs[0].path).toEqual(outputPath); // These should be the same.

const content2 = virtualFs.fileBufferToString(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ describe('Browser Builder index HTML processing', () => {
});

const run = await architect.scheduleTarget(targetSpec);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand All @@ -56,7 +56,7 @@ describe('Browser Builder index HTML processing', () => {
});

const run = await architect.scheduleTarget(targetSpec);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand All @@ -81,7 +81,7 @@ describe('Browser Builder index HTML processing', () => {
});

const run = await architect.scheduleTarget(targetSpec);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand All @@ -105,7 +105,7 @@ describe('Browser Builder index HTML processing', () => {
});

const run = await architect.scheduleTarget(targetSpec);
const output = (await run.result) as BrowserBuilderOutput;
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
const content = virtualFs.fileBufferToString(
Expand Down
Loading