@o3r/testing 13.2.0-prerelease.9 → 13.2.0-rc.2
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.2.0-
|
|
3
|
+
"version": "13.2.0-rc.2",
|
|
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.2.0-
|
|
104
|
-
"@o3r/
|
|
105
|
-
"@o3r/
|
|
103
|
+
"@o3r/core": "^13.2.0-rc.2",
|
|
104
|
+
"@o3r/eslint-config": "^13.2.0-rc.2",
|
|
105
|
+
"@o3r/localization": "^13.2.0-rc.2",
|
|
106
|
+
"@o3r/schematics": "^13.2.0-rc.2",
|
|
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.2.0-
|
|
175
|
+
"@o3r/schematics": "^13.2.0-rc.2",
|
|
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.2.0-
|
|
198
|
-
"@o3r/core": "^13.2.0-
|
|
199
|
-
"@o3r/eslint-plugin": "^13.2.0-
|
|
200
|
-
"@o3r/localization": "^13.2.0-
|
|
201
|
-
"@o3r/test-helpers": "^13.2.0-
|
|
200
|
+
"@nx/eslint-plugin": "~21.6.0",
|
|
201
|
+
"@nx/jest": "~21.6.0",
|
|
202
|
+
"@o3r/build-helpers": "^13.2.0-rc.2",
|
|
203
|
+
"@o3r/core": "^13.2.0-rc.2",
|
|
204
|
+
"@o3r/eslint-plugin": "^13.2.0-rc.2",
|
|
205
|
+
"@o3r/localization": "^13.2.0-rc.2",
|
|
206
|
+
"@o3r/test-helpers": "^13.2.0-rc.2",
|
|
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
|