@analogjs/vitest-angular 3.0.0-alpha.2 → 3.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
- package/package.json +27 -11
- package/setup-serializers.d.ts +1 -0
- package/setup-serializers.js +13 -0
- package/setup-serializers.js.map +1 -0
- package/setup-snapshots.d.ts +1 -26
- package/setup-snapshots.js +10 -103
- package/setup-snapshots.js.map +1 -0
- package/setup-testbed.d.ts +12 -5
- package/setup-testbed.js +23 -24
- package/setup-testbed.js.map +1 -0
- package/setup-zone.d.ts +6 -5
- package/setup-zone.js +90 -105
- package/setup-zone.js.map +1 -0
- package/src/index.d.ts +2 -2
- package/src/index.js +3 -4
- package/src/lib/builders/build/devkit.d.ts +2 -2
- package/src/lib/builders/build/devkit.js +23 -17
- package/src/lib/builders/build/devkit.js.map +1 -0
- package/src/lib/builders/build/plugins/angular-memory-plugin.d.ts +13 -20
- package/src/lib/builders/build/plugins/angular-memory-plugin.js +51 -77
- package/src/lib/builders/build/plugins/angular-memory-plugin.js.map +1 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.d.ts +10 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.js +24 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.js.map +1 -0
- package/src/lib/builders/build/schema.js +53 -0
- package/src/lib/builders/build/schema.js.map +1 -0
- package/src/lib/builders/build/schema.json +44 -44
- package/src/lib/builders/build/utils.d.ts +3 -3
- package/src/lib/builders/build/vitest.impl.d.ts +5 -5
- package/src/lib/builders/build/vitest.impl.js +154 -190
- package/src/lib/builders/build/vitest.impl.js.map +1 -0
- package/src/lib/builders/test/schema.js +51 -0
- package/src/lib/builders/test/schema.js.map +1 -0
- package/src/lib/builders/test/schema.json +44 -44
- package/src/lib/builders/test/vitest.impl.d.ts +1 -1
- package/src/lib/builders/test/vitest.impl.js +48 -58
- package/src/lib/builders/test/vitest.impl.js.map +1 -0
- package/src/lib/snapshot-serializers/angular-fixture.d.ts +2 -0
- package/src/lib/snapshot-serializers/angular-fixture.js +68 -0
- package/src/lib/snapshot-serializers/angular-fixture.js.map +1 -0
- package/src/lib/snapshot-serializers/html-comment.d.ts +2 -0
- package/src/lib/snapshot-serializers/html-comment.js +11 -0
- package/src/lib/snapshot-serializers/html-comment.js.map +1 -0
- package/src/lib/snapshot-serializers/index.d.ts +3 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.d.ts +4 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.js +62 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.js.map +1 -0
- package/src/lib/tools/collection.json +2 -2
- package/src/lib/tools/index.d.ts +1 -0
- package/src/lib/tools/index.js +3 -0
- package/src/lib/tools/package.json +1 -5
- package/src/lib/tools/{src/schematics → schematics}/setup/files/src/test-setup.ts.template +1 -0
- package/src/lib/tools/schematics/setup/index.d.ts +3 -0
- package/src/lib/tools/schematics/setup/index.js +55 -0
- package/src/lib/tools/schematics/setup/index.js.map +1 -0
- package/src/lib/tools/schematics/utils/angular.d.ts +3 -0
- package/src/lib/tools/schematics/utils/angular.js +21 -0
- package/src/lib/tools/schematics/utils/angular.js.map +1 -0
- package/src/lib/tools/schematics/utils/dependencies.d.ts +6 -0
- package/src/lib/tools/schematics/utils/dependencies.js +39 -0
- package/src/lib/tools/schematics/utils/dependencies.js.map +1 -0
- package/src/lib/tools/schematics/utils/index.d.ts +4 -0
- package/src/lib/tools/schematics/utils/index.js +4 -0
- package/src/lib/tools/schematics/utils/versions.d.ts +7 -0
- package/src/lib/tools/schematics/utils/versions.js +18 -0
- package/src/lib/tools/schematics/utils/versions.js.map +1 -0
- package/src/lib/tools/schematics/utils/workspace.d.ts +15 -0
- package/src/lib/tools/schematics/utils/workspace.js +21 -0
- package/src/lib/tools/schematics/utils/workspace.js.map +1 -0
- package/src/lib/tools/src/index.d.ts +1 -1
- package/src/lib/tools/src/schematics/setup/index.d.ts +2 -2
- package/src/lib/tools/src/schematics/utils/angular.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/dependencies.d.ts +2 -2
- package/src/lib/tools/src/schematics/utils/index.d.ts +4 -4
- package/src/lib/tools/src/schematics/utils/versions.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/workspace.d.ts +8 -8
- package/src/lib/tools/src/test-global-setup.d.ts +1 -0
- package/src/test-setup.d.ts +3 -0
- package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.d.ts +0 -7
- package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.js +0 -23
- package/src/lib/builders/build/utils.js +0 -1
- package/src/lib/tools/src/index.js +0 -6
- package/src/lib/tools/src/index.js.map +0 -1
- package/src/lib/tools/src/schematics/setup/index.js +0 -80
- package/src/lib/tools/src/schematics/setup/index.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/angular.js +0 -27
- package/src/lib/tools/src/schematics/utils/angular.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/dependencies.js +0 -49
- package/src/lib/tools/src/schematics/utils/dependencies.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/index.js +0 -8
- package/src/lib/tools/src/schematics/utils/index.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/versions.js +0 -13
- package/src/lib/tools/src/schematics/utils/versions.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/workspace.js +0 -24
- package/src/lib/tools/src/schematics/utils/workspace.js.map +0 -1
- /package/src/lib/tools/{src/schematics → schematics}/jsonc-parser.d.ts +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/semver.d.ts +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/setup/files/vite.config.mts.template +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/setup/schema.d.ts +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/setup/schema.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","names":[],"sources":["../../../../../../../vitest-angular-tools/src/schematics/utils/workspace.ts"],"sourcesContent":["import { Tree, SchematicsException } from '@angular-devkit/schematics';\n\nexport function isNxWorkspace(tree: Tree): boolean {\n return tree.exists('/nx.json');\n}\n\nexport interface WorkspaceProject {\n root: string;\n sourceRoot?: string;\n architect?: Record<\n string,\n { builder?: string; options?: Record<string, unknown> }\n >;\n}\n\nexport interface WorkspaceSchema {\n projects: Record<string, WorkspaceProject>;\n}\n\nexport function getWorkspace(tree: Tree): WorkspaceSchema {\n const workspaceFile = tree.read('angular.json');\n if (!workspaceFile) {\n throw new SchematicsException('Could not find angular.json');\n }\n return JSON.parse(workspaceFile.toString('utf-8'));\n}\n\nexport function getProject(\n workspace: WorkspaceSchema,\n projectName: string,\n): WorkspaceProject {\n const project = workspace.projects[projectName];\n if (!project) {\n throw new SchematicsException(\n `Project \"${projectName}\" not found in angular.json`,\n );\n }\n return project;\n}\n"],"mappings":";;AAEA,SAAgB,cAAc,MAAqB;AACjD,QAAO,KAAK,OAAO,WAAW;;AAgBhC,SAAgB,aAAa,MAA6B;CACxD,MAAM,gBAAgB,KAAK,KAAK,eAAe;AAC/C,KAAI,CAAC,cACH,OAAM,IAAI,2BAAA,oBAAoB,8BAA8B;AAE9D,QAAO,KAAK,MAAM,cAAc,SAAS,QAAQ,CAAC;;AAGpD,SAAgB,WACd,WACA,aACkB;CAClB,MAAM,UAAU,UAAU,SAAS;AACnC,KAAI,CAAC,QACH,OAAM,IAAI,2BAAA,oBACR,YAAY,YAAY,6BACzB;AAEH,QAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { setupSchematic } from
|
|
1
|
+
export { setupSchematic } from "./schematics/setup/index";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Rule } from
|
|
2
|
-
import { Schema } from
|
|
1
|
+
import { Rule } from "@angular-devkit/schematics";
|
|
2
|
+
import { Schema } from "./schema";
|
|
3
3
|
export declare function setupSchematic(options: Schema): Rule;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Tree } from
|
|
1
|
+
import { Tree } from "@angular-devkit/schematics";
|
|
2
2
|
export interface DependencyOptions {
|
|
3
|
-
|
|
3
|
+
browserMode?: boolean;
|
|
4
4
|
}
|
|
5
5
|
export declare function getDevDependencies(angularVersion: string, options?: DependencyOptions): Record<string, string>;
|
|
6
6
|
export declare function addDevDependencies(tree: Tree, angularVersion: string, options?: DependencyOptions): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from "./versions";
|
|
2
|
+
export * from "./angular";
|
|
3
|
+
export * from "./workspace";
|
|
4
|
+
export * from "./dependencies";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.
|
|
1
|
+
export declare const ANALOG_JS_VITE_PLUGIN_ANGULAR = "^3.0.0-alpha.21";
|
|
2
2
|
export declare const JSDOM = "^22.0.0";
|
|
3
3
|
export declare const VITE_TSCONFIG_PATHS = "^4.2.0";
|
|
4
4
|
export declare const VITE = "^7.0.0";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Tree } from
|
|
1
|
+
import { Tree } from "@angular-devkit/schematics";
|
|
2
2
|
export declare function isNxWorkspace(tree: Tree): boolean;
|
|
3
3
|
export interface WorkspaceProject {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
root: string;
|
|
5
|
+
sourceRoot?: string;
|
|
6
|
+
architect?: Record<string, {
|
|
7
|
+
builder?: string;
|
|
8
|
+
options?: Record<string, unknown>;
|
|
9
|
+
}>;
|
|
10
10
|
}
|
|
11
11
|
export interface WorkspaceSchema {
|
|
12
|
-
|
|
12
|
+
projects: Record<string, WorkspaceProject>;
|
|
13
13
|
}
|
|
14
14
|
export declare function getWorkspace(tree: Tree): WorkspaceSchema;
|
|
15
15
|
export declare function getProject(workspace: WorkspaceSchema, projectName: string): WorkspaceProject;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function globalSetup(): void;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export async function esbuildDownlevelPlugin() {
|
|
2
|
-
const { transformWithEsbuild } = await Function('return import("vite")')();
|
|
3
|
-
return {
|
|
4
|
-
name: 'analogs-vitest-esbuild-downlevel-plugin',
|
|
5
|
-
async transform(_code, id) {
|
|
6
|
-
if (_code.includes('async (')) {
|
|
7
|
-
const { code, map } = await transformWithEsbuild(_code, id, {
|
|
8
|
-
loader: 'js',
|
|
9
|
-
format: 'esm',
|
|
10
|
-
target: 'es2016',
|
|
11
|
-
sourcemap: true,
|
|
12
|
-
sourcefile: id,
|
|
13
|
-
});
|
|
14
|
-
return {
|
|
15
|
-
code,
|
|
16
|
-
map,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
return undefined;
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC1kb3dubGV2ZWwtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdml0ZXN0LWFuZ3VsYXIvc3JjL2xpYi9idWlsZGVycy9idWlsZC9wbHVnaW5zL2VzYnVpbGQtZG93bmxldmVsLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQjtJQUMxQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxNQUFPLFFBQVEsQ0FDOUMsdUJBQXVCLENBQ3hCLEVBQXFDLENBQUM7SUFDdkMsT0FBTztRQUNMLElBQUksRUFBRSx5Q0FBeUM7UUFDL0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBVTtZQUN2QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7b0JBQzFELE1BQU0sRUFBRSxJQUFJO29CQUNaLE1BQU0sRUFBRSxLQUFLO29CQUNiLE1BQU0sRUFBRSxRQUFRO29CQUNoQixTQUFTLEVBQUUsSUFBSTtvQkFDZixVQUFVLEVBQUUsRUFBRTtpQkFDZixDQUFDLENBQUM7Z0JBRUgsT0FBTztvQkFDTCxJQUFJO29CQUNKLEdBQUc7aUJBQ0osQ0FBQztZQUNKLENBQUM7WUFFRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgYXN5bmMgZnVuY3Rpb24gZXNidWlsZERvd25sZXZlbFBsdWdpbigpIHtcbiAgY29uc3QgeyB0cmFuc2Zvcm1XaXRoRXNidWlsZCB9ID0gYXdhaXQgKEZ1bmN0aW9uKFxuICAgICdyZXR1cm4gaW1wb3J0KFwidml0ZVwiKScsXG4gICkoKSBhcyBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ3ZpdGUnKT4pO1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhbmFsb2dzLXZpdGVzdC1lc2J1aWxkLWRvd25sZXZlbC1wbHVnaW4nLFxuICAgIGFzeW5jIHRyYW5zZm9ybShfY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgICBpZiAoX2NvZGUuaW5jbHVkZXMoJ2FzeW5jICgnKSkge1xuICAgICAgICBjb25zdCB7IGNvZGUsIG1hcCB9ID0gYXdhaXQgdHJhbnNmb3JtV2l0aEVzYnVpbGQoX2NvZGUsIGlkLCB7XG4gICAgICAgICAgbG9hZGVyOiAnanMnLFxuICAgICAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICAgICAgdGFyZ2V0OiAnZXMyMDE2JyxcbiAgICAgICAgICBzb3VyY2VtYXA6IHRydWUsXG4gICAgICAgICAgc291cmNlZmlsZTogaWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29kZSxcbiAgICAgICAgICBtYXAsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy92aXRlc3QtYW5ndWxhci9zcmMvbGliL2J1aWxkZXJzL2J1aWxkL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBbmd1bGFyTWVtb3J5T3V0cHV0RmlsZXMgPSBNYXA8XG4gIHN0cmluZyxcbiAgeyBjb250ZW50czogVWludDhBcnJheTsgaGFzaDogc3RyaW5nOyBzZXJ2YWJsZTogYm9vbGVhbiB9XG4+O1xuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupSchematic = void 0;
|
|
4
|
-
var index_1 = require("./schematics/setup/index");
|
|
5
|
-
Object.defineProperty(exports, "setupSchematic", { enumerable: true, get: function () { return index_1.setupSchematic; } });
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/vitest-angular-tools/src/index.ts"],"names":[],"mappings":";;;AAAA,kDAA0D;AAAjD,uGAAA,cAAc,OAAA"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupSchematic = setupSchematic;
|
|
4
|
-
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
-
const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
6
|
-
const jsonc_parser_1 = require("jsonc-parser");
|
|
7
|
-
const utils_1 = require("../utils");
|
|
8
|
-
function updateTsConfigSpec(tree, projectRoot) {
|
|
9
|
-
const tsConfigPath = projectRoot
|
|
10
|
-
? `${projectRoot}/tsconfig.spec.json`
|
|
11
|
-
: 'tsconfig.spec.json';
|
|
12
|
-
if (!tree.exists(tsConfigPath)) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const tsConfigContent = tree.read(tsConfigPath);
|
|
16
|
-
if (!tsConfigContent) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const tsConfig = (0, jsonc_parser_1.parse)(tsConfigContent.toString('utf-8'));
|
|
20
|
-
tsConfig.compilerOptions = tsConfig.compilerOptions || {};
|
|
21
|
-
// Remove module (let Vite handle it)
|
|
22
|
-
delete tsConfig.compilerOptions.module;
|
|
23
|
-
// Set target to es2022
|
|
24
|
-
tsConfig.compilerOptions.target = 'es2022';
|
|
25
|
-
// Update types: remove jest, add vitest/globals
|
|
26
|
-
const types = tsConfig.compilerOptions.types || ['node'];
|
|
27
|
-
const filteredTypes = types.filter((t) => t !== 'jest' && t !== 'jasmine');
|
|
28
|
-
if (!filteredTypes.includes('vitest/globals')) {
|
|
29
|
-
filteredTypes.push('vitest/globals');
|
|
30
|
-
}
|
|
31
|
-
tsConfig.compilerOptions.types = filteredTypes;
|
|
32
|
-
// Set files to include test-setup.ts
|
|
33
|
-
tsConfig.files = ['src/test-setup.ts'];
|
|
34
|
-
tree.overwrite(tsConfigPath, JSON.stringify(tsConfig, null, 2) + '\n');
|
|
35
|
-
}
|
|
36
|
-
function updateAngularJson(tree, projectName) {
|
|
37
|
-
const workspace = (0, utils_1.getWorkspace)(tree);
|
|
38
|
-
const project = workspace.projects[projectName];
|
|
39
|
-
if (!project.architect) {
|
|
40
|
-
project.architect = {};
|
|
41
|
-
}
|
|
42
|
-
project.architect['test'] = {
|
|
43
|
-
builder: '@analogjs/vitest-angular:test',
|
|
44
|
-
};
|
|
45
|
-
tree.overwrite('angular.json', JSON.stringify(workspace, null, 2) + '\n');
|
|
46
|
-
}
|
|
47
|
-
function generateFiles(projectRoot, majorAngularVersion, isNx, browserMode) {
|
|
48
|
-
return (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./files'), [
|
|
49
|
-
(0, schematics_1.applyTemplates)({
|
|
50
|
-
majorAngularVersion,
|
|
51
|
-
isNx,
|
|
52
|
-
browserMode,
|
|
53
|
-
}),
|
|
54
|
-
(0, schematics_1.move)(projectRoot),
|
|
55
|
-
]));
|
|
56
|
-
}
|
|
57
|
-
function setupSchematic(options) {
|
|
58
|
-
return (tree, context) => {
|
|
59
|
-
const angularVersion = (0, utils_1.getAngularVersion)(tree);
|
|
60
|
-
const majorAngularVersion = (0, utils_1.getMajorAngularVersion)(angularVersion);
|
|
61
|
-
const workspace = (0, utils_1.getWorkspace)(tree);
|
|
62
|
-
const project = (0, utils_1.getProject)(workspace, options.project);
|
|
63
|
-
const projectRoot = project.root || '';
|
|
64
|
-
const isNx = (0, utils_1.isNxWorkspace)(tree);
|
|
65
|
-
const browserMode = options.browserMode ?? false;
|
|
66
|
-
// Add devDependencies
|
|
67
|
-
(0, utils_1.addDevDependencies)(tree, angularVersion, { browserMode });
|
|
68
|
-
// Update tsconfig.spec.json (if exists)
|
|
69
|
-
updateTsConfigSpec(tree, projectRoot);
|
|
70
|
-
// Update angular.json test target
|
|
71
|
-
updateAngularJson(tree, options.project);
|
|
72
|
-
// Schedule package install
|
|
73
|
-
context.addTask(new tasks_1.NodePackageInstallTask());
|
|
74
|
-
// Generate files
|
|
75
|
-
return (0, schematics_1.chain)([
|
|
76
|
-
generateFiles(projectRoot, majorAngularVersion, isNx, browserMode),
|
|
77
|
-
]);
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/setup/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAngularVersion = getAngularVersion;
|
|
4
|
-
exports.getMajorAngularVersion = getMajorAngularVersion;
|
|
5
|
-
const schematics_1 = require("@angular-devkit/schematics");
|
|
6
|
-
const semver_1 = require("semver");
|
|
7
|
-
function getAngularVersion(tree) {
|
|
8
|
-
const packageJson = tree.read('package.json');
|
|
9
|
-
if (!packageJson) {
|
|
10
|
-
throw new schematics_1.SchematicsException('Could not find package.json');
|
|
11
|
-
}
|
|
12
|
-
const pkg = JSON.parse(packageJson.toString('utf-8'));
|
|
13
|
-
const angularVersion = pkg.dependencies?.['@angular/core'] ||
|
|
14
|
-
pkg.devDependencies?.['@angular/core'];
|
|
15
|
-
if (!angularVersion) {
|
|
16
|
-
throw new schematics_1.SchematicsException('Could not find @angular/core in package.json');
|
|
17
|
-
}
|
|
18
|
-
return angularVersion;
|
|
19
|
-
}
|
|
20
|
-
function getMajorAngularVersion(angularVersion) {
|
|
21
|
-
const coerced = (0, semver_1.coerce)(angularVersion);
|
|
22
|
-
if (!coerced) {
|
|
23
|
-
throw new schematics_1.SchematicsException(`Could not parse Angular version: ${angularVersion}`);
|
|
24
|
-
}
|
|
25
|
-
return (0, semver_1.major)(coerced);
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=angular.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"angular.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/angular.ts"],"names":[],"mappings":";;AAGA,8CAkBC;AAED,wDAQC;AA/BD,2DAAuE;AACvE,mCAAuC;AAEvC,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,cAAc,GAClB,GAAG,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC;QACnC,GAAG,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC;IAEzC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,gCAAmB,CAC3B,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,sBAAsB,CAAC,cAAsB;IAC3D,MAAM,OAAO,GAAG,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,gCAAmB,CAC3B,oCAAoC,cAAc,EAAE,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDevDependencies = getDevDependencies;
|
|
4
|
-
exports.addDevDependencies = addDevDependencies;
|
|
5
|
-
const schematics_1 = require("@angular-devkit/schematics");
|
|
6
|
-
const semver_1 = require("semver");
|
|
7
|
-
const versions_1 = require("./versions");
|
|
8
|
-
function getDevDependencies(angularVersion, options = {}) {
|
|
9
|
-
const escapedVersion = angularVersion.replace(/[~^]/, '');
|
|
10
|
-
if ((0, semver_1.lt)(escapedVersion, '17.0.0')) {
|
|
11
|
-
throw new schematics_1.SchematicsException('Angular v17.0.0 or newer is required.');
|
|
12
|
-
}
|
|
13
|
-
const deps = {
|
|
14
|
-
'@analogjs/vite-plugin-angular': versions_1.ANALOG_JS_VITE_PLUGIN_ANGULAR,
|
|
15
|
-
vite: versions_1.VITE,
|
|
16
|
-
vitest: versions_1.VITEST_V4,
|
|
17
|
-
'vite-tsconfig-paths': versions_1.VITE_TSCONFIG_PATHS,
|
|
18
|
-
};
|
|
19
|
-
if (options.browserMode) {
|
|
20
|
-
deps['@vitest/browser-playwright'] = versions_1.VITEST_BROWSER_PLAYWRIGHT;
|
|
21
|
-
deps['playwright'] = versions_1.PLAYWRIGHT;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
deps['jsdom'] = versions_1.JSDOM;
|
|
25
|
-
}
|
|
26
|
-
return deps;
|
|
27
|
-
}
|
|
28
|
-
function addDevDependencies(tree, angularVersion, options = {}) {
|
|
29
|
-
const packageJsonPath = 'package.json';
|
|
30
|
-
const packageJson = tree.read(packageJsonPath);
|
|
31
|
-
if (!packageJson) {
|
|
32
|
-
throw new schematics_1.SchematicsException('Could not find package.json');
|
|
33
|
-
}
|
|
34
|
-
const pkg = JSON.parse(packageJson.toString('utf-8'));
|
|
35
|
-
const devDeps = getDevDependencies(angularVersion, options);
|
|
36
|
-
pkg.devDependencies = pkg.devDependencies || {};
|
|
37
|
-
Object.entries(devDeps).forEach(([name, version]) => {
|
|
38
|
-
pkg.devDependencies[name] = version;
|
|
39
|
-
});
|
|
40
|
-
// Sort devDependencies alphabetically
|
|
41
|
-
pkg.devDependencies = Object.keys(pkg.devDependencies)
|
|
42
|
-
.sort()
|
|
43
|
-
.reduce((acc, key) => {
|
|
44
|
-
acc[key] = pkg.devDependencies[key];
|
|
45
|
-
return acc;
|
|
46
|
-
}, {});
|
|
47
|
-
tree.overwrite(packageJsonPath, JSON.stringify(pkg, null, 2) + '\n');
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=dependencies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/dependencies.ts"],"names":[],"mappings":";;AAgBA,gDAyBC;AAED,gDA4BC;AAvED,2DAAuE;AACvE,mCAA4B;AAC5B,yCAQoB;AAMpB,SAAgB,kBAAkB,CAChC,cAAsB,EACtB,UAA6B,EAAE;IAE/B,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE1D,IAAI,IAAA,WAAE,EAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,gCAAmB,CAAC,uCAAuC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,IAAI,GAA2B;QACnC,+BAA+B,EAAE,wCAA6B;QAC9D,IAAI,EAAE,eAAI;QACV,MAAM,EAAE,oBAAS;QACjB,qBAAqB,EAAE,8BAAmB;KAC3C,CAAC;IAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,4BAA4B,CAAC,GAAG,oCAAyB,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,GAAG,qBAAU,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAK,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAChC,IAAU,EACV,cAAsB,EACtB,UAA6B,EAAE;IAE/B,MAAM,eAAe,GAAG,cAAc,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAE5D,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;QAClD,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;SACnD,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,GAA2B,EAAE,GAAG,EAAE,EAAE;QAC3C,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./versions"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./angular"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./workspace"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./dependencies"), exports);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,yDAA+B"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PLAYWRIGHT = exports.VITEST_BROWSER_PLAYWRIGHT = exports.VITEST_V4 = exports.VITE = exports.VITE_TSCONFIG_PATHS = exports.JSDOM = exports.ANALOG_JS_VITE_PLUGIN_ANGULAR = void 0;
|
|
4
|
-
// Version constants (Angular 20+)
|
|
5
|
-
exports.ANALOG_JS_VITE_PLUGIN_ANGULAR = '^3.0.0-alpha.2';
|
|
6
|
-
exports.JSDOM = '^22.0.0';
|
|
7
|
-
exports.VITE_TSCONFIG_PATHS = '^4.2.0';
|
|
8
|
-
exports.VITE = '^7.0.0';
|
|
9
|
-
exports.VITEST_V4 = '^4.0.0';
|
|
10
|
-
// Browser mode dependencies
|
|
11
|
-
exports.VITEST_BROWSER_PLAYWRIGHT = '^4.0.0';
|
|
12
|
-
exports.PLAYWRIGHT = '^1.54.0';
|
|
13
|
-
//# sourceMappingURL=versions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/versions.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AACrB,QAAA,6BAA6B,GAAG,gBAAgB,CAAC;AACjD,QAAA,KAAK,GAAG,SAAS,CAAC;AAClB,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,IAAI,GAAG,QAAQ,CAAC;AAChB,QAAA,SAAS,GAAG,QAAQ,CAAC;AAElC,4BAA4B;AACf,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,UAAU,GAAG,SAAS,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isNxWorkspace = isNxWorkspace;
|
|
4
|
-
exports.getWorkspace = getWorkspace;
|
|
5
|
-
exports.getProject = getProject;
|
|
6
|
-
const schematics_1 = require("@angular-devkit/schematics");
|
|
7
|
-
function isNxWorkspace(tree) {
|
|
8
|
-
return tree.exists('/nx.json');
|
|
9
|
-
}
|
|
10
|
-
function getWorkspace(tree) {
|
|
11
|
-
const workspaceFile = tree.read('angular.json');
|
|
12
|
-
if (!workspaceFile) {
|
|
13
|
-
throw new schematics_1.SchematicsException('Could not find angular.json');
|
|
14
|
-
}
|
|
15
|
-
return JSON.parse(workspaceFile.toString('utf-8'));
|
|
16
|
-
}
|
|
17
|
-
function getProject(workspace, projectName) {
|
|
18
|
-
const project = workspace.projects[projectName];
|
|
19
|
-
if (!project) {
|
|
20
|
-
throw new schematics_1.SchematicsException(`Project "${projectName}" not found in angular.json`);
|
|
21
|
-
}
|
|
22
|
-
return project;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=workspace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/workspace.ts"],"names":[],"mappings":";;AAEA,sCAEC;AAeD,oCAMC;AAED,gCAWC;AAtCD,2DAAuE;AAEvE,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAeD,SAAgB,YAAY,CAAC,IAAU;IACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,gCAAmB,CAAC,6BAA6B,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,UAAU,CACxB,SAA0B,EAC1B,WAAmB;IAEnB,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,gCAAmB,CAC3B,YAAY,WAAW,6BAA6B,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|