@o3r/testing 13.4.0-prerelease.8 → 13.4.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/mocks/mock-component-generator.d.ts +2 -2
- package/mocks/mock-component-generator.js +2 -2
- package/mocks/mock-component-generator.js.map +1 -1
- package/package.json +31 -32
- package/schematics/fixture-to-component/index.d.ts.map +1 -1
- package/schematics/fixture-to-component/index.js +6 -5
- package/schematics/fixture-to-component/index.js.map +1 -1
- package/schematics/ng-add/fixture/index.js +1 -1
- package/schematics/ng-add/fixture/index.js.map +1 -1
- /package/schematics/fixture-to-component/templates/{__name__.fixture.ts.template → __name__-fixture.ts.template} +0 -0
|
@@ -9,7 +9,7 @@ import { Type } from '@angular/core';
|
|
|
9
9
|
* @param config.isControlValueAccessor
|
|
10
10
|
* @example
|
|
11
11
|
* ```typescript
|
|
12
|
-
* // hero.
|
|
12
|
+
* // hero.ts
|
|
13
13
|
* \@Component({selector: 'hero'})
|
|
14
14
|
* class HeroComponent {
|
|
15
15
|
* \@Input() name: string;
|
|
@@ -17,7 +17,7 @@ import { Type } from '@angular/core';
|
|
|
17
17
|
* }
|
|
18
18
|
*
|
|
19
19
|
* // mock generation
|
|
20
|
-
* class MockComponent extends generateMockComponent('hero.
|
|
20
|
+
* class MockComponent extends generateMockComponent('hero.ts') {}
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export declare function generateMockComponent<T = Record<string, unknown>>(componentPath: string, config?: {
|
|
@@ -113,7 +113,7 @@ function getSelector(parentNode, source, isInDecorator = false, isInComponentCon
|
|
|
113
113
|
* @param config.isControlValueAccessor
|
|
114
114
|
* @example
|
|
115
115
|
* ```typescript
|
|
116
|
-
* // hero.
|
|
116
|
+
* // hero.ts
|
|
117
117
|
* \@Component({selector: 'hero'})
|
|
118
118
|
* class HeroComponent {
|
|
119
119
|
* \@Input() name: string;
|
|
@@ -121,7 +121,7 @@ function getSelector(parentNode, source, isInDecorator = false, isInComponentCon
|
|
|
121
121
|
* }
|
|
122
122
|
*
|
|
123
123
|
* // mock generation
|
|
124
|
-
* class MockComponent extends generateMockComponent('hero.
|
|
124
|
+
* class MockComponent extends generateMockComponent('hero.ts') {}
|
|
125
125
|
* ```
|
|
126
126
|
*/
|
|
127
127
|
function generateMockComponent(componentPath, config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-component-generator.js","sourceRoot":"","sources":["../../src/mocks/mock-component-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n Type,\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport * as ts from 'typescript';\n\n/**\n * Determine if the node in an input field\n * @param node Typescript AST Node\n * @param source Typescript source file\n */\nfunction isInputNode(node: ts.Node, source: ts.SourceFile): node is ts.Decorator {\n return ts.isDecorator(node) && node.getText(source).startsWith('@Input');\n}\n\n/**\n * Determine if the node in an output field\n * @param node Typescript AST Node\n * @param source Typescript source file\n */\nfunction isOutputNode(node: ts.Node, source: ts.SourceFile): node is ts.Decorator {\n return ts.isDecorator(node) && node.getText(source).startsWith('@Output');\n}\n\n/**\n * Get the name of the input / output\n * @param currentNode Typescript AST Node\n * @param decorator Current Input/Output decorator node\n * @param source Typescript source file\n */\nfunction getIOName(currentNode: ts.Node, decorator: ts.Decorator, source: ts.SourceFile): string | undefined {\n const nameInDecorator = decorator.getText(source).match(/@(input|output) *\\( *([\"'](.*)[\"'])? *\\) */i);\n if (nameInDecorator && nameInDecorator[3]) {\n return nameInDecorator[3];\n } else {\n let name: string | undefined;\n currentNode.forEachChild((node) => {\n if (ts.isIdentifier(node)) {\n name = node.getText(source);\n }\n });\n return name;\n }\n}\n\n/**\n * Get the list of Input and Output of a component\n * @param parentNode Typescript AST Node\n * @param source Typescript source file\n */\nfunction parseIO(parentNode: ts.Node, source: ts.SourceFile): { outputs: string[]; inputs: string[] } {\n const outputs: string[] = [];\n const inputs: string[] = [];\n\n parentNode.forEachChild((node) => {\n if (isInputNode(node, source)) {\n const name = getIOName(parentNode, node, source);\n if (name) {\n inputs.push(name);\n }\n } else if (isOutputNode(node, source)) {\n const name = getIOName(parentNode, node, source);\n if (name) {\n outputs.push(name);\n }\n } else {\n const childrenResult = parseIO(node, source);\n inputs.push(...childrenResult.inputs);\n outputs.push(...childrenResult.outputs);\n }\n });\n\n return {\n outputs,\n inputs\n };\n}\n\n/**\n * Get the selector of an angular class\n * @param parentNode Typescript AST Node\n * @param source Typescript source file\n * @param isInDecorator true if the recursive execution is in a decorator\n * @param isInComponentConfig true if the recursive execution is in a component decorator configuration\n */\nfunction getSelector(parentNode: ts.Node, source: ts.SourceFile, isInDecorator = false, isInComponentConfig = false) {\n let foundDecorator = false;\n let foundSelector = false;\n let ret: string | undefined;\n parentNode.forEachChild((node) => {\n if (isInDecorator && isInComponentConfig && ts.isIdentifier(node) && node.getText(source) === 'selector') {\n foundSelector = true;\n } else if (foundSelector && ts.isStringLiteral(node)) {\n ret = node.getText(source).replace(/[\"']/gi, '');\n } else if (isInDecorator && ts.isIdentifier(node) && node.getText(source) === 'Component') {\n foundDecorator = true;\n } else if (isInDecorator && foundDecorator && ts.isObjectLiteralExpression(node)) {\n ret = ret || getSelector(node, source, isInDecorator, true);\n } else {\n ret = ret || getSelector(node, source, isInDecorator || ts.isDecorator(node), isInComponentConfig);\n }\n });\n return ret;\n}\n\n/**\n * Generate a mock class base on a component file\n * @param componentPath Path to the component file to mock\n * @param config Object containing the following configurations:\n * template: should be provided if the template contain `<ng-content></ng-content>`\n * isControlValueAccessor: should be provided if the component extends ControlValueAccessor\n * @param config.template\n * @param config.isControlValueAccessor\n * @example\n * ```typescript\n * // hero.
|
|
1
|
+
{"version":3,"file":"mock-component-generator.js","sourceRoot":"","sources":["../../src/mocks/mock-component-generator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n Type,\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport * as ts from 'typescript';\n\n/**\n * Determine if the node in an input field\n * @param node Typescript AST Node\n * @param source Typescript source file\n */\nfunction isInputNode(node: ts.Node, source: ts.SourceFile): node is ts.Decorator {\n return ts.isDecorator(node) && node.getText(source).startsWith('@Input');\n}\n\n/**\n * Determine if the node in an output field\n * @param node Typescript AST Node\n * @param source Typescript source file\n */\nfunction isOutputNode(node: ts.Node, source: ts.SourceFile): node is ts.Decorator {\n return ts.isDecorator(node) && node.getText(source).startsWith('@Output');\n}\n\n/**\n * Get the name of the input / output\n * @param currentNode Typescript AST Node\n * @param decorator Current Input/Output decorator node\n * @param source Typescript source file\n */\nfunction getIOName(currentNode: ts.Node, decorator: ts.Decorator, source: ts.SourceFile): string | undefined {\n const nameInDecorator = decorator.getText(source).match(/@(input|output) *\\( *([\"'](.*)[\"'])? *\\) */i);\n if (nameInDecorator && nameInDecorator[3]) {\n return nameInDecorator[3];\n } else {\n let name: string | undefined;\n currentNode.forEachChild((node) => {\n if (ts.isIdentifier(node)) {\n name = node.getText(source);\n }\n });\n return name;\n }\n}\n\n/**\n * Get the list of Input and Output of a component\n * @param parentNode Typescript AST Node\n * @param source Typescript source file\n */\nfunction parseIO(parentNode: ts.Node, source: ts.SourceFile): { outputs: string[]; inputs: string[] } {\n const outputs: string[] = [];\n const inputs: string[] = [];\n\n parentNode.forEachChild((node) => {\n if (isInputNode(node, source)) {\n const name = getIOName(parentNode, node, source);\n if (name) {\n inputs.push(name);\n }\n } else if (isOutputNode(node, source)) {\n const name = getIOName(parentNode, node, source);\n if (name) {\n outputs.push(name);\n }\n } else {\n const childrenResult = parseIO(node, source);\n inputs.push(...childrenResult.inputs);\n outputs.push(...childrenResult.outputs);\n }\n });\n\n return {\n outputs,\n inputs\n };\n}\n\n/**\n * Get the selector of an angular class\n * @param parentNode Typescript AST Node\n * @param source Typescript source file\n * @param isInDecorator true if the recursive execution is in a decorator\n * @param isInComponentConfig true if the recursive execution is in a component decorator configuration\n */\nfunction getSelector(parentNode: ts.Node, source: ts.SourceFile, isInDecorator = false, isInComponentConfig = false) {\n let foundDecorator = false;\n let foundSelector = false;\n let ret: string | undefined;\n parentNode.forEachChild((node) => {\n if (isInDecorator && isInComponentConfig && ts.isIdentifier(node) && node.getText(source) === 'selector') {\n foundSelector = true;\n } else if (foundSelector && ts.isStringLiteral(node)) {\n ret = node.getText(source).replace(/[\"']/gi, '');\n } else if (isInDecorator && ts.isIdentifier(node) && node.getText(source) === 'Component') {\n foundDecorator = true;\n } else if (isInDecorator && foundDecorator && ts.isObjectLiteralExpression(node)) {\n ret = ret || getSelector(node, source, isInDecorator, true);\n } else {\n ret = ret || getSelector(node, source, isInDecorator || ts.isDecorator(node), isInComponentConfig);\n }\n });\n return ret;\n}\n\n/**\n * Generate a mock class base on a component file\n * @param componentPath Path to the component file to mock\n * @param config Object containing the following configurations:\n * template: should be provided if the template contain `<ng-content></ng-content>`\n * isControlValueAccessor: should be provided if the component extends ControlValueAccessor\n * @param config.template\n * @param config.isControlValueAccessor\n * @example\n * ```typescript\n * // hero.ts\n * \\@Component({selector: 'hero'})\n * class HeroComponent {\n * \\@Input() name: string;\n * \\@Output() doSomething: EventEmitter<void>\n * }\n *\n * // mock generation\n * class MockComponent extends generateMockComponent('hero.ts') {}\n * ```\n */\nexport function generateMockComponent<T = Record<string, unknown>>(componentPath: string, config?: { template?: string; isControlValueAccessor?: boolean }): Type<T> {\n const program = ts.createProgram([componentPath], {});\n const source = program.getSourceFile(componentPath);\n if (!source) {\n throw new Error('No Source found');\n }\n\n const { outputs, inputs } = parseIO(source, source);\n const mock = class {\n public writeValue: any;\n public registerOnChange: any;\n public registerOnTouched: any;\n\n constructor() {\n Object.keys(outputs)\n .forEach((outputName) => (this as any)[outputName] = new EventEmitter<any>());\n if (config && config.isControlValueAccessor) {\n this.writeValue = () => {};\n this.registerOnChange = () => {};\n this.registerOnTouched = () => {};\n }\n }\n };\n\n return Component({\n template: config?.template || '',\n selector: getSelector(source, source) || '',\n inputs,\n outputs,\n ...(config && config.isControlValueAccessor)\n ? {\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => mock),\n multi: true\n }\n ]\n }\n : {}\n })(mock) as Type<T>;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/testing",
|
|
3
|
-
"version": "13.4.0-
|
|
3
|
+
"version": "13.4.0-rc.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -99,13 +99,13 @@
|
|
|
99
99
|
"@material/slider": "^14.0.0",
|
|
100
100
|
"@ngrx/store": "^20.0.0",
|
|
101
101
|
"@ngx-translate/core": "^15.0.0 || ~16.0.4",
|
|
102
|
-
"@o3r/core": "13.4.0-
|
|
103
|
-
"@o3r/eslint-config": "13.4.0-
|
|
104
|
-
"@o3r/localization": "13.4.0-
|
|
105
|
-
"@o3r/schematics": "13.4.0-
|
|
102
|
+
"@o3r/core": "~13.4.0-rc.2",
|
|
103
|
+
"@o3r/eslint-config": "~13.4.0-rc.2",
|
|
104
|
+
"@o3r/localization": "~13.4.0-rc.2",
|
|
105
|
+
"@o3r/schematics": "~13.4.0-rc.2",
|
|
106
106
|
"@playwright/test": "^1.49.0",
|
|
107
107
|
"@schematics/angular": "^20.0.0",
|
|
108
|
-
"eslint": "~9.
|
|
108
|
+
"eslint": "~9.39.0",
|
|
109
109
|
"pixelmatch": "^7.0.0",
|
|
110
110
|
"pngjs": "^7.0.0",
|
|
111
111
|
"rxjs": "^7.8.1",
|
|
@@ -171,56 +171,56 @@
|
|
|
171
171
|
}
|
|
172
172
|
},
|
|
173
173
|
"dependencies": {
|
|
174
|
-
"@o3r/schematics": "13.4.0-
|
|
174
|
+
"@o3r/schematics": "~13.4.0-rc.2",
|
|
175
175
|
"esbuild": "~0.25.1",
|
|
176
176
|
"module-from-string": "^3.2.0",
|
|
177
177
|
"tslib": "^2.6.2"
|
|
178
178
|
},
|
|
179
179
|
"devDependencies": {
|
|
180
180
|
"@amadeus-it-group/kassette": "^1.7.0",
|
|
181
|
-
"@angular-devkit/build-angular": "~20.3.
|
|
182
|
-
"@angular-devkit/core": "~20.3.
|
|
183
|
-
"@angular-devkit/schematics": "~20.3.
|
|
184
|
-
"@angular/cli": "~20.3.
|
|
185
|
-
"@angular/common": "~20.3.
|
|
186
|
-
"@angular/compiler": "~20.3.
|
|
187
|
-
"@angular/compiler-cli": "~20.3.
|
|
188
|
-
"@angular/core": "~20.3.
|
|
189
|
-
"@angular/forms": "~20.3.
|
|
190
|
-
"@angular/platform-browser": "~20.3.
|
|
191
|
-
"@angular/platform-browser-dynamic": "~20.3.
|
|
181
|
+
"@angular-devkit/build-angular": "~20.3.11",
|
|
182
|
+
"@angular-devkit/core": "~20.3.11",
|
|
183
|
+
"@angular-devkit/schematics": "~20.3.11",
|
|
184
|
+
"@angular/cli": "~20.3.11",
|
|
185
|
+
"@angular/common": "~20.3.13",
|
|
186
|
+
"@angular/compiler": "~20.3.13",
|
|
187
|
+
"@angular/compiler-cli": "~20.3.13",
|
|
188
|
+
"@angular/core": "~20.3.13",
|
|
189
|
+
"@angular/forms": "~20.3.13",
|
|
190
|
+
"@angular/platform-browser": "~20.3.13",
|
|
191
|
+
"@angular/platform-browser-dynamic": "~20.3.13",
|
|
192
192
|
"@babel/core": "~7.28.0",
|
|
193
193
|
"@babel/preset-typescript": "~7.28.0",
|
|
194
|
-
"@compodoc/compodoc": "^1.1.
|
|
194
|
+
"@compodoc/compodoc": "^1.1.32",
|
|
195
195
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
|
|
196
196
|
"@material/slider": "^14.0.0",
|
|
197
197
|
"@ngrx/store": "~20.1.0",
|
|
198
198
|
"@ngx-translate/core": "~16.0.4",
|
|
199
199
|
"@nx/eslint-plugin": "~21.6.0",
|
|
200
200
|
"@nx/jest": "~21.6.0",
|
|
201
|
-
"@o3r/build-helpers": "13.4.0-
|
|
202
|
-
"@o3r/core": "13.4.0-
|
|
203
|
-
"@o3r/eslint-plugin": "13.4.0-
|
|
204
|
-
"@o3r/localization": "13.4.0-
|
|
205
|
-
"@o3r/test-helpers": "13.4.0-
|
|
201
|
+
"@o3r/build-helpers": "~13.4.0-rc.2",
|
|
202
|
+
"@o3r/core": "~13.4.0-rc.2",
|
|
203
|
+
"@o3r/eslint-plugin": "~13.4.0-rc.2",
|
|
204
|
+
"@o3r/localization": "~13.4.0-rc.2",
|
|
205
|
+
"@o3r/test-helpers": "~13.4.0-rc.2",
|
|
206
206
|
"@playwright/test": "~1.56.0",
|
|
207
|
-
"@schematics/angular": "~20.3.
|
|
208
|
-
"@stylistic/eslint-plugin": "~5.
|
|
207
|
+
"@schematics/angular": "~20.3.11",
|
|
208
|
+
"@stylistic/eslint-plugin": "~5.6.0",
|
|
209
209
|
"@swc/helpers": "~0.5.0",
|
|
210
210
|
"@types/jest": "~29.5.2",
|
|
211
211
|
"@types/node": "~22.18.0",
|
|
212
212
|
"@types/pixelmatch": "^5.2.3",
|
|
213
213
|
"@types/pngjs": "^6.0.0",
|
|
214
|
-
"@typescript-eslint/parser": "~8.
|
|
215
|
-
"angular-eslint": "~20.
|
|
214
|
+
"@typescript-eslint/parser": "~8.47.0",
|
|
215
|
+
"angular-eslint": "~20.6.0",
|
|
216
216
|
"concurrently": "^9.1.0",
|
|
217
217
|
"cpy-cli": "^6.0.0",
|
|
218
|
-
"eslint": "~9.
|
|
218
|
+
"eslint": "~9.39.0",
|
|
219
219
|
"eslint-import-resolver-node": "~0.3.9",
|
|
220
220
|
"eslint-import-resolver-typescript": "~4.4.0",
|
|
221
221
|
"eslint-plugin-import": "~2.32.0",
|
|
222
222
|
"eslint-plugin-import-newlines": "~1.4.0",
|
|
223
|
-
"eslint-plugin-jest": "~29.
|
|
223
|
+
"eslint-plugin-jest": "~29.1.0",
|
|
224
224
|
"eslint-plugin-jsdoc": "~54.7.0",
|
|
225
225
|
"eslint-plugin-prefer-arrow": "~1.2.3",
|
|
226
226
|
"eslint-plugin-unicorn": "~60.0.0",
|
|
@@ -234,7 +234,6 @@
|
|
|
234
234
|
"jest-util": "~29.7.0",
|
|
235
235
|
"jsonc-eslint-parser": "~2.4.0",
|
|
236
236
|
"nx": "~21.6.0",
|
|
237
|
-
"pid-from-port": "^1.1.3",
|
|
238
237
|
"pixelmatch": "^7.0.0",
|
|
239
238
|
"pngjs": "^7.0.0",
|
|
240
239
|
"rxjs": "^7.8.1",
|
|
@@ -244,7 +243,7 @@
|
|
|
244
243
|
"ts-node": "~10.9.2",
|
|
245
244
|
"type-fest": "^4.30.1",
|
|
246
245
|
"typescript": "~5.9.2",
|
|
247
|
-
"typescript-eslint": "~8.
|
|
246
|
+
"typescript-eslint": "~8.47.0",
|
|
248
247
|
"zone.js": "~0.15.0"
|
|
249
248
|
},
|
|
250
249
|
"generatorDependencies": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":"AAKA,OAAO,EASL,IAAI,EAKL,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":"AAKA,OAAO,EASL,IAAI,EAKL,MAAM,4BAA4B,CAAC;AAiBpC,OAAO,KAAK,EACV,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAWlB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI,CAmG1E;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,wBAAuC,CAAC"}
|
|
@@ -9,7 +9,7 @@ const change_1 = require("@schematics/angular/utility/change");
|
|
|
9
9
|
const ts = require("typescript");
|
|
10
10
|
const checkFixture = (componentPath, tree, baseFileName) => {
|
|
11
11
|
const files = [
|
|
12
|
-
node_path_1.posix.join((0, node_path_1.dirname)(componentPath), `${baseFileName}
|
|
12
|
+
node_path_1.posix.join((0, node_path_1.dirname)(componentPath), `${baseFileName}-fixture.ts`)
|
|
13
13
|
];
|
|
14
14
|
if (files.some((file) => tree.exists(file))) {
|
|
15
15
|
throw new schematics_2.O3rCliError(`Unable to add fixture to this component because it already has at least one of these files: ${files.join(', ')}.`);
|
|
@@ -22,12 +22,13 @@ const checkFixture = (componentPath, tree, baseFileName) => {
|
|
|
22
22
|
function ngAddFixtureFn(options) {
|
|
23
23
|
return async (tree, context) => {
|
|
24
24
|
try {
|
|
25
|
-
const baseFileName = (0,
|
|
25
|
+
const baseFileName = (0, schematics_2.getComponentBaseFileName)(options.path);
|
|
26
26
|
const { name } = (0, schematics_2.getO3rComponentInfoOrThrowIfNotFound)(tree, options.path);
|
|
27
27
|
checkFixture(options.path, tree, baseFileName);
|
|
28
28
|
const properties = {
|
|
29
29
|
...options,
|
|
30
|
-
componentFixture:
|
|
30
|
+
componentFixture: (0, schematics_2.getComponentFixtureName)(baseFileName),
|
|
31
|
+
componentName: name,
|
|
31
32
|
name: baseFileName
|
|
32
33
|
};
|
|
33
34
|
const createFixtureFilesRule = (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates'), [
|
|
@@ -35,7 +36,7 @@ function ngAddFixtureFn(options) {
|
|
|
35
36
|
(0, schematics_1.renameTemplateFiles)(),
|
|
36
37
|
(0, schematics_1.move)((0, node_path_1.dirname)(options.path))
|
|
37
38
|
]), schematics_1.MergeStrategy.Overwrite);
|
|
38
|
-
const specFilePath = options.specFilePath || node_path_1.posix.join((0, node_path_1.dirname)(options.path), `${
|
|
39
|
+
const specFilePath = options.specFilePath || node_path_1.posix.join((0, node_path_1.dirname)(options.path), `${(0, node_path_1.basename)(options.path, '.ts')}.spec.ts`);
|
|
39
40
|
const updateSpecRule = (0, schematics_1.chain)([
|
|
40
41
|
(0, schematics_2.addImportsRule)(specFilePath, [
|
|
41
42
|
{
|
|
@@ -43,7 +44,7 @@ function ngAddFixtureFn(options) {
|
|
|
43
44
|
importNames: ['O3rElement']
|
|
44
45
|
},
|
|
45
46
|
{
|
|
46
|
-
from: `./${baseFileName}
|
|
47
|
+
from: `./${baseFileName}-fixture`,
|
|
47
48
|
importNames: [`${properties.componentFixture}Component`]
|
|
48
49
|
}
|
|
49
50
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/fixture-to-component/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ function updateFixtureConfig(options) {
|
|
|
49
49
|
tsconfigCompilerOptions.esModuleInterop = true;
|
|
50
50
|
tsconfigCompilerOptions.outDir = 'test';
|
|
51
51
|
tsconfigFile.include ||= [];
|
|
52
|
-
tsconfigFile.include.concat(['**/fixture/', '**/*.fixture.ts', '**/fixtures.ts']);
|
|
52
|
+
tsconfigFile.include.concat(['**/fixture/', '**/*.fixture.ts', '**/*-fixture.ts', '**/fixtures.ts']);
|
|
53
53
|
tree.overwrite(tsconfigPath, JSON.stringify(tsconfigFile, null, 2));
|
|
54
54
|
}
|
|
55
55
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/fixture/index.ts"],"names":[],"mappings":";;AAqBA,kDAuFC;AA5GD,2DAKoC;AACpC,gDAGyB;AAIzB,iCAAiC;AAEjC;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,OAAkG;IACpI,MAAM,QAAQ,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;IAClE;;;;OAIG;IACH,MAAM,kBAAkB,GAAS,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QACzE,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QACjF,MAAM,YAAY,GAAuB,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEzG,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAiB,CAAC;YACjE,YAAY,CAAC,eAAe,KAAK,EAAE,CAAC;YAEpC,MAAM,uBAAuB,GAAG,YAAY,CAAC,eAAe,CAAC;YAE7D,uBAAuB,CAAC,GAAG,GAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,CAAC;gBACpE,KAAK;gBACL,QAAQ;gBACR,YAAY;aACH,CAAC,MAAM,CAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAA,6BAAgB,EAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACtG,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,uBAAuB,CAAC,KAAK,KAAK,EAAE,CAAC;gBACrC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpD,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBACD,uBAAuB,CAAC,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACjH,CAAC;YACD,uBAAuB,CAAC,eAAe,GAAG,IAAI,CAAC;YAC/C,uBAAuB,CAAC,MAAM,GAAG,MAAM,CAAC;YACxC,YAAY,CAAC,OAAO,KAAK,EAAE,CAAC;YAC5B,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/ng-add/fixture/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|