@energycap/components 0.39.8-schematics.20240229-1407 → 0.39.8-schematics.20240307-1409

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@energycap/components",
3
- "version": "0.39.8-schematics.20240229-1407",
3
+ "version": "0.39.8-schematics.20240307-1409",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "dependencies": {
6
6
  "tslib": "^2.0.0"
@@ -25,86 +25,112 @@ function rxjs7Upgrade() {
25
25
  const basePath = process.cwd().replace(/\\/g, '/');
26
26
  tsConfigPaths.forEach(tsConfigPath => {
27
27
  const program = createTsProgram(tree, tsConfigPath, basePath);
28
- // const printer = ts.createPrinter();
29
- // The program includes files from the workspace and external libraries for type checking.
30
- // We only want to migrate non-declaration files from the workspace.
31
- const filesToMigrate = program.getSourceFiles().filter(sourceFile => !sourceFile.isDeclarationFile && !program.isSourceFileFromExternalLibrary(sourceFile));
32
- console.log('filesToMigrate', filesToMigrate.map(f => f.fileName));
28
+ const printer = ts.createPrinter();
29
+ const checker = program.getTypeChecker();
30
+ // const migratedFiles = new Map<string, string>();
31
+ const transformer = getTransformer(checker);
32
+ for (const sourceFile of program.getSourceFiles()) {
33
+ // Skip declaration files and external library files
34
+ if (sourceFile.isDeclarationFile || program.isSourceFileFromExternalLibrary(sourceFile)) {
35
+ continue;
36
+ }
37
+ const result = ts.transform(sourceFile, [transformer]);
38
+ const transformedSourceFile = result.transformed[0];
39
+ const transformedContent = printer.printFile(transformedSourceFile);
40
+ console.log(transformedContent === sourceFile.getFullText() ? 'No changes' : 'Changes detected');
41
+ }
33
42
  });
34
43
  });
35
- function createWorkspaceHost(tree) {
36
- return {
37
- readFile(path) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- const data = tree.read(path);
40
- if (!data) {
41
- throw new Error(`File not found: ${path}`);
42
- }
43
- return core_1.virtualFs.fileBufferToString(data);
44
- });
45
- },
46
- writeFile(path, data) {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- return tree.overwrite(path, data);
49
- });
50
- },
51
- isDirectory(path) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- return !tree.exists(path) && tree.getDir(path).subfiles.length > 0;
54
- });
55
- },
56
- isFile(path) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- return tree.exists(path);
59
- });
60
- }
61
- };
62
- }
63
- function getTsConfigPaths(workspace, tree) {
64
- const buildPaths = new Set();
65
- const testPaths = new Set();
66
- for (const [name, target] of (0, workspace_1.allWorkspaceTargets)(workspace)) {
67
- if (name !== 'build' && name !== 'test') {
68
- continue;
69
- }
70
- for (const [, options] of (0, workspace_1.allTargetOptions)(target)) {
71
- if (options.tsConfig && typeof options.tsConfig === 'string' && tree.exists(options.tsConfig)) {
72
- const normalizedPath = (0, core_1.normalize)(options.tsConfig);
73
- name === 'build' ? buildPaths.add(normalizedPath) : testPaths.add(normalizedPath);
44
+ }
45
+ exports.rxjs7Upgrade = rxjs7Upgrade;
46
+ function createWorkspaceHost(tree) {
47
+ return {
48
+ readFile(path) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const data = tree.read(path);
51
+ if (!data) {
52
+ throw new Error(`File not found: ${path}`);
74
53
  }
54
+ return core_1.virtualFs.fileBufferToString(data);
55
+ });
56
+ },
57
+ writeFile(path, data) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return tree.overwrite(path, data);
60
+ });
61
+ },
62
+ isDirectory(path) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ return !tree.exists(path) && tree.getDir(path).subfiles.length > 0;
65
+ });
66
+ },
67
+ isFile(path) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ return tree.exists(path);
70
+ });
71
+ }
72
+ };
73
+ }
74
+ function getTsConfigPaths(workspace, tree) {
75
+ const buildPaths = new Set();
76
+ const testPaths = new Set();
77
+ for (const [name, target] of (0, workspace_1.allWorkspaceTargets)(workspace)) {
78
+ if (name !== 'build' && name !== 'test') {
79
+ continue;
80
+ }
81
+ for (const [, options] of (0, workspace_1.allTargetOptions)(target)) {
82
+ if (options.tsConfig && typeof options.tsConfig === 'string' && tree.exists(options.tsConfig)) {
83
+ const normalizedPath = (0, core_1.normalize)(options.tsConfig);
84
+ name === 'build' ? buildPaths.add(normalizedPath) : testPaths.add(normalizedPath);
75
85
  }
76
86
  }
77
- return [...buildPaths, ...testPaths];
78
87
  }
79
- function createTsProgram(tree, tsConfigPath, basePath) {
80
- tsConfigPath = (0, path_1.resolve)(basePath, tsConfigPath);
81
- const parsed = parseTsConfig(tsConfigPath, (0, path_1.dirname)(tsConfigPath));
82
- const options = Object.assign(Object.assign({}, parsed.options), { skipLibCheck: true, skipDefaultLibCheck: true });
83
- const host = createTsCompilerHost(tree, options, basePath);
84
- return ts.createProgram(parsed.fileNames, options, host);
85
- }
86
- function parseTsConfig(tsConfigPath, basePath) {
87
- const { config } = ts.readConfigFile(tsConfigPath, ts.sys.readFile);
88
- const parseHost = {
89
- useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,
90
- fileExists: ts.sys.fileExists,
91
- readFile: ts.sys.readFile,
92
- readDirectory: ts.sys.readDirectory
93
- };
94
- return ts.parseJsonConfigFileContent(config, parseHost, basePath, {});
95
- }
96
- function createTsCompilerHost(tree, options, basePath) {
97
- const host = ts.createCompilerHost(options);
98
- // Read files from the virtual tree to prevent conflicting changes between project migrations
99
- host.readFile = (fileName) => {
100
- var _a;
101
- const relativePath = (0, path_1.relative)(basePath, fileName);
102
- const result = (_a = tree.read(relativePath)) === null || _a === void 0 ? void 0 : _a.toString();
103
- // Remove BOM header to prevent TSC parsing errors
104
- return result === null || result === void 0 ? void 0 : result.replace(/^\uFEFF/, '');
88
+ return [...buildPaths];
89
+ }
90
+ function createTsProgram(tree, tsConfigPath, basePath) {
91
+ tsConfigPath = (0, path_1.resolve)(basePath, tsConfigPath);
92
+ const parsed = parseTsConfig(tsConfigPath, (0, path_1.dirname)(tsConfigPath));
93
+ const options = Object.assign(Object.assign({}, parsed.options), { skipLibCheck: true, skipDefaultLibCheck: true });
94
+ const host = createTsCompilerHost(tree, options, basePath);
95
+ return ts.createProgram(parsed.fileNames, options, host);
96
+ }
97
+ function parseTsConfig(tsConfigPath, basePath) {
98
+ const { config } = ts.readConfigFile(tsConfigPath, ts.sys.readFile);
99
+ const parseHost = {
100
+ useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,
101
+ fileExists: ts.sys.fileExists,
102
+ readFile: ts.sys.readFile,
103
+ readDirectory: ts.sys.readDirectory
104
+ };
105
+ return ts.parseJsonConfigFileContent(config, parseHost, basePath, {});
106
+ }
107
+ function createTsCompilerHost(tree, options, basePath) {
108
+ const host = ts.createCompilerHost(options);
109
+ // Read files from the virtual tree to prevent conflicting changes between project migrations
110
+ host.readFile = (fileName) => {
111
+ var _a;
112
+ const relativePath = (0, path_1.relative)(basePath, fileName);
113
+ const result = (_a = tree.read(relativePath)) === null || _a === void 0 ? void 0 : _a.toString();
114
+ // Remove BOM header to prevent TSC parsing errors
115
+ return result === null || result === void 0 ? void 0 : result.replace(/^\uFEFF/, '');
116
+ };
117
+ return host;
118
+ }
119
+ function getTransformer(checker) {
120
+ return (context) => {
121
+ const visit = (node) => {
122
+ // Check if this is a call expression where the expression is a property access expression with the name 'toPromise'
123
+ if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === 'toPromise') {
124
+ // Get the type of the object on which 'toPromise' is being called
125
+ const symbol = checker.getTypeAtLocation(node.expression.expression).symbol;
126
+ if (symbol && ['Observable', 'Subject', 'BehaviorSubject', 'ReplaySubject', 'AsyncSubject'].includes(symbol.name)) {
127
+ // Replace the node with a call expression where the expression is an identifier with the name 'lastValueFrom'
128
+ return ts.factory.createCallExpression(ts.factory.createIdentifier('lastValueFrom'), undefined, [node.expression.expression]);
129
+ }
130
+ }
131
+ return ts.visitEachChild(node, visit, context);
105
132
  };
106
- return host;
107
- }
133
+ return (sourceFile) => ts.visitNode(sourceFile, visit);
134
+ };
108
135
  }
109
- exports.rxjs7Upgrade = rxjs7Upgrade;
110
136
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/components/schematics/ng-generate/rxjs-7-upgrade/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/components/schematics/ng-generate/rxjs-7-upgrade/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAAwE;AACxE,qEAA8F;AAC9F,iCAAiC;AACjC,+BAAkD;AAClD,mFAAmF;AAEnF,SAAgB,YAAY;IAC1B,OAAO,CAAO,IAAU,EAAE,EAAE;QAC1B,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAEzE,sEAAsE;QACtE,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxD,6HAA6H;QAC7H,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEnD,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACnC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YACzC,mDAAmD;YACnD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAE5C,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;gBACjD,oDAAoD;gBACpD,IAAI,UAAU,CAAC,iBAAiB,IAAI,OAAO,CAAC,+BAA+B,CAAC,UAAU,CAAC,EAAE;oBACvF,SAAS;iBACV;gBAED,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvD,MAAM,qBAAqB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;aAClG;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAA,CAAA;AACH,CAAC;AA9BD,oCA8BC;AAED,SAAS,mBAAmB,CAAC,IAAU;IACnC,OAAO;QACC,QAAQ,CAAC,IAAY;;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE;oBACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;iBAC5C;gBACD,OAAO,gBAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;SAAA;QACK,SAAS,CAAC,IAAY,EAAE,IAAY;;gBACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;SAAA;QACK,WAAW,CAAC,IAAY;;gBAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACrE,CAAC;SAAA;QACK,MAAM,CAAC,IAAY;;gBACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;SAAA;KACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAyC,EAAE,IAAU;IAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAA,+BAAmB,EAAC,SAAS,CAAC,EAAE;QAC3D,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,EAAE;YACvC,SAAS;SACV;QAED,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAA,4BAAgB,EAAC,MAAM,CAAC,EAAE;YAClD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC7F,MAAM,cAAc,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aACnF;SACF;KACF;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,IAAU,EAAE,YAAoB,EAAE,QAAgB;IACzE,YAAY,GAAG,IAAA,cAAO,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,EAAE,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC,CAAC;IAClE,MAAM,OAAO,mCAAQ,MAAM,CAAC,OAAO,KAAE,YAAY,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,GAAE,CAAC;IACrF,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,YAAoB,EAAE,QAAgB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG;QAChB,yBAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB;QAC3D,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU;QAC7B,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ;QACzB,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;KACpC,CAAC;IAEF,OAAO,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,OAA2B,EAAE,QAAgB;IACrF,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,6FAA6F;IAC7F,IAAI,CAAC,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;;QACnC,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,0CAAE,QAAQ,EAAE,CAAC;QACnD,kDAAkD;QAClD,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,OAAuB;IAC7C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,KAAK,GAAe,CAAC,IAAI,EAAE,EAAE;YACjC,oHAAoH;YACpH,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC5H,kEAAkE;gBAClE,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBAC5E,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBACjH,8GAA8G;oBAC9G,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC5C,SAAS,EACT,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAC7B,CAAC;iBACH;aACF;YAED,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAA;AACH,CAAC"}