@o3r/testing 13.2.0-prerelease.9 → 13.3.0-prerelease.1
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/package.json +35 -29
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +16 -56
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/jest/index.d.ts +13 -0
- package/schematics/ng-add/jest/index.d.ts.map +1 -0
- package/schematics/ng-add/jest/index.js +76 -0
- package/schematics/ng-add/jest/index.js.map +1 -0
- package/schematics/ng-add/playwright/index.d.ts +4 -0
- package/schematics/ng-add/playwright/index.d.ts.map +1 -1
- package/schematics/ng-add/playwright/index.js +9 -0
- package/schematics/ng-add/playwright/index.js.map +1 -1
- /package/schematics/ng-add/{templates → jest/templates}/project/jest.config.js.template +0 -0
- /package/schematics/ng-add/{templates → jest/templates}/project/testing/setup-jest.ts.template +0 -0
- /package/schematics/ng-add/{templates → jest/templates}/workspace/jest.config.js.template +0 -0
- /package/schematics/ng-add/{templates → jest/templates}/workspace/jest.config.ut.js.template +0 -0
- /package/schematics/ng-add/{templates → jest/templates}/workspace/tsconfig.jest.json.template +0 -0
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@o3r/testing",
|
3
|
-
"version": "13.
|
3
|
+
"version": "13.3.0-prerelease.1",
|
4
4
|
"publishConfig": {
|
5
5
|
"access": "public"
|
6
6
|
},
|
@@ -100,18 +100,20 @@
|
|
100
100
|
"@material/slider": "^14.0.0",
|
101
101
|
"@ngrx/store": "^20.0.0",
|
102
102
|
"@ngx-translate/core": "^15.0.0 || ~16.0.4",
|
103
|
-
"@o3r/core": "^13.
|
104
|
-
"@o3r/
|
105
|
-
"@o3r/
|
103
|
+
"@o3r/core": "^13.3.0-prerelease.1",
|
104
|
+
"@o3r/eslint-config": "^13.3.0-prerelease.1",
|
105
|
+
"@o3r/localization": "^13.3.0-prerelease.1",
|
106
|
+
"@o3r/schematics": "^13.3.0-prerelease.1",
|
106
107
|
"@playwright/test": "^1.49.0",
|
107
108
|
"@schematics/angular": "^20.0.0",
|
109
|
+
"eslint": "~9.35.0",
|
108
110
|
"pixelmatch": "^7.0.0",
|
109
111
|
"pngjs": "^7.0.0",
|
110
112
|
"rxjs": "^7.8.1",
|
111
113
|
"temporal-polyfill": "^0.3.0",
|
112
114
|
"ts-node": "~10.9.2",
|
113
115
|
"type-fest": "^4.30.1",
|
114
|
-
"typescript": "^5.
|
116
|
+
"typescript": "^5.9.0"
|
115
117
|
},
|
116
118
|
"peerDependenciesMeta": {
|
117
119
|
"@amadeus-it-group/kassette": {
|
@@ -141,6 +143,9 @@
|
|
141
143
|
"@o3r/core": {
|
142
144
|
"optional": true
|
143
145
|
},
|
146
|
+
"@o3r/eslint-config": {
|
147
|
+
"optional": true
|
148
|
+
},
|
144
149
|
"@o3r/localization": {
|
145
150
|
"optional": true
|
146
151
|
},
|
@@ -167,24 +172,24 @@
|
|
167
172
|
}
|
168
173
|
},
|
169
174
|
"dependencies": {
|
170
|
-
"@o3r/schematics": "^13.
|
175
|
+
"@o3r/schematics": "^13.3.0-prerelease.1",
|
171
176
|
"esbuild": "~0.25.1",
|
172
177
|
"module-from-string": "^3.2.0",
|
173
178
|
"tslib": "^2.6.2"
|
174
179
|
},
|
175
180
|
"devDependencies": {
|
176
181
|
"@amadeus-it-group/kassette": "^1.7.0",
|
177
|
-
"@angular-devkit/build-angular": "~20.
|
178
|
-
"@angular-devkit/core": "~20.
|
179
|
-
"@angular-devkit/schematics": "~20.
|
180
|
-
"@angular/cli": "~20.
|
181
|
-
"@angular/common": "~20.
|
182
|
-
"@angular/compiler": "~20.
|
183
|
-
"@angular/compiler-cli": "~20.
|
184
|
-
"@angular/core": "~20.
|
185
|
-
"@angular/forms": "~20.
|
186
|
-
"@angular/platform-browser": "~20.
|
187
|
-
"@angular/platform-browser-dynamic": "~20.
|
182
|
+
"@angular-devkit/build-angular": "~20.3.0",
|
183
|
+
"@angular-devkit/core": "~20.3.0",
|
184
|
+
"@angular-devkit/schematics": "~20.3.0",
|
185
|
+
"@angular/cli": "~20.3.0",
|
186
|
+
"@angular/common": "~20.3.0",
|
187
|
+
"@angular/compiler": "~20.3.0",
|
188
|
+
"@angular/compiler-cli": "~20.3.0",
|
189
|
+
"@angular/core": "~20.3.0",
|
190
|
+
"@angular/forms": "~20.3.0",
|
191
|
+
"@angular/platform-browser": "~20.3.0",
|
192
|
+
"@angular/platform-browser-dynamic": "~20.3.0",
|
188
193
|
"@babel/core": "~7.28.0",
|
189
194
|
"@babel/preset-typescript": "~7.27.0",
|
190
195
|
"@compodoc/compodoc": "^1.1.19",
|
@@ -192,23 +197,23 @@
|
|
192
197
|
"@material/slider": "^14.0.0",
|
193
198
|
"@ngrx/store": "~20.0.0",
|
194
199
|
"@ngx-translate/core": "~16.0.4",
|
195
|
-
"@nx/eslint-plugin": "~21.
|
196
|
-
"@nx/jest": "~21.
|
197
|
-
"@o3r/build-helpers": "^13.
|
198
|
-
"@o3r/core": "^13.
|
199
|
-
"@o3r/eslint-plugin": "^13.
|
200
|
-
"@o3r/localization": "^13.
|
201
|
-
"@o3r/test-helpers": "^13.
|
200
|
+
"@nx/eslint-plugin": "~21.6.0",
|
201
|
+
"@nx/jest": "~21.6.0",
|
202
|
+
"@o3r/build-helpers": "^13.3.0-prerelease.1",
|
203
|
+
"@o3r/core": "^13.3.0-prerelease.1",
|
204
|
+
"@o3r/eslint-plugin": "^13.3.0-prerelease.1",
|
205
|
+
"@o3r/localization": "^13.3.0-prerelease.1",
|
206
|
+
"@o3r/test-helpers": "^13.3.0-prerelease.1",
|
202
207
|
"@playwright/test": "~1.55.0",
|
203
|
-
"@schematics/angular": "~20.
|
208
|
+
"@schematics/angular": "~20.3.0",
|
204
209
|
"@stylistic/eslint-plugin": "~5.3.0",
|
205
210
|
"@swc/helpers": "~0.5.0",
|
206
211
|
"@types/jest": "~29.5.2",
|
207
|
-
"@types/node": "
|
212
|
+
"@types/node": "~22.18.0",
|
208
213
|
"@types/pixelmatch": "^5.2.3",
|
209
214
|
"@types/pngjs": "^6.0.0",
|
210
215
|
"@typescript-eslint/parser": "~8.43.0",
|
211
|
-
"angular-eslint": "~20.
|
216
|
+
"angular-eslint": "~20.3.0",
|
212
217
|
"concurrently": "^9.1.0",
|
213
218
|
"cpy-cli": "^6.0.0",
|
214
219
|
"eslint": "~9.35.0",
|
@@ -229,7 +234,7 @@
|
|
229
234
|
"jest-preset-angular": "~14.6.0",
|
230
235
|
"jest-util": "~29.7.0",
|
231
236
|
"jsonc-eslint-parser": "~2.4.0",
|
232
|
-
"nx": "~21.
|
237
|
+
"nx": "~21.6.0",
|
233
238
|
"pid-from-port": "^1.1.3",
|
234
239
|
"pixelmatch": "^7.0.0",
|
235
240
|
"pngjs": "^7.0.0",
|
@@ -244,7 +249,8 @@
|
|
244
249
|
"zone.js": "~0.15.0"
|
245
250
|
},
|
246
251
|
"generatorDependencies": {
|
247
|
-
"@angular-builders/jest": "~20.0.0"
|
252
|
+
"@angular-builders/jest": "~20.0.0",
|
253
|
+
"rimraf": "^6.0.1"
|
248
254
|
},
|
249
255
|
"schematics": "./collection.json",
|
250
256
|
"ng-update": {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAKA,OAAO,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAyIpC;;;GAGG;AACH,eAAO,MAAM,KAAK,wBAAgC,CAAC"}
|
@@ -7,6 +7,7 @@ const prompt_1 = require("@angular/cli/src/utilities/prompt");
|
|
7
7
|
const schematics_1 = require("@angular-devkit/schematics");
|
8
8
|
const schematics_2 = require("@o3r/schematics");
|
9
9
|
const fixture_1 = require("./fixture");
|
10
|
+
const jest_1 = require("./jest");
|
10
11
|
const playwright_1 = require("./playwright");
|
11
12
|
/**
|
12
13
|
* List of external dependencies to be added to the project as peer dependencies
|
@@ -32,9 +33,16 @@ function ngAddFn(options) {
|
|
32
33
|
const testPackageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
|
33
34
|
const packageJson = JSON.parse(fs.readFileSync(testPackageJsonPath, { encoding: 'utf8' }));
|
34
35
|
const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
|
35
|
-
const workingDirectory = workspaceProject?.root || '.';
|
36
36
|
const projectType = workspaceProject?.projectType || 'application';
|
37
37
|
let installJest;
|
38
|
+
let isEslintInstalled;
|
39
|
+
try {
|
40
|
+
require.resolve('@o3r/eslint-config');
|
41
|
+
isEslintInstalled = true;
|
42
|
+
}
|
43
|
+
catch {
|
44
|
+
isEslintInstalled = false;
|
45
|
+
}
|
38
46
|
const testFramework = options.testingFramework || (0, schematics_2.getTestFramework)((0, schematics_2.getWorkspaceConfig)(tree), context);
|
39
47
|
switch (testFramework) {
|
40
48
|
case 'jest': {
|
@@ -67,7 +75,12 @@ function ngAddFn(options) {
|
|
67
75
|
(0, fixture_1.updateFixtureConfig)(options),
|
68
76
|
(0, schematics_2.removePackages)(['@otter/testing']),
|
69
77
|
(0, schematics_2.addVsCodeRecommendations)(['Orta.vscode-jest']),
|
70
|
-
installPlaywright
|
78
|
+
...installPlaywright
|
79
|
+
? [
|
80
|
+
(0, playwright_1.updatePlaywright)(options)
|
81
|
+
]
|
82
|
+
: [],
|
83
|
+
...installJest ? [(0, jest_1.setupJest)(options)] : [],
|
71
84
|
(0, schematics_2.registerPackageCollectionSchematics)(packageJson),
|
72
85
|
(0, schematics_2.setupSchematicsParamsForProject)({
|
73
86
|
'@o3r/core:component': schematicsDefaultOptions,
|
@@ -76,63 +89,10 @@ function ngAddFn(options) {
|
|
76
89
|
}, options.projectName),
|
77
90
|
(0, schematics_2.ngAddDependenciesRule)(options, testPackageJsonPath, {
|
78
91
|
dependenciesToInstall,
|
79
|
-
devDependenciesToInstall: devDependenciesToInstall.concat(installJest
|
80
|
-
? [
|
81
|
-
'@angular-builders/jest',
|
82
|
-
'@types/jest',
|
83
|
-
'jest',
|
84
|
-
'jest-environment-jsdom',
|
85
|
-
'jest-preset-angular',
|
86
|
-
'jest-util',
|
87
|
-
'ts-jest'
|
88
|
-
]
|
89
|
-
: [], installPlaywright
|
90
|
-
? [
|
91
|
-
'@playwright/test',
|
92
|
-
'rimraf'
|
93
|
-
]
|
94
|
-
: [])
|
92
|
+
devDependenciesToInstall: devDependenciesToInstall.concat(installJest ? (0, jest_1.jestDependencies)(isEslintInstalled) : [], installPlaywright ? playwright_1.playwrightDependencies : [])
|
95
93
|
}),
|
96
94
|
options.skipLinter ? (0, schematics_1.noop)() : (0, schematics_2.applyEditorConfig)()
|
97
95
|
];
|
98
|
-
if (installJest) {
|
99
|
-
if (workingDirectory === undefined) {
|
100
|
-
throw new schematics_2.O3rCliError(`Could not find working directory for project ${options.projectName || ''}`);
|
101
|
-
}
|
102
|
-
else {
|
103
|
-
if (workspaceProject) {
|
104
|
-
const packageJsonFile = tree.readJson(`${workingDirectory}/package.json`);
|
105
|
-
packageJsonFile.scripts ||= {};
|
106
|
-
packageJsonFile.scripts.test = 'jest';
|
107
|
-
tree.overwrite(`${workingDirectory}/package.json`, JSON.stringify(packageJsonFile, null, 2));
|
108
|
-
const rootRelativePath = path.posix.relative(workingDirectory, tree.root.path.replace(/^\//, './'));
|
109
|
-
const jestConfigFilesForProject = () => (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates/project'), [
|
110
|
-
(0, schematics_1.template)({
|
111
|
-
...options,
|
112
|
-
rootRelativePath,
|
113
|
-
isAngularSetup: tree.exists('/angular.json')
|
114
|
-
}),
|
115
|
-
(0, schematics_1.move)(workingDirectory),
|
116
|
-
(0, schematics_1.renameTemplateFiles)()
|
117
|
-
]), schematics_1.MergeStrategy.Overwrite);
|
118
|
-
rules.push(jestConfigFilesForProject);
|
119
|
-
}
|
120
|
-
if (tree.exists('/jest.config.js')) {
|
121
|
-
context.logger.info('Jest configuration files already exist at the root of the project.');
|
122
|
-
}
|
123
|
-
else {
|
124
|
-
const jestConfigFilesForWorkspace = () => (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates/workspace'), [
|
125
|
-
(0, schematics_1.template)({
|
126
|
-
...options,
|
127
|
-
tsconfigPath: `./${['tsconfig.base.json', 'tsconfig.json'].find((tsconfigBase) => tree.exists(`./${tsconfigBase}`))}`
|
128
|
-
}),
|
129
|
-
(0, schematics_1.move)(tree.root.path),
|
130
|
-
(0, schematics_1.renameTemplateFiles)()
|
131
|
-
]), schematics_1.MergeStrategy.Default);
|
132
|
-
rules.push(jestConfigFilesForWorkspace);
|
133
|
-
}
|
134
|
-
}
|
135
|
-
}
|
136
96
|
return () => (0, schematics_1.chain)(rules)(tree, context);
|
137
97
|
}
|
138
98
|
catch (e) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAClC,8DAE2C;AAC3C,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Rule } from '@angular-devkit/schematics';
|
2
|
+
import type { NgAddSchematicsSchema } from '../../../schematics/ng-add/schema';
|
3
|
+
/**
|
4
|
+
* List of dependencies needed to run jest
|
5
|
+
* @param eslintDependencies
|
6
|
+
*/
|
7
|
+
export declare const jestDependencies: (eslintDependencies: boolean) => string[];
|
8
|
+
/**
|
9
|
+
* Setup jest as recommended
|
10
|
+
* @param options
|
11
|
+
*/
|
12
|
+
export declare function setupJest(options: NgAddSchematicsSchema): Rule;
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/jest/index.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,oBAAoB,OAAO,aAS3D,CAAC;AAeF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAqC9D"}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.jestDependencies = void 0;
|
4
|
+
exports.setupJest = setupJest;
|
5
|
+
const path = require("node:path");
|
6
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
7
|
+
const schematics_2 = require("@o3r/schematics");
|
8
|
+
/**
|
9
|
+
* List of dependencies needed to run jest
|
10
|
+
* @param eslintDependencies
|
11
|
+
*/
|
12
|
+
const jestDependencies = (eslintDependencies) => [
|
13
|
+
'@angular-builders/jest',
|
14
|
+
'@types/jest',
|
15
|
+
'jest',
|
16
|
+
'jest-environment-jsdom',
|
17
|
+
'jest-preset-angular',
|
18
|
+
'jest-util',
|
19
|
+
'ts-jest',
|
20
|
+
...eslintDependencies ? ['eslint-plugin-jest'] : []
|
21
|
+
];
|
22
|
+
exports.jestDependencies = jestDependencies;
|
23
|
+
/**
|
24
|
+
* Run jest on 'npm/yarn run test'
|
25
|
+
* @param workingDirectory
|
26
|
+
*/
|
27
|
+
function setupJestScript(workingDirectory) {
|
28
|
+
return (tree) => {
|
29
|
+
const packageJsonFile = tree.readJson(`${workingDirectory}/package.json`);
|
30
|
+
packageJsonFile.scripts ||= {};
|
31
|
+
packageJsonFile.scripts.test = 'jest';
|
32
|
+
tree.overwrite(`${workingDirectory}/package.json`, JSON.stringify(packageJsonFile, null, 2));
|
33
|
+
};
|
34
|
+
}
|
35
|
+
/**
|
36
|
+
* Setup jest as recommended
|
37
|
+
* @param options
|
38
|
+
*/
|
39
|
+
function setupJest(options) {
|
40
|
+
return (tree, context) => {
|
41
|
+
const workspaceProject = options.projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[options.projectName] : undefined;
|
42
|
+
const workingDirectory = workspaceProject?.root || '.';
|
43
|
+
if (workingDirectory === undefined) {
|
44
|
+
throw new schematics_2.O3rCliError(`Could not find working directory for project ${options.projectName || ''}`);
|
45
|
+
}
|
46
|
+
const rootRelativePath = path.posix.relative(workingDirectory, tree.root.path.replace(/^\//, './'));
|
47
|
+
const setupJestInProject = (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./jest/templates/project'), [
|
48
|
+
(0, schematics_1.template)({
|
49
|
+
...options,
|
50
|
+
rootRelativePath,
|
51
|
+
isAngularSetup: tree.exists('/angular.json')
|
52
|
+
}),
|
53
|
+
(0, schematics_1.move)(workingDirectory),
|
54
|
+
(0, schematics_1.renameTemplateFiles)()
|
55
|
+
]), schematics_1.MergeStrategy.Overwrite);
|
56
|
+
const rules = [
|
57
|
+
setupJestScript(workingDirectory),
|
58
|
+
setupJestInProject
|
59
|
+
];
|
60
|
+
if (tree.exists('/jest.config.js')) {
|
61
|
+
context.logger.info('Jest configuration files already exist at the root of the project.');
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
rules.push((0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./jest/templates/workspace'), [
|
65
|
+
(0, schematics_1.template)({
|
66
|
+
...options,
|
67
|
+
tsconfigPath: `./${['tsconfig.base.json', 'tsconfig.json'].find((tsconfigBase) => tree.exists(`./${tsconfigBase}`))}`
|
68
|
+
}),
|
69
|
+
(0, schematics_1.move)(tree.root.path),
|
70
|
+
(0, schematics_1.renameTemplateFiles)()
|
71
|
+
]), schematics_1.MergeStrategy.Default));
|
72
|
+
}
|
73
|
+
return (0, schematics_1.chain)(rules)(tree, context);
|
74
|
+
};
|
75
|
+
}
|
76
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/jest/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,9 @@
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
2
2
|
import { NgAddPackageOptions } from '@o3r/schematics';
|
3
|
+
/**
|
4
|
+
* List of dependencies required by playwright
|
5
|
+
*/
|
6
|
+
export declare const playwrightDependencies: string[];
|
3
7
|
/**
|
4
8
|
* Add Playwright to Otter application
|
5
9
|
* @param options @see RuleFactory.options
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,IAAI,EAKL,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAKzB;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAkDnE"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,IAAI,EAKL,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAKzB;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAIlC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAkDnE"}
|
@@ -1,10 +1,19 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.playwrightDependencies = void 0;
|
3
4
|
exports.updatePlaywright = updatePlaywright;
|
4
5
|
const path = require("node:path");
|
5
6
|
const core_1 = require("@angular-devkit/core");
|
6
7
|
const schematics_1 = require("@angular-devkit/schematics");
|
7
8
|
const schematics_2 = require("@o3r/schematics");
|
9
|
+
/**
|
10
|
+
* List of dependencies required by playwright
|
11
|
+
*/
|
12
|
+
exports.playwrightDependencies = [
|
13
|
+
'@playwright/test',
|
14
|
+
'@types/node',
|
15
|
+
'rimraf'
|
16
|
+
];
|
8
17
|
/**
|
9
18
|
* Add Playwright to Otter application
|
10
19
|
* @param options @see RuleFactory.options
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/playwright/index.ts"],"names":[],"mappings":";;;AAsCA,4CAkDC;AAxFD,kCAAkC;AAClC,+CAE8B;AAC9B,2DAWoC;AACpC,gDAIyB;AAKzB;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,kBAAkB;IAClB,aAAa;IACb,QAAQ;CACT,CAAC;AAEF;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAA4B;IAC3D,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;QAExH,mBAAmB;QACnB,MAAM,aAAa,GAAG,YAAY,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC5H,SAAS;uBACJ;;;;;CAKZ,CAAC;gBACM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAgB,CAAC;YAClE,WAAW,CAAC,OAAO,KAAK,EAAE,CAAC;YAC3B,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,8DAA8D,CAAC;YAC1G,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;YAC9F,MAAM,YAAY,GAAG,GAAG,IAAA,8BAAiB,GAAE,YAAY,CAAC;YACxD,MAAM,OAAO,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3G,MAAM,UAAU,GAAG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC;YAEtE,MAAM,cAAc,GAAG,IAAA,kBAAK,EAAC,IAAA,gBAAG,EAAC,wBAAwB,CAAC,EAAE;gBAC1D,IAAA,qBAAQ,EAAC;oBACP,GAAG,cAAO;oBACV,UAAU;oBACV,YAAY;iBACb,CAAC;gBACF,IAAA,gCAAmB,GAAE;gBACrB,IAAA,iBAAI,EAAC,gBAAgB,CAAC;aACvB,CAAC,CAAC;YAEH,OAAO,IAAA,sBAAS,EAAC,cAAc,EAAE,0BAAa,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
File without changes
|
/package/schematics/ng-add/{templates → jest/templates}/project/testing/setup-jest.ts.template
RENAMED
File without changes
|
File without changes
|
/package/schematics/ng-add/{templates → jest/templates}/workspace/jest.config.ut.js.template
RENAMED
File without changes
|
/package/schematics/ng-add/{templates → jest/templates}/workspace/tsconfig.jest.json.template
RENAMED
File without changes
|