depflow 2.0.0-dev.1 → 2.0.0-dev.3

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.
Files changed (94) hide show
  1. package/build/{bin → cli}/DepFLowCLI.d.ts +4 -2
  2. package/build/{bin → cli}/DepFLowCLI.js +60 -36
  3. package/build/cli/DepFLowCLI.js.map +1 -0
  4. package/build/{bin → cli}/bin.js +15 -4
  5. package/build/cli/bin.js.map +1 -0
  6. package/build/config/Config.d.ts +28 -0
  7. package/build/config/Config.js +46 -0
  8. package/build/config/Config.js.map +1 -0
  9. package/build/config/ImportMap.d.ts +38 -0
  10. package/build/config/ImportMap.js +83 -0
  11. package/build/config/ImportMap.js.map +1 -0
  12. package/build/config/Tsconfig.d.ts +57 -0
  13. package/build/config/Tsconfig.js +99 -0
  14. package/build/config/Tsconfig.js.map +1 -0
  15. package/build/config/schemas.d.ts +592 -0
  16. package/build/config/schemas.js +51 -0
  17. package/build/config/schemas.js.map +1 -0
  18. package/build/support/Dependency.d.ts +127 -0
  19. package/build/support/Dependency.js +307 -0
  20. package/build/support/Dependency.js.map +1 -0
  21. package/build/support/File.d.ts +80 -0
  22. package/build/support/File.js +123 -0
  23. package/build/support/File.js.map +1 -0
  24. package/build/support/Git.js.map +1 -0
  25. package/build/support/PathFixer.d.ts +36 -0
  26. package/build/support/PathFixer.js +161 -0
  27. package/build/support/PathFixer.js.map +1 -0
  28. package/build/support/PathResolver/AliasCompiler.d.ts +25 -0
  29. package/build/support/PathResolver/AliasCompiler.js +39 -0
  30. package/build/support/PathResolver/AliasCompiler.js.map +1 -0
  31. package/build/support/PathResolver/PathResolver.d.ts +45 -0
  32. package/build/support/PathResolver/PathResolver.js +99 -0
  33. package/build/support/PathResolver/PathResolver.js.map +1 -0
  34. package/build/support/PathResolver/PathRewriter.d.ts +18 -0
  35. package/build/support/PathResolver/PathRewriter.js +47 -0
  36. package/build/support/PathResolver/PathRewriter.js.map +1 -0
  37. package/build/support/PathResolver/Utils.d.ts +36 -0
  38. package/build/support/PathResolver/Utils.js +45 -0
  39. package/build/support/PathResolver/Utils.js.map +1 -0
  40. package/build/support/PathResolver.d.ts +100 -0
  41. package/build/support/PathResolver.js +280 -0
  42. package/build/support/PathResolver.js.map +1 -0
  43. package/build/support/Resolver/AliasCompiler.d.ts +18 -0
  44. package/build/support/Resolver/AliasCompiler.js +32 -0
  45. package/build/support/Resolver/AliasCompiler.js.map +1 -0
  46. package/build/support/Resolver/PathResolver.d.ts +25 -0
  47. package/build/support/Resolver/PathResolver.js +79 -0
  48. package/build/support/Resolver/PathResolver.js.map +1 -0
  49. package/build/support/Resolver/PathRewriter.d.ts +10 -0
  50. package/build/support/Resolver/PathRewriter.js +39 -0
  51. package/build/support/Resolver/PathRewriter.js.map +1 -0
  52. package/build/support/Resolver/Utils.d.ts +36 -0
  53. package/build/support/Resolver/Utils.js +45 -0
  54. package/build/support/Resolver/Utils.js.map +1 -0
  55. package/build/support/Utils.d.ts +30 -0
  56. package/build/support/Utils.js +95 -0
  57. package/build/support/Utils.js.map +1 -0
  58. package/build/support/Validator.d.ts +22 -0
  59. package/build/support/Validator.js +28 -0
  60. package/build/support/Validator.js.map +1 -0
  61. package/package.json +4 -3
  62. package/build/Config.d.ts +0 -15
  63. package/build/Config.js +0 -21
  64. package/build/Config.js.map +0 -1
  65. package/build/Dependency.d.ts +0 -86
  66. package/build/Dependency.js +0 -264
  67. package/build/Dependency.js.map +0 -1
  68. package/build/File.d.ts +0 -9
  69. package/build/File.js +0 -41
  70. package/build/File.js.map +0 -1
  71. package/build/Git.js.map +0 -1
  72. package/build/PathFixer.d.ts +0 -35
  73. package/build/PathFixer.js +0 -143
  74. package/build/PathFixer.js.map +0 -1
  75. package/build/Tsconfig.d.ts +0 -13
  76. package/build/Tsconfig.js +0 -16
  77. package/build/Tsconfig.js.map +0 -1
  78. package/build/Utils.d.ts +0 -16
  79. package/build/Utils.js +0 -40
  80. package/build/Utils.js.map +0 -1
  81. package/build/Validator.d.ts +0 -9
  82. package/build/Validator.js +0 -15
  83. package/build/Validator.js.map +0 -1
  84. package/build/bin/DepFLowCLI.js.map +0 -1
  85. package/build/bin/bin.d.ts +0 -2
  86. package/build/bin/bin.js.map +0 -1
  87. package/build/bin.js +0 -26
  88. package/build/bin.js.map +0 -1
  89. package/build/schemas.d.ts +0 -296
  90. package/build/schemas.js +0 -29
  91. package/build/schemas.js.map +0 -1
  92. /package/build/{bin.d.ts → cli/bin.d.ts} +0 -0
  93. /package/build/{Git.d.ts → support/Git.d.ts} +0 -0
  94. /package/build/{Git.js → support/Git.js} +0 -0
@@ -1,264 +0,0 @@
1
- /**
2
- * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Dependency utility.
4
- * @license Apache-2.0
5
- */
6
- import { promises as FS } from "fs";
7
- import { spawn } from "child_process";
8
- import Git from "./Git.js";
9
- import File from "./File.js";
10
- import Validator from "./Validator.js";
11
- export class Dependency {
12
- static include = ['*'];
13
- name;
14
- repo;
15
- branch;
16
- builder;
17
- /**
18
- * Create a new dependency
19
- * @param dependency Dependency to create
20
- * @param logger Logger to use
21
- * @returns New dependency
22
- */
23
- constructor(dependency) {
24
- Validator.validateRepo(dependency.repo);
25
- this.name = dependency.name;
26
- this.repo = dependency.repo;
27
- this.branch = dependency.branch;
28
- this.builder = dependency.builder;
29
- }
30
- /** Get the folder of the dependency */
31
- get folder() {
32
- return this.name.startsWith('.') ? this.name : `.dep/${this.name}`;
33
- }
34
- /**
35
- * Clone a dependency
36
- * @param options Options to use
37
- * @returns Promise<void>
38
- */
39
- async clone(options = {}) {
40
- if (await File.exists(this.folder)) {
41
- if (!options.force)
42
- return await this.pull();
43
- else
44
- await this.uninstall();
45
- }
46
- return await Git.clone(this.repo, this.folder, this.branch);
47
- }
48
- /**
49
- * Pull a dependency
50
- * @returns Promise<void>
51
- */
52
- async pull() {
53
- return await Git.pull(this.folder, this.branch);
54
- }
55
- /**
56
- * Install a dependency
57
- * @param options Options to use
58
- * @returns Promise<void>
59
- */
60
- async install() {
61
- const output = [];
62
- try {
63
- const cloneResult = await this.clone();
64
- output.push(cloneResult);
65
- const buildResult = await this.build();
66
- output.push(...buildResult);
67
- return output;
68
- }
69
- catch (error) {
70
- throw error;
71
- }
72
- }
73
- /**
74
- * Uninstall a dependency
75
- * @returns Promise<void>
76
- */
77
- async uninstall() {
78
- try {
79
- const output = [];
80
- const moves = this.builder
81
- ? this.builder
82
- .map(step => step.move ? Dependency.getAllOutFolders(step.move) : [])
83
- .reduce((acc, val) => acc.concat(val), [])
84
- : [];
85
- const folders = [this.folder, ...moves];
86
- for (const folder of folders) {
87
- if (!await File.exists(folder))
88
- continue;
89
- output.push(`Removing &C4${folder}`);
90
- await FS.rm(folder, { recursive: true });
91
- }
92
- return output;
93
- }
94
- catch (error) {
95
- throw error;
96
- }
97
- }
98
- async build() {
99
- const output = [];
100
- if (!this.builder || this.builder.length === 0)
101
- return output;
102
- const shell = spawn('/bin/bash', [], {
103
- stdio: ['pipe', 'pipe', 'pipe']
104
- });
105
- try {
106
- for (const step of this.builder) {
107
- if (step.run) {
108
- const run = typeof step.run === 'string' ? [step.run] : step.run;
109
- const commands = [`cd ${this.folder}`, ...run];
110
- const results = await this.executeCommands(commands, shell);
111
- output.push(...results);
112
- }
113
- if (step.move) {
114
- const moveResults = await this.move(step.move);
115
- output.push(...moveResults);
116
- }
117
- }
118
- }
119
- catch (error) {
120
- throw error;
121
- }
122
- finally {
123
- shell.kill();
124
- }
125
- return output;
126
- }
127
- async move(move) {
128
- if (!move)
129
- return [];
130
- const output = [];
131
- if (typeof move === 'string' || Array.isArray(move)) {
132
- const moves = Array.isArray(move) ? move : [move];
133
- for (const destination of moves) {
134
- const moveResult = await this.moveFiles(destination);
135
- output.push(...moveResult);
136
- }
137
- }
138
- else {
139
- for (const key in move) {
140
- const value = move[key];
141
- const destinations = typeof value === 'string' ? [value] : value;
142
- for (const destination of destinations) {
143
- const moveResult = await this.moveFiles(destination, key);
144
- output.push(...moveResult);
145
- }
146
- }
147
- }
148
- return output;
149
- }
150
- /**
151
- * Execute multiple commands in a shell
152
- * @param commands Commands to execute
153
- * @param customShell Custom shell to use (optional)
154
- * @returns Output of the commands
155
- */
156
- async executeCommands(commands, shell) {
157
- const output = [];
158
- shell.stderr.on('data', data => output.push(data.toString()));
159
- for (const command of commands) {
160
- const result = await this.executeCommand(shell, command);
161
- output.push(...result);
162
- }
163
- shell.kill();
164
- return output;
165
- }
166
- /**
167
- * Execute a command in a shell
168
- * @param shell Shell to execute the command in
169
- * @param command Command to execute
170
- * @returns Output of the command
171
- */
172
- async executeCommand(shell, command) {
173
- const output = [];
174
- output.push(`&RRunning command &C4${command}`);
175
- await new Promise((resolve, reject) => {
176
- shell.stdin.write(command + '\n');
177
- const marker = `__END_${Date.now()}__`;
178
- shell.stdin.write(`echo ${marker}\n`);
179
- let out = '';
180
- const listener = (data) => {
181
- if (data.toString().includes(marker)) {
182
- shell.stdout.off('data', listener);
183
- output.push(out.trim());
184
- resolve();
185
- }
186
- else
187
- out += data.toString().trim();
188
- };
189
- shell.stdout.on('data', listener);
190
- shell.stderr.once('data', data => {
191
- shell.stdout.off('data', listener);
192
- output.push(data.toString().trim());
193
- reject(new Error(`Command "${command}" failed with error: ${data.toString().trim()}`));
194
- });
195
- });
196
- return output;
197
- }
198
- /**
199
- * Move files from a dependency
200
- * @param destination Destination folder
201
- * @param source Source folder
202
- * @returns The output of the operation
203
- */
204
- async moveFiles(destination, source) {
205
- const output = [];
206
- destination = Array.isArray(destination) ? destination : [destination];
207
- source = Dependency.getSourcePath(this.folder, source);
208
- for (const folder of destination) {
209
- try {
210
- if (!await File.exists(source))
211
- throw new Error(`Source path ${source} does not exist.`);
212
- if (!await File.exists(folder)) {
213
- if (!await File.isFile(source))
214
- await FS.mkdir(folder, { recursive: true });
215
- else {
216
- const toCreate = folder.slice(0, folder.lastIndexOf('/'));
217
- if (!await File.exists(toCreate))
218
- await FS.mkdir(toCreate, { recursive: true });
219
- }
220
- }
221
- output.push(`&RMoving source &C4${source} &Rto &C4${folder}`);
222
- await FS.cp(source, folder, { recursive: true, force: true });
223
- }
224
- catch (error) {
225
- throw new Error(`Failed to move files from ${this.name} to ${folder}, \n${error}`);
226
- }
227
- }
228
- return output;
229
- }
230
- /**
231
- * Get the source path of a dependency
232
- * @param source Source path
233
- * @returns Source path
234
- */
235
- static getSourcePath(folder, source) {
236
- folder = folder.endsWith('/') ? folder.slice(0, -1) : folder;
237
- if (!source)
238
- return folder;
239
- source = source.startsWith('/') ? source.slice(1) : source;
240
- return `${folder}/${source}`.replace(/ /g, '\\ ');
241
- }
242
- /**
243
- * Get all folders of a dependency
244
- * @param builder Builder to get folders from
245
- * @returns Folders
246
- */
247
- static getAllOutFolders(builder) {
248
- if (!builder)
249
- return [];
250
- const folders = [];
251
- if (typeof builder === 'string')
252
- folders.push(builder);
253
- else if (Array.isArray(builder))
254
- folders.push(...builder);
255
- else
256
- for (const key in builder) {
257
- const out = this.getAllOutFolders(builder[key]);
258
- folders.push(...out);
259
- }
260
- return folders;
261
- }
262
- }
263
- export default Dependency;
264
- //# sourceMappingURL=Dependency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dependency.js","sourceRoot":"","sources":["../src/Dependency.ts"],"names":[],"mappings":"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"}
package/build/File.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export declare class File {
2
- static exists(path: string): Promise<boolean>;
3
- static isFile(path: string): Promise<boolean>;
4
- static isDirectory(path: string): Promise<boolean>;
5
- static read(path: string): Promise<string>;
6
- static write(path: string, content: string): Promise<void>;
7
- }
8
- export declare namespace File { }
9
- export default File;
package/build/File.js DELETED
@@ -1,41 +0,0 @@
1
- import { promises as FS } from 'fs';
2
- export class File {
3
- static async exists(path) {
4
- try {
5
- await FS.access(path);
6
- return true;
7
- }
8
- catch {
9
- return false;
10
- }
11
- }
12
- static async isFile(path) {
13
- try {
14
- const stat = await FS.stat(path);
15
- return stat.isFile();
16
- }
17
- catch {
18
- return false;
19
- }
20
- }
21
- static async isDirectory(path) {
22
- try {
23
- const stat = await FS.stat(path);
24
- return stat.isDirectory();
25
- }
26
- catch {
27
- return false;
28
- }
29
- }
30
- static async read(path) {
31
- if (!await this.isFile(path)) {
32
- throw new Error(`Path ${path} is not a file.`);
33
- }
34
- return await FS.readFile(path, 'utf-8');
35
- }
36
- static async write(path, content) {
37
- await FS.writeFile(path, content, 'utf-8');
38
- }
39
- }
40
- export default File;
41
- //# sourceMappingURL=File.js.map
package/build/File.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"File.js","sourceRoot":"","sources":["../src/File.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,OAAO,IAAI;IACb,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAY;QAC5B,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAY;QAC5B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC7B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAY;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC7B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAe;QAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACJ;AAID,eAAe,IAAI,CAAC"}
package/build/Git.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Git.js","sourceRoot":"","sources":["../src/Git.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,MAAM,GAAG;IACL;;;;OAIG;IACK,MAAM,CAAC,IAAI,CAAC,OAAe;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAG,CAAC,CAAC;YAEhE,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7C,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,MAAM,YAAY,GAAG,4BAA4B,IAAI,KAAK,OAAO,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;oBACrG,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAY,EAAE,MAAe;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,MAAc;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,MAAe;QAClD,MAAM,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;;YACzD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACJ;AAED,eAAe,GAAG,CAAC"}
@@ -1,35 +0,0 @@
1
- export declare class PathFixer {
2
- readonly info: PathFixer.ProjectInfo;
3
- readonly projectRoot: string;
4
- static readonly IMPORT_REGEX: RegExp;
5
- static readonly PROJECT_ROOT: string;
6
- static readonly EXTENSIONS: string[];
7
- absoluteRoot: string;
8
- private _alias;
9
- constructor(info: PathFixer.ProjectInfo, projectRoot?: string);
10
- get alias(): PathFixer.Alias[];
11
- run(): Promise<void>;
12
- watch(): Promise<void>;
13
- private process;
14
- private processReplacer;
15
- watchHandler(queue: Map<string, NodeJS.Timeout>, eventType: string, filename: string): Promise<void>;
16
- private watchTimeout;
17
- static getAllFiles(dir: string, extensions: string[]): Promise<string[]>;
18
- }
19
- export declare namespace PathFixer {
20
- interface Paths {
21
- [alias: string]: string[];
22
- }
23
- interface Alias {
24
- alias: string;
25
- target: string;
26
- isWildcard: boolean;
27
- }
28
- interface ProjectInfo {
29
- baseUrl?: string;
30
- rootDir?: string;
31
- outDir: string;
32
- paths: Paths;
33
- }
34
- }
35
- export default PathFixer;
@@ -1,143 +0,0 @@
1
- /**
2
- * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Utility for path fixing with dual support for baseUrl and rootDir.
4
- * @license Apache-2.0
5
- */
6
- import path from 'path';
7
- import syncFs, { promises as fs } from 'fs';
8
- import { Logger, Utilities } from 'vortez';
9
- import File from './File.js';
10
- const logger = new Logger({ prefix: 'PathFixer' });
11
- export class PathFixer {
12
- info;
13
- projectRoot;
14
- static IMPORT_REGEX = /(from\s+['"])([^'"]+)(['"])/g;
15
- static PROJECT_ROOT = process.cwd();
16
- static EXTENSIONS = ['js', '.d.ts'];
17
- absoluteRoot;
18
- _alias = null;
19
- constructor(info, projectRoot = PathFixer.PROJECT_ROOT) {
20
- this.info = info;
21
- this.projectRoot = projectRoot;
22
- const fullPath = path.isAbsolute(info.outDir)
23
- ? info.outDir
24
- : path.join(projectRoot, info.outDir);
25
- this.absoluteRoot = path.resolve(fullPath);
26
- }
27
- get alias() {
28
- if (this._alias)
29
- return this._alias;
30
- const result = [];
31
- const tsConfigBase = path.resolve(this.projectRoot, this.info.baseUrl || '.');
32
- const sourceRoot = path.resolve(this.projectRoot, this.info.rootDir || this.info.baseUrl || '.');
33
- for (const [key, value] of Object.entries(this.info.paths || {})) {
34
- const isWildcard = key.endsWith('/*');
35
- const aliasBase = key.replace(/\/\*$/, '');
36
- const targetRaw = value[0].replace(/\/\*$/, '');
37
- const absoluteSourceTarget = path.resolve(tsConfigBase, targetRaw);
38
- const relativeToSourceRoot = path.relative(sourceRoot, absoluteSourceTarget);
39
- const absoluteBuildTarget = path.resolve(this.absoluteRoot, relativeToSourceRoot);
40
- result.push({ alias: aliasBase, target: absoluteBuildTarget, isWildcard });
41
- }
42
- this._alias = result;
43
- return result;
44
- }
45
- async run() {
46
- logger.log('&C2Starting path fixer...');
47
- if (!await File.exists(this.absoluteRoot)) {
48
- return void logger.warn(`The root directory &C4${this.absoluteRoot}&R does not exist.`);
49
- }
50
- const files = await PathFixer.getAllFiles(this.absoluteRoot, PathFixer.EXTENSIONS);
51
- logger.log(`&C2Found &C3${files.length} &C2files in &C4${this.absoluteRoot}.`);
52
- console.log(JSON.stringify(this, null, 2));
53
- let rewrittenCount = 0;
54
- for (const file of files) {
55
- const changed = await this.process(file);
56
- if (changed)
57
- rewrittenCount++;
58
- }
59
- logger.log(`&C2Path aliases rewritten in &C3${rewrittenCount} &C2files.`);
60
- }
61
- async watch() {
62
- await this.run();
63
- logger.log(`&C2Starting watcher in &C4${this.absoluteRoot}.`);
64
- if (!await Utilities.fileExists(this.absoluteRoot)) {
65
- await fs.mkdir(this.absoluteRoot, { recursive: true });
66
- }
67
- const queue = new Map();
68
- syncFs.watch(this.absoluteRoot, { recursive: true }, (eventType, filename) => {
69
- this.watchHandler(queue, eventType, filename);
70
- });
71
- }
72
- async process(file) {
73
- const content = await fs.readFile(file, 'utf8');
74
- const newContent = content.replace(PathFixer.IMPORT_REGEX, (match, prefix, modulePath, suffix) => {
75
- return this.processReplacer(file, match, prefix, modulePath, suffix);
76
- });
77
- if (content === newContent)
78
- return false;
79
- await fs.writeFile(file, newContent, 'utf8');
80
- return true;
81
- }
82
- processReplacer(file, match, prefix, modulePath, suffix) {
83
- const config = this.alias.find(c => c.isWildcard ? modulePath.startsWith(`${c.alias}/`) : modulePath === c.alias);
84
- if (!config)
85
- return match;
86
- const currentFileDir = path.dirname(file);
87
- let absoluteTarget;
88
- if (config.isWildcard) {
89
- const subPath = modulePath.length > config.alias.length
90
- ? modulePath.substring(config.alias.length + 1)
91
- : '';
92
- absoluteTarget = path.join(config.target, subPath);
93
- }
94
- else {
95
- absoluteTarget = config.target;
96
- }
97
- let relativeTarget = path.relative(currentFileDir, absoluteTarget);
98
- if (!relativeTarget.startsWith('.'))
99
- relativeTarget = `./${relativeTarget}`;
100
- const finalTarget = Utilities.Path.normalize(relativeTarget);
101
- return `${prefix}${finalTarget}${suffix}`;
102
- }
103
- async watchHandler(queue, eventType, filename) {
104
- if (!filename || !PathFixer.EXTENSIONS.some(ext => filename.endsWith(ext)))
105
- return;
106
- const fullPath = path.join(this.absoluteRoot, filename);
107
- if (queue.has(fullPath))
108
- clearTimeout(queue.get(fullPath));
109
- queue.set(fullPath, setTimeout(() => this.watchTimeout(fullPath, filename), 300));
110
- }
111
- async watchTimeout(file, name) {
112
- try {
113
- const stat = await fs.stat(file);
114
- if (!stat.isFile())
115
- return;
116
- const changed = await this.process(file);
117
- if (changed)
118
- logger.log(`&C2File &C4${name}&C2 rewritten.`);
119
- }
120
- catch (error) {
121
- if (error.code !== 'ENOENT')
122
- logger.error(`Error processing &C4${name}&R:`, error);
123
- }
124
- }
125
- static async getAllFiles(dir, extensions) {
126
- const result = [];
127
- const files = await fs.readdir(dir);
128
- for (const file of files) {
129
- const fullPath = path.join(dir, file);
130
- const stat = await fs.stat(fullPath);
131
- if (stat.isDirectory()) {
132
- const allFiles = await PathFixer.getAllFiles(fullPath, extensions);
133
- result.push(...allFiles);
134
- }
135
- else if (extensions.some(ext => fullPath.endsWith(ext))) {
136
- result.push(fullPath);
137
- }
138
- }
139
- return result;
140
- }
141
- }
142
- export default PathFixer;
143
- //# sourceMappingURL=PathFixer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PathFixer.js","sourceRoot":"","sources":["../src/PathFixer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import schemas from "./schemas.js";
2
- export declare class Tsconfig {
3
- /**
4
- * Loads and validates a tsconfig.json file against the basicTsconfig schema.
5
- * @param path - The path to the tsconfig.json file.
6
- * @returns A promise that resolves to the validated tsconfig object.
7
- * @throws An error if the file cannot be read, parsed, or does not conform to the schema.
8
- */
9
- static load(path: string): Promise<Tsconfig.Tsconfig>;
10
- }
11
- export declare namespace Tsconfig {
12
- type Tsconfig = schemas.basicTsconfig['infer'];
13
- }
package/build/Tsconfig.js DELETED
@@ -1,16 +0,0 @@
1
- import File from "./File.js";
2
- import schemas from "./schemas.js";
3
- export class Tsconfig {
4
- /**
5
- * Loads and validates a tsconfig.json file against the basicTsconfig schema.
6
- * @param path - The path to the tsconfig.json file.
7
- * @returns A promise that resolves to the validated tsconfig object.
8
- * @throws An error if the file cannot be read, parsed, or does not conform to the schema.
9
- */
10
- static async load(path) {
11
- const content = await File.read(path);
12
- const json = JSON.parse(content);
13
- return schemas.basicTsconfig.processData(json);
14
- }
15
- }
16
- //# sourceMappingURL=Tsconfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tsconfig.js","sourceRoot":"","sources":["../src/Tsconfig.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,OAAO,QAAQ;IACjB;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;CACJ"}
package/build/Utils.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export declare class Utils {
2
- /**
3
- * Extracts a repository name from its URL.
4
- * @param repo - The repository URL.
5
- * @returns The repository name.
6
- */
7
- static getRepoName: (repo: string) => string;
8
- /**
9
- * Extracts the value(s) of a specified flag from an array of command-line arguments.
10
- * @param args - The array of command-line arguments.
11
- * @param flag - The flag to search for (e.g., '-p' or '--project').
12
- * @param multiple - Whether to allow multiple values for the same flag.
13
- * @returns An array of values associated with the specified flag.
14
- */
15
- static getFlagValue(args: string[], flag: string, multiple?: boolean): string[];
16
- }
package/build/Utils.js DELETED
@@ -1,40 +0,0 @@
1
- export class Utils {
2
- /**
3
- * Extracts a repository name from its URL.
4
- * @param repo - The repository URL.
5
- * @returns The repository name.
6
- */
7
- static getRepoName = (repo) => {
8
- const match = repo.match(/(?:^https:\/\/github\.com\/([^/]+)\/([^/]+)(?:\.git)?$)(?:^git@github\.com:([^/]+)\/([^/]+)(?:\.git)?$)/);
9
- if (match) {
10
- const user = match[1] || match[3];
11
- const repoName = match[2] || match[4];
12
- return `${user}.${repoName}`;
13
- }
14
- else
15
- throw new Error(`Invalid repository URL: "${repo}"`);
16
- };
17
- /**
18
- * Extracts the value(s) of a specified flag from an array of command-line arguments.
19
- * @param args - The array of command-line arguments.
20
- * @param flag - The flag to search for (e.g., '-p' or '--project').
21
- * @param multiple - Whether to allow multiple values for the same flag.
22
- * @returns An array of values associated with the specified flag.
23
- */
24
- static getFlagValue(args, flag, multiple = false) {
25
- const values = [];
26
- for (const index in args) {
27
- const value = args[index];
28
- if (value === flag) {
29
- const nextValue = args[Number(index) + 1];
30
- if (nextValue && !nextValue.startsWith('-')) {
31
- values.push(nextValue);
32
- if (!multiple)
33
- break;
34
- }
35
- }
36
- }
37
- return values;
38
- }
39
- }
40
- //# sourceMappingURL=Utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IACd;;;;OAIG;IACI,MAAM,CAAC,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yGAAyG,CAAC,CAAC;QACpI,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;QACjC,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,GAAG,CAAC,CAAC;IAChE,CAAC,CAAC;IACF;;;;;;OAMG;IACI,MAAM,CAAC,YAAY,CAAC,IAAc,EAAE,IAAY,EAAE,WAAoB,KAAK;QAC9E,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ;wBAAE,MAAM;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare class Validator {
2
- static validateRepo(repo: unknown): asserts repo is Validator.Repo;
3
- static validateName(name: unknown): asserts name is Validator.name;
4
- }
5
- export declare namespace Validator {
6
- type Repo = `https://github.com/${string}/${string}.git` | `git@github.com:${string}/${string}.git`;
7
- type name = string;
8
- }
9
- export default Validator;
@@ -1,15 +0,0 @@
1
- export class Validator {
2
- static validateRepo(repo) {
3
- if (typeof repo !== 'string' || !repo.trim())
4
- throw new Error(`Invalid repository URL: "${repo}"`);
5
- const gitRegex = /^(?:(?:https?|git|ssh|rsync|file|git@[-\w.]+):(\/\/)?)([\w.@:/\-~]+)(\.git)(\/)?$/;
6
- if (!gitRegex.test(repo))
7
- throw new Error(`Invalid repository URL: ${repo}`);
8
- }
9
- static validateName(name) {
10
- if (typeof name !== 'string' || !name.trim())
11
- throw new Error(`Invalid dependency name: "${name}"`);
12
- }
13
- }
14
- export default Validator;
15
- //# sourceMappingURL=Validator.js.map