diff --git a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx index 0d12c21dc923..be9367a7367b 100755 --- a/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx +++ b/.aspect/rules/external_repository_action_cache/npm_translate_lock_MzA5NzUwNzMx @@ -17,6 +17,7 @@ packages/angular_devkit/schematics/package.json=673943597 packages/angular_devkit/schematics_cli/package.json=-2026655035 packages/ngtools/webpack/package.json=605871936 packages/schematics/angular/package.json=251715148 -pnpm-lock.yaml=610919784 -pnpm-workspace.yaml=-1056556036 +pnpm-lock.yaml=1642270121 +pnpm-workspace.yaml=-1264044456 +tests/package.json=700948366 yarn.lock=1260513060 diff --git a/.bazelignore b/.bazelignore index 6139e21a2dd9..9ca3992b8666 100644 --- a/.bazelignore +++ b/.bazelignore @@ -16,3 +16,4 @@ packages/angular_devkit/schematics_cli/node_modules packages/ngtools/webpack/node_modules packages/schematics/angular/node_modules modules/testing/builder/node_modules +tests/node_modules diff --git a/WORKSPACE b/WORKSPACE index 0d6909398cc2..e56009df0950 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -187,6 +187,7 @@ npm_translate_lock( "//packages/angular_devkit/schematics_cli:package.json", "//packages/ngtools/webpack:package.json", "//packages/schematics/angular:package.json", + "//tests:package.json", ], lifecycle_hooks_envs = { # TODO: Standardize browser management for `rules_js` diff --git a/packages/angular/build/BUILD.bazel b/packages/angular/build/BUILD.bazel index c15cc3a44694..3d1c7e7c135a 100644 --- a/packages/angular/build/BUILD.bazel +++ b/packages/angular/build/BUILD.bazel @@ -72,8 +72,6 @@ ts_project( "//packages/angular/build:src/builders/ng-packagr/schema.ts", ], data = RUNTIME_ASSETS, - # TODO: Fix strict_deps failure - ignore_strict_deps = True, module_name = "@angular/build", deps = [ ":node_modules/@angular-devkit/architect", @@ -137,10 +135,9 @@ ts_project( include = ["src/**/*_spec.ts"], exclude = ["src/builders/**/tests/**"], ), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":build_rjs", + ":node_modules/@angular-devkit/core", "//:node_modules/@angular/compiler-cli", "//:node_modules/@babel/core", "//:node_modules/@types/jasmine", @@ -159,13 +156,12 @@ ts_project( name = "application_integration_test_lib", testonly = True, srcs = glob(include = ["src/builders/application/tests/**/*.ts"]), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":build_rjs", "//packages/angular/build/private:private_rjs", "//modules/testing/builder:builder_rjs", ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", # Base dependencies for the application in hello-world-app. "//:node_modules/@angular/common", @@ -187,16 +183,16 @@ ts_project( name = "dev-server_integration_test_lib", testonly = True, srcs = glob(include = ["src/builders/dev-server/tests/**/*.ts"]), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":build_rjs", "//packages/angular/build/private:private_rjs", "//modules/testing/builder:builder_rjs", ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", # dev server only test deps "//:node_modules/@types/http-proxy", + "//:node_modules/@types/node", "//:node_modules/http-proxy", "//:node_modules/puppeteer", @@ -221,13 +217,13 @@ ts_project( name = "karma_integration_test_lib", testonly = True, srcs = glob(include = ["src/builders/karma/tests/**/*.ts"]), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":build_rjs", "//packages/angular/build/private:private_rjs", "//modules/testing/builder:builder_rjs", ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", + "//:node_modules/@types/node", # karma specific test deps "//:node_modules/karma-chrome-launcher", diff --git a/packages/angular/build/src/builders/dev-server/internal.ts b/packages/angular/build/src/builders/dev-server/internal.ts index 4f869d1c845e..a0a6f2de57b4 100644 --- a/packages/angular/build/src/builders/dev-server/internal.ts +++ b/packages/angular/build/src/builders/dev-server/internal.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -export { type BuildOutputFile, BuildOutputFileType } from '@angular/build'; +export { type BuildOutputFile, BuildOutputFileType } from '../../tools/esbuild/bundler-context'; export { createRxjsEsmResolutionPlugin } from '../../tools/esbuild/rxjs-esm-resolution-plugin'; export { JavaScriptTransformer } from '../../tools/esbuild/javascript-transformer'; export { getFeatureSupport, isZonelessApp } from '../../tools/esbuild/utils'; diff --git a/packages/angular/build/src/builders/dev-server/tests/setup.ts b/packages/angular/build/src/builders/dev-server/tests/setup.ts index 7494b3c4f5e7..da9362134b75 100644 --- a/packages/angular/build/src/builders/dev-server/tests/setup.ts +++ b/packages/angular/build/src/builders/dev-server/tests/setup.ts @@ -10,7 +10,10 @@ import { json } from '@angular-devkit/core'; import { readFileSync } from 'node:fs'; import path from 'node:path'; import { BuilderHarness } from '../../../../../../../modules/testing/builder/src'; -import { ApplicationBuilderOptions as AppilicationSchema, buildApplication } from '@angular/build'; +import { + ApplicationBuilderOptions as AppilicationSchema, + buildApplication, +} from '../../../builders/application'; import { Schema } from '../schema'; // TODO: Consider using package.json imports field instead of relative path diff --git a/packages/angular/build/src/builders/karma/application_builder.ts b/packages/angular/build/src/builders/karma/application_builder.ts index 465e28db350e..24c81b777f0a 100644 --- a/packages/angular/build/src/builders/karma/application_builder.ts +++ b/packages/angular/build/src/builders/karma/application_builder.ts @@ -6,14 +6,6 @@ * found in the LICENSE file at https://angular.dev/license */ -import { - ApplicationBuilderInternalOptions, - Result, - ResultFile, - ResultKind, - buildApplicationInternal, - emitFilesToDisk, -} from '@angular/build/private'; import type { BuilderContext, BuilderOutput } from '@angular-devkit/architect'; import glob from 'fast-glob'; import type { Config, ConfigOptions, FilePattern, InlinePluginDef, Server } from 'karma'; @@ -24,6 +16,10 @@ import { createRequire } from 'node:module'; import * as path from 'node:path'; import { ReadableStreamController } from 'node:stream/web'; import { BuildOutputFileType } from '../../tools/esbuild/bundler-context'; +import { emitFilesToDisk } from '../../tools/esbuild/utils'; +import { buildApplicationInternal } from '../application/index'; +import { ApplicationBuilderInternalOptions } from '../application/options'; +import { Result, ResultFile, ResultKind } from '../application/results'; import { OutputHashing } from '../application/schema'; import { findTests, getTestEntrypoints } from './find-tests'; import { Schema as KarmaBuilderOptions } from './schema'; diff --git a/packages/angular/build/src/builders/karma/tests/setup.ts b/packages/angular/build/src/builders/karma/tests/setup.ts index dd0ad34f314b..e6a013946904 100644 --- a/packages/angular/build/src/builders/karma/tests/setup.ts +++ b/packages/angular/build/src/builders/karma/tests/setup.ts @@ -9,7 +9,10 @@ import { Schema } from '../schema'; import { BuilderHandlerFn } from '@angular-devkit/architect'; import { json } from '@angular-devkit/core'; -import { ApplicationBuilderOptions as ApplicationSchema, buildApplication } from '@angular/build'; +import { + ApplicationBuilderOptions as ApplicationSchema, + buildApplication, +} from '../../../builders/application'; import * as path from 'node:path'; import { readFileSync } from 'node:fs'; import { diff --git a/packages/angular/cli/BUILD.bazel b/packages/angular/cli/BUILD.bazel index f5ee2bae7f83..72dee7803ed1 100644 --- a/packages/angular/cli/BUILD.bazel +++ b/packages/angular/cli/BUILD.bazel @@ -107,15 +107,14 @@ ts_project( "node_modules/**", ], ), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":angular-cli_rjs", + ":node_modules/@angular-devkit/core", + ":node_modules/@angular-devkit/schematics", "//:node_modules/@types/semver", "//:node_modules/@types/yargs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/schematics:schematics_rjs", - "//packages/angular_devkit/schematics/testing:testing_rjs", + "//:node_modules/semver", + "//:node_modules/yargs", ], ) diff --git a/packages/angular/pwa/BUILD.bazel b/packages/angular/pwa/BUILD.bazel index 20b068b6c6e9..ee5b8eb7ecae 100644 --- a/packages/angular/pwa/BUILD.bazel +++ b/packages/angular/pwa/BUILD.bazel @@ -50,13 +50,11 @@ ts_project( name = "pwa_test_lib", testonly = True, srcs = glob(["pwa/**/*_spec.ts"]), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ + ":node_modules/@angular-devkit/schematics", ":pwa_rjs", "//:node_modules/@types/jasmine", "//:node_modules/@types/node", - "//packages/angular_devkit/schematics/testing:testing_rjs", ], ) diff --git a/packages/angular_devkit/architect/testing/BUILD.bazel b/packages/angular_devkit/architect/testing/BUILD.bazel index 24c398bfce50..ebe10a6ad626 100644 --- a/packages/angular_devkit/architect/testing/BUILD.bazel +++ b/packages/angular_devkit/architect/testing/BUILD.bazel @@ -15,14 +15,11 @@ ts_project( include = ["**/*.ts"], exclude = ["**/*_spec.ts"], ), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, module_name = "@angular-devkit/architect/testing", deps = [ "//:node_modules/@types/node", "//:node_modules/rxjs", "//packages/angular_devkit/architect:architect_rjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", + "//packages/angular_devkit/architect:node_modules/@angular-devkit/core", ], ) diff --git a/packages/angular_devkit/build_angular/BUILD.bazel b/packages/angular_devkit/build_angular/BUILD.bazel index 2baa11919c79..c86f2a1fe929 100644 --- a/packages/angular_devkit/build_angular/BUILD.bazel +++ b/packages/angular_devkit/build_angular/BUILD.bazel @@ -127,8 +127,6 @@ ts_project( "//packages/angular_devkit/build_angular:src/builders/web-test-runner/schema.ts", ], data = RUNTIME_ASSETS, - # TODO: Fix strict_deps failure - ignore_strict_deps = True, module_name = "@angular-devkit/build-angular", deps = [ ":node_modules/@angular-devkit/architect", @@ -170,6 +168,7 @@ ts_project( "//:node_modules/ansi-colors", "//:node_modules/autoprefixer", "//:node_modules/babel-loader", + "//:node_modules/browser-sync", "//:node_modules/browserslist", "//:node_modules/copy-webpack-plugin", "//:node_modules/css-loader", @@ -225,11 +224,10 @@ ts_project( data = [ "//packages/angular_devkit/build_angular/test/hello-world-lib", ], - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":build_angular_rjs", ":build_angular_test_utils_rjs", + "//:node_modules/@types/node", "//:node_modules/fast-glob", "//:node_modules/prettier", "//:node_modules/typescript", @@ -298,52 +296,40 @@ ts_project( data = [ "//packages/angular_devkit/build_angular/test/hello-world-lib", ], - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":build_angular_rjs", + ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", + ":node_modules/@angular/build", "//:node_modules/@types/jasmine", + "//:node_modules/@types/node", + "//:node_modules/rxjs", "//modules/testing/builder:builder_rjs", - "//packages/angular/build:build_rjs", - "//packages/angular/build/private:private_rjs", - "//packages/angular_devkit/architect:architect_rjs", - "//packages/angular_devkit/architect/node:node_rjs", - "//packages/angular_devkit/architect/testing:testing_rjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", ], ) LARGE_SPECS = { - "app-shell": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, - }, + "app-shell": {}, "dev-server": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, "shards": 10, "size": "large", "flaky": True, "extra_deps": [ - "//packages/angular_devkit/build_webpack:build_webpack_rjs", + ":build_angular", "//:node_modules/@types/http-proxy", + "//:node_modules/@types/node", "//:node_modules/http-proxy", "//:node_modules/puppeteer", "//:node_modules/undici", ], }, - "extract-i18n": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, - }, + "extract-i18n": {}, "karma": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, "shards": 6, "size": "large", "flaky": True, "extra_deps": [ + "//:node_modules/@types/node", "//:node_modules/karma", "//:node_modules/karma-chrome-launcher", "//:node_modules/karma-coverage", @@ -354,8 +340,6 @@ LARGE_SPECS = { ], }, "protractor": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, "extra_deps": [ "//:node_modules/jasmine-spec-reporter", "//:node_modules/protractor", @@ -368,39 +352,29 @@ LARGE_SPECS = { "shards": 1, }, "server": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, "size": "large", "extra_deps": [ "//:node_modules/@angular/animations", ], }, - "ng-packagr": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, - }, + "ng-packagr": {}, "browser": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, "shards": 10, "size": "large", "flaky": True, "extra_deps": [ + "//:node_modules/@types/node", "//:node_modules/@angular/animations", "//:node_modules/@angular/material", ], }, - "prerender": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, - }, + "prerender": {}, "browser-esbuild": {}, "ssr-dev-server": { - # TODO: Fix strict_deps failure - "ignore_strict_deps": True, "extra_deps": [ - "//packages/angular/ssr/node:node_rjs", + ":node_modules/@angular/ssr", "//:node_modules/@types/browser-sync", + "//:node_modules/@types/node", "//:node_modules/browser-sync", "//:node_modules/express", "//:node_modules/undici", @@ -413,19 +387,15 @@ LARGE_SPECS = { name = "build_angular_" + spec + "_test_lib", testonly = True, srcs = glob(["src/builders/" + spec + "/**/*_spec.ts"]), - ignore_strict_deps = LARGE_SPECS[spec].get("ignore_strict_deps", False), deps = [ # Dependencies needed to compile and run the specs themselves. ":build_angular_rjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", - "//modules/testing/builder:builder_rjs", ":build_angular_test_utils_rjs", - "//packages/angular/build:build_rjs", - "//packages/angular/build/private:private_rjs", - "//packages/angular_devkit/architect:architect_rjs", - "//packages/angular_devkit/architect/node:node_rjs", - "//packages/angular_devkit/architect/testing:testing_rjs", + ":node_modules/@angular/build", + ":node_modules/@angular-devkit/architect", + ":node_modules/@angular-devkit/core", + ":node_modules/@angular-devkit/build-webpack", + "//modules/testing/builder:builder_rjs", # Base dependencies for the application in hello-world-app. # Some tests also require extra dependencies. diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts index ced7c6aa0a3b..e8e270b9e16c 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/allow-js_spec.ts @@ -7,10 +7,11 @@ */ import { Architect } from '@angular-devkit/architect'; -import { BrowserBuilderOutput } from '@angular-devkit/build-angular'; + import { join, normalize, relative, virtualFs } from '@angular-devkit/core'; import { Observable, lastValueFrom, take, tap } from 'rxjs'; import { createArchitect, host } from '../../../testing/test-utils'; +import { BrowserBuilderOutput } from '../index'; describe('Browser Builder allow js', () => { const targetSpec = { project: 'app', target: 'build' }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts index 86b1a68a1db9..f8788cf3d947 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/base-href_spec.ts @@ -7,10 +7,10 @@ */ import { Architect } from '@angular-devkit/architect'; -import { BrowserBuilderOutput } from '@angular-devkit/build-angular'; 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' }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts index 42608031b7db..47f641fb55ff 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/build-optimizer_spec.ts @@ -7,10 +7,10 @@ */ import { Architect } from '@angular-devkit/architect'; -import { BrowserBuilderOutput } from '@angular-devkit/build-angular'; import { join, normalize } from '@angular-devkit/core'; import { lastValueFrom } from 'rxjs'; import { browserBuild, createArchitect, host } from '../../../testing/test-utils'; +import { BrowserBuilderOutput } from '../index'; describe('Browser Builder build optimizer', () => { const targetSpec = { project: 'app', target: 'build' }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/deploy-url_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/deploy-url_spec.ts index 163de9685cf1..69453827b5a5 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/deploy-url_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/deploy-url_spec.ts @@ -7,10 +7,10 @@ */ import { Architect } from '@angular-devkit/architect'; -import { BrowserBuilderOutput } from '@angular-devkit/build-angular'; import { join, normalize, virtualFs } from '@angular-devkit/core'; import { lastValueFrom } from 'rxjs'; import { createArchitect, host } from '../../../testing/test-utils'; +import { BrowserBuilderOutput } from '../index'; describe('Browser Builder deploy url', () => { const targetSpec = { project: 'app', target: 'build' }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts index a13f1241e895..cf2e2a5d6c76 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/index_spec.ts @@ -7,10 +7,10 @@ */ import { Architect } from '@angular-devkit/architect'; -import { BrowserBuilderOutput } from '@angular-devkit/build-angular'; import { join, normalize, tags, virtualFs, workspaces } from '@angular-devkit/core'; import { lastValueFrom } from 'rxjs'; import { createArchitect, host } from '../../../testing/test-utils'; +import { BrowserBuilderOutput } from '../index'; describe('Browser Builder index HTML processing', () => { const targetSpec = { project: 'app', target: 'build' }; diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts index 21c08fda05ba..6e08bedfb5b6 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/unused-files-warning_spec.ts @@ -7,10 +7,10 @@ */ import { Architect } from '@angular-devkit/architect'; -import { BrowserBuilderOutput } from '@angular-devkit/build-angular'; import { logging } from '@angular-devkit/core'; import { debounceTime, take, tap } from 'rxjs'; import { createArchitect, host } from '../../../testing/test-utils'; +import { BrowserBuilderOutput } from '../index'; describe('Browser Builder unused files warnings', () => { const warningMessageSuffix = `is part of the TypeScript compilation but it's unused`; diff --git a/packages/angular_devkit/build_angular/src/tools/webpack/plugins/karma/karma.ts b/packages/angular_devkit/build_angular/src/tools/webpack/plugins/karma/karma.ts index b89bca5c825d..732efca15d63 100644 --- a/packages/angular_devkit/build_angular/src/tools/webpack/plugins/karma/karma.ts +++ b/packages/angular_devkit/build_angular/src/tools/webpack/plugins/karma/karma.ts @@ -8,8 +8,8 @@ /* eslint-disable */ // TODO: cleanup this file, it's copied as is from Angular CLI. -import * as http from 'http'; -import * as path from 'path'; +import * as http from 'node:http'; +import * as path from 'node:path'; import webpack from 'webpack'; import webpackDevMiddleware from 'webpack-dev-middleware'; diff --git a/packages/angular_devkit/schematics/BUILD.bazel b/packages/angular_devkit/schematics/BUILD.bazel index cf0ebd9c7e13..e2c1e4bbbff8 100644 --- a/packages/angular_devkit/schematics/BUILD.bazel +++ b/packages/angular_devkit/schematics/BUILD.bazel @@ -39,11 +39,9 @@ ts_project( name = "schematics_test_lib", testonly = True, srcs = glob(["src/**/*_spec.ts"]), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ ":node_modules/@angular-devkit/core", - ":schematics", + ":schematics_rjs", "//:node_modules/@types/jasmine", "//:node_modules/rxjs", "//packages/angular_devkit/schematics/testing:testing_rjs", diff --git a/packages/angular_devkit/schematics/tasks/BUILD.bazel b/packages/angular_devkit/schematics/tasks/BUILD.bazel index 36cc40b6380d..2e459871a417 100644 --- a/packages/angular_devkit/schematics/tasks/BUILD.bazel +++ b/packages/angular_devkit/schematics/tasks/BUILD.bazel @@ -18,15 +18,12 @@ ts_project( ], ), data = ["package.json"], - # TODO: Fix strict_deps failure - ignore_strict_deps = True, module_name = "@angular-devkit/schematics/tasks", deps = [ "//:node_modules/@types/node", "//:node_modules/ora", "//:node_modules/rxjs", - "//packages/angular_devkit/core:core_rjs", - "//packages/angular_devkit/core/node:node_rjs", + "//packages/angular_devkit/schematics:node_modules/@angular-devkit/core", "//packages/angular_devkit/schematics:schematics_rjs", ], ) diff --git a/packages/angular_devkit/schematics/testing/BUILD.bazel b/packages/angular_devkit/schematics/testing/BUILD.bazel index b0b131b16681..12bbac4ba125 100644 --- a/packages/angular_devkit/schematics/testing/BUILD.bazel +++ b/packages/angular_devkit/schematics/testing/BUILD.bazel @@ -14,12 +14,10 @@ ts_project( include = ["**/*.ts"], ), data = ["package.json"], - # TODO: Fix strict_deps failure - ignore_strict_deps = True, module_name = "@angular-devkit/schematics/testing", deps = [ "//:node_modules/rxjs", - "//packages/angular_devkit/core:core_rjs", + "//packages/angular_devkit/schematics:node_modules/@angular-devkit/core", "//packages/angular_devkit/schematics:schematics_rjs", "//packages/angular_devkit/schematics/tasks/node:node_rjs", "//packages/angular_devkit/schematics/tools:tools_rjs", diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index 81f608a60c90..9261b9611a38 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -86,8 +86,6 @@ ts_project( for (src, _) in ALL_SCHEMA_TARGETS ], data = RUNTIME_ASSETS, - # TODO: Fix strict_deps failure - ignore_strict_deps = True, module_name = "@schematics/angular", deps = [ ":node_modules/@angular-devkit/core", diff --git a/packages/schematics/angular/config/index.ts b/packages/schematics/angular/config/index.ts index 548359b4892f..ad5bc19fb6bf 100644 --- a/packages/schematics/angular/config/index.ts +++ b/packages/schematics/angular/config/index.ts @@ -17,9 +17,10 @@ import { strings, url, } from '@angular-devkit/schematics'; -import { AngularBuilder, readWorkspace, updateWorkspace } from '@schematics/angular/utility'; import { posix as path } from 'node:path'; import { relativePathToWorkspaceRoot } from '../utility/paths'; +import { getWorkspace as readWorkspace, updateWorkspace } from '../utility/workspace'; +import { Builders as AngularBuilder } from '../utility/workspace-models'; import { Schema as ConfigOptions, Type as ConfigType } from './schema'; export default function (options: ConfigOptions): Rule { diff --git a/packages/schematics/angular/e2e/index.ts b/packages/schematics/angular/e2e/index.ts index 4eb2b571f399..0fba1363028e 100644 --- a/packages/schematics/angular/e2e/index.ts +++ b/packages/schematics/angular/e2e/index.ts @@ -17,17 +17,13 @@ import { strings, url, } from '@angular-devkit/schematics'; -import { - AngularBuilder, - DependencyType, - ExistingBehavior, - addDependency, - addRootProvider, - updateWorkspace, -} from '@schematics/angular/utility'; import { posix as path } from 'node:path'; +import { DependencyType, ExistingBehavior, addDependency } from '../utility/dependency'; import { JSONFile } from '../utility/json-file'; import { latestVersions } from '../utility/latest-versions'; +import { addRootProvider } from '../utility/standalone'; +import { updateWorkspace } from '../utility/workspace'; +import { Builders as AngularBuilder } from '../utility/workspace-models'; import { Schema as E2eOptions } from './schema'; /** diff --git a/packages/schematics/angular/environments/index.ts b/packages/schematics/angular/environments/index.ts index ff8034c72523..3ea1de2dd6fd 100644 --- a/packages/schematics/angular/environments/index.ts +++ b/packages/schematics/angular/environments/index.ts @@ -7,8 +7,9 @@ */ import { Rule, SchematicsException, chain } from '@angular-devkit/schematics'; -import { AngularBuilder, TargetDefinition, updateWorkspace } from '@schematics/angular/utility'; import { posix as path } from 'node:path'; +import { TargetDefinition, updateWorkspace } from '../utility/workspace'; +import { Builders as AngularBuilder } from '../utility/workspace-models'; import { Schema as EnvironmentOptions } from './schema'; const ENVIRONMENTS_DIRECTORY = 'environments'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4ce205ae9e3..a53cf490cc1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1049,6 +1049,12 @@ importers: specifier: 3.3.1 version: 3.3.1 + tests: + devDependencies: + '@angular-devkit/schematics': + specifier: workspace:* + version: link:../packages/angular_devkit/schematics + packages: /@ampproject/remapping@2.3.0: @@ -2366,7 +2372,6 @@ packages: /@bazel/typescript@5.8.1(typescript@5.8.1-rc): resolution: {integrity: sha512-NAJ8WQHZL1WE1YmRoCrq/1hhG15Mvy/viWh6TkvFnBeEhNUiQUsA5GYyhU1ztnBIYW03nATO3vwhAEfO7Q0U5g==} - deprecated: No longer maintained, https://github.com/aspect-build/rules_ts is the recommended replacement hasBin: true peerDependencies: typescript: 5.8.1-rc diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d2077a149cc7..ed02a080e9db 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,3 +14,4 @@ packages: - packages/schematics/angular - packages/ngtools/webpack - modules/testing/builder + - tests diff --git a/tests/BUILD.bazel b/tests/BUILD.bazel new file mode 100644 index 000000000000..9d85c5cf8b41 --- /dev/null +++ b/tests/BUILD.bazel @@ -0,0 +1,11 @@ +load("@npm2//:defs.bzl", "npm_link_all_packages") + +# Copyright Google Inc. 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.dev/license +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +npm_link_all_packages() diff --git a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel index ffa50ed858d2..7c58fcc758b7 100644 --- a/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel +++ b/tests/angular_devkit/schematics/tools/file-system-engine-host/BUILD.bazel @@ -21,11 +21,9 @@ ts_project( "**/*.js", ], ), - # TODO: Fix strict_deps failure - ignore_strict_deps = True, deps = [ "//:node_modules/@types/jasmine", "//:node_modules/@types/node", - "//packages/angular_devkit/schematics:schematics_rjs", + "//tests:node_modules/@angular-devkit/schematics", ], ) diff --git a/tests/package.json b/tests/package.json new file mode 100644 index 000000000000..b185a3ce0da7 --- /dev/null +++ b/tests/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "@angular-devkit/schematics": "workspace:*" + } +}