depflow 1.1.2 → 2.0.0-dev.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.
Files changed (80) hide show
  1. package/build/cli/DepFLowCLI.d.ts +15 -0
  2. package/build/cli/DepFLowCLI.js +193 -0
  3. package/build/cli/DepFLowCLI.js.map +1 -0
  4. package/build/cli/bin.d.ts +2 -0
  5. package/build/cli/bin.js +37 -0
  6. package/build/cli/bin.js.map +1 -0
  7. package/build/config/Config.d.ts +28 -0
  8. package/build/config/Config.js +46 -0
  9. package/build/config/Config.js.map +1 -0
  10. package/build/config/ImportMap.d.ts +38 -0
  11. package/build/config/ImportMap.js +83 -0
  12. package/build/config/ImportMap.js.map +1 -0
  13. package/build/config/Tsconfig.d.ts +57 -0
  14. package/build/config/Tsconfig.js +99 -0
  15. package/build/config/Tsconfig.js.map +1 -0
  16. package/build/config/schemas.d.ts +592 -0
  17. package/build/config/schemas.js +51 -0
  18. package/build/config/schemas.js.map +1 -0
  19. package/build/support/Dependency.d.ts +127 -0
  20. package/build/support/Dependency.js +307 -0
  21. package/build/support/Dependency.js.map +1 -0
  22. package/build/support/File.d.ts +80 -0
  23. package/build/support/File.js +123 -0
  24. package/build/support/File.js.map +1 -0
  25. package/build/support/Git.js.map +1 -0
  26. package/build/support/PathFixer.d.ts +36 -0
  27. package/build/support/PathFixer.js +161 -0
  28. package/build/support/PathFixer.js.map +1 -0
  29. package/build/support/PathResolver/AliasCompiler.d.ts +25 -0
  30. package/build/support/PathResolver/AliasCompiler.js +39 -0
  31. package/build/support/PathResolver/AliasCompiler.js.map +1 -0
  32. package/build/support/PathResolver/PathResolver.d.ts +45 -0
  33. package/build/support/PathResolver/PathResolver.js +99 -0
  34. package/build/support/PathResolver/PathResolver.js.map +1 -0
  35. package/build/support/PathResolver/PathRewriter.d.ts +18 -0
  36. package/build/support/PathResolver/PathRewriter.js +47 -0
  37. package/build/support/PathResolver/PathRewriter.js.map +1 -0
  38. package/build/support/PathResolver/Utils.d.ts +36 -0
  39. package/build/support/PathResolver/Utils.js +45 -0
  40. package/build/support/PathResolver/Utils.js.map +1 -0
  41. package/build/support/PathResolver.d.ts +100 -0
  42. package/build/support/PathResolver.js +280 -0
  43. package/build/support/PathResolver.js.map +1 -0
  44. package/build/support/Resolver/AliasCompiler.d.ts +18 -0
  45. package/build/support/Resolver/AliasCompiler.js +32 -0
  46. package/build/support/Resolver/AliasCompiler.js.map +1 -0
  47. package/build/support/Resolver/PathResolver.d.ts +25 -0
  48. package/build/support/Resolver/PathResolver.js +79 -0
  49. package/build/support/Resolver/PathResolver.js.map +1 -0
  50. package/build/support/Resolver/PathRewriter.d.ts +10 -0
  51. package/build/support/Resolver/PathRewriter.js +39 -0
  52. package/build/support/Resolver/PathRewriter.js.map +1 -0
  53. package/build/support/Resolver/Utils.d.ts +36 -0
  54. package/build/support/Resolver/Utils.js +45 -0
  55. package/build/support/Resolver/Utils.js.map +1 -0
  56. package/build/support/Utils.d.ts +30 -0
  57. package/build/support/Utils.js +95 -0
  58. package/build/support/Utils.js.map +1 -0
  59. package/build/support/Validator.d.ts +22 -0
  60. package/build/support/Validator.js +28 -0
  61. package/build/support/Validator.js.map +1 -0
  62. package/package.json +6 -4
  63. package/build/Dependency.d.ts +0 -99
  64. package/build/Dependency.js +0 -258
  65. package/build/Dependency.js.map +0 -1
  66. package/build/File.d.ts +0 -45
  67. package/build/File.js +0 -113
  68. package/build/File.js.map +0 -1
  69. package/build/Git.js.map +0 -1
  70. package/build/PathFixer.d.ts +0 -35
  71. package/build/PathFixer.js +0 -159
  72. package/build/PathFixer.js.map +0 -1
  73. package/build/Validator.d.ts +0 -54
  74. package/build/Validator.js +0 -150
  75. package/build/Validator.js.map +0 -1
  76. package/build/bin.d.ts +0 -7
  77. package/build/bin.js +0 -241
  78. package/build/bin.js.map +0 -1
  79. /package/build/{Git.d.ts → support/Git.d.ts} +0 -0
  80. /package/build/{Git.js → support/Git.js} +0 -0
@@ -1,258 +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
- export class Dependency {
11
- static include = ['*'];
12
- name;
13
- repo;
14
- branch;
15
- builder;
16
- /**
17
- * Create a new dependency
18
- * @param dependency Dependency to create
19
- * @param logger Logger to use
20
- * @returns New dependency
21
- */
22
- constructor(dependency) {
23
- this.name = dependency.name;
24
- this.repo = dependency.repo;
25
- this.branch = dependency.branch;
26
- this.builder = dependency.builder;
27
- }
28
- /** Get the folder of the dependency */
29
- get folder() {
30
- return this.name.startsWith('.') ? this.name : `.dep/${this.name}`;
31
- }
32
- /**
33
- * Clone a dependency
34
- * @param options Options to use
35
- * @returns Promise<void>
36
- */
37
- async clone(options = {}) {
38
- if (await File.exists(this.folder)) {
39
- if (!options.force)
40
- return await this.pull();
41
- else
42
- await this.uninstall();
43
- }
44
- return await Git.clone(this.repo, this.folder, this.branch);
45
- }
46
- /**
47
- * Pull a dependency
48
- * @returns Promise<void>
49
- */
50
- async pull() {
51
- return await Git.pull(this.folder, this.branch);
52
- }
53
- /**
54
- * Install a dependency
55
- * @param options Options to use
56
- * @returns Promise<void>
57
- */
58
- async install() {
59
- const output = [];
60
- try {
61
- const cloneResult = await this.clone();
62
- output.push(cloneResult);
63
- const buildResult = await this.build();
64
- output.push(...buildResult);
65
- return output;
66
- }
67
- catch (error) {
68
- throw error;
69
- }
70
- }
71
- /**
72
- * Uninstall a dependency
73
- * @returns Promise<void>
74
- */
75
- async uninstall() {
76
- try {
77
- const output = [];
78
- const moves = this.builder
79
- ? this.builder
80
- .map(step => step.move ? Dependency.getAllOutFolders(step.move) : [])
81
- .reduce((acc, val) => acc.concat(val), [])
82
- : [];
83
- const folders = [this.folder, ...moves];
84
- for (const folder of folders) {
85
- if (!await File.exists(folder))
86
- continue;
87
- output.push(`Removing &C4${folder}`);
88
- await FS.rm(folder, { recursive: true });
89
- }
90
- return output;
91
- }
92
- catch (error) {
93
- throw error;
94
- }
95
- }
96
- async build() {
97
- const output = [];
98
- if (!this.builder || this.builder.length === 0)
99
- return output;
100
- const shell = spawn('/bin/bash', [], {
101
- stdio: ['pipe', 'pipe', 'pipe']
102
- });
103
- try {
104
- for (const step of this.builder) {
105
- if (step.run) {
106
- const run = typeof step.run === 'string' ? [step.run] : step.run;
107
- const commands = [`cd ${this.folder}`, ...run];
108
- const results = await this.executeCommands(commands, shell);
109
- output.push(...results);
110
- }
111
- if (step.move) {
112
- const moveResults = await this.move(step.move);
113
- output.push(...moveResults);
114
- }
115
- }
116
- }
117
- catch (error) {
118
- throw error;
119
- }
120
- finally {
121
- shell.kill();
122
- }
123
- return output;
124
- }
125
- async move(move) {
126
- const output = [];
127
- if (typeof move === 'string' || Array.isArray(move)) {
128
- const moves = Array.isArray(move) ? move : [move];
129
- for (const destination of moves) {
130
- const moveResult = await this.moveFiles(destination);
131
- output.push(...moveResult);
132
- }
133
- }
134
- else {
135
- for (const key in move) {
136
- const value = move[key];
137
- const destinations = typeof value === 'string' ? [value] : value;
138
- for (const destination of destinations) {
139
- const moveResult = await this.moveFiles(destination, key);
140
- output.push(...moveResult);
141
- }
142
- }
143
- }
144
- return output;
145
- }
146
- /**
147
- * Execute multiple commands in a shell
148
- * @param commands Commands to execute
149
- * @param customShell Custom shell to use (optional)
150
- * @returns Output of the commands
151
- */
152
- async executeCommands(commands, shell) {
153
- const output = [];
154
- shell.stderr.on('data', data => output.push(data.toString()));
155
- for (const command of commands) {
156
- const result = await this.executeCommand(shell, command);
157
- output.push(...result);
158
- }
159
- shell.kill();
160
- return output;
161
- }
162
- /**
163
- * Execute a command in a shell
164
- * @param shell Shell to execute the command in
165
- * @param command Command to execute
166
- * @returns Output of the command
167
- */
168
- async executeCommand(shell, command) {
169
- const output = [];
170
- output.push(`&RRunning command &C4${command}`);
171
- await new Promise((resolve, reject) => {
172
- shell.stdin.write(command + '\n');
173
- const marker = `__END_${Date.now()}__`;
174
- shell.stdin.write(`echo ${marker}\n`);
175
- let out = '';
176
- const listener = (data) => {
177
- if (data.toString().includes(marker)) {
178
- shell.stdout.off('data', listener);
179
- output.push(out.trim());
180
- resolve();
181
- }
182
- else
183
- out += data.toString().trim();
184
- };
185
- shell.stdout.on('data', listener);
186
- shell.stderr.once('data', data => {
187
- shell.stdout.off('data', listener);
188
- output.push(data.toString().trim());
189
- reject(new Error(`Command "${command}" failed with error: ${data.toString().trim()}`));
190
- });
191
- });
192
- return output;
193
- }
194
- /**
195
- * Move files from a dependency
196
- * @param destination Destination folder
197
- * @param source Source folder
198
- * @returns The output of the operation
199
- */
200
- async moveFiles(destination, source) {
201
- const output = [];
202
- destination = Array.isArray(destination) ? destination : [destination];
203
- source = Dependency.getSourcePath(this.folder, source);
204
- for (const folder of destination) {
205
- try {
206
- if (!await File.exists(source))
207
- throw new Error(`Source path ${source} does not exist.`);
208
- if (!await File.exists(folder)) {
209
- if (!await File.isFile(source))
210
- await FS.mkdir(folder, { recursive: true });
211
- else {
212
- const toCreate = folder.slice(0, folder.lastIndexOf('/'));
213
- if (!await File.exists(toCreate))
214
- await FS.mkdir(toCreate, { recursive: true });
215
- }
216
- }
217
- output.push(`&RMoving source &C4${source} &Rto &C4${folder}`);
218
- await FS.cp(source, folder, { recursive: true, force: true });
219
- }
220
- catch (error) {
221
- throw new Error(`Failed to move files from ${this.name} to ${folder}, \n${error}`);
222
- }
223
- }
224
- return output;
225
- }
226
- /**
227
- * Get the source path of a dependency
228
- * @param source Source path
229
- * @returns Source path
230
- */
231
- static getSourcePath(folder, source) {
232
- folder = folder.endsWith('/') ? folder.slice(0, -1) : folder;
233
- if (!source)
234
- return folder;
235
- source = source.startsWith('/') ? source.slice(1) : source;
236
- return `${folder}/${source}`.replace(/ /g, '\\ ');
237
- }
238
- /**
239
- * Get all folders of a dependency
240
- * @param builder Builder to get folders from
241
- * @returns Folders
242
- */
243
- static getAllOutFolders(builder) {
244
- const folders = [];
245
- if (typeof builder === 'string')
246
- folders.push(builder);
247
- else if (Array.isArray(builder))
248
- folders.push(...builder);
249
- else
250
- for (const key in builder) {
251
- const out = this.getAllOutFolders(builder[key]);
252
- folders.push(...out);
253
- }
254
- return folders;
255
- }
256
- }
257
- export default Dependency;
258
- //# 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,45 +0,0 @@
1
- /**
2
- * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Utility to help with File operations.
4
- * @license Apache-2.0
5
- */
6
- import Dependency from './Dependency.js';
7
- export declare class File {
8
- /**
9
- * Validates and transforms raw data into a DependencyDef object.
10
- * @param data - The raw data to extract from.
11
- * @returns A valid DependencyDef object.
12
- */
13
- private static extractDependency;
14
- /**
15
- * Reads and parses a dependency file.
16
- * @param path - Path to the dependency file.
17
- * @returns The parsed JSON content.
18
- */
19
- private static read;
20
- /**
21
- * Loads, validates, and compiles dependencies from a file.
22
- * @param path - Path to the dependency file.
23
- * @returns An array of valid DependencyDef objects.
24
- */
25
- static load(path: string): Promise<Dependency.Dependency[]>;
26
- /**
27
- * Saves an array of dependency definitions to a file.
28
- * @param path - Path to the dependency file.
29
- * @param dependencies - The dependencies to save.
30
- */
31
- static save(path: string, dependencies: any[]): Promise<void>;
32
- /**
33
- * Check if a file exists
34
- * @param path Path to check
35
- * @returns Promise<boolean>
36
- */
37
- static isFile(path: string): Promise<boolean>;
38
- /**
39
- * Check if a file or folder exists
40
- * @param path Path to check
41
- * @returns Promise<boolean>
42
- */
43
- static exists(path: string): Promise<boolean>;
44
- }
45
- export default File;
package/build/File.js DELETED
@@ -1,113 +0,0 @@
1
- /**
2
- * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Utility to help with File operations.
4
- * @license Apache-2.0
5
- */
6
- import { promises as FS } from 'fs';
7
- import Validator from './Validator.js';
8
- export class File {
9
- /**
10
- * Validates and transforms raw data into a DependencyDef object.
11
- * @param data - The raw data to extract from.
12
- * @returns A valid DependencyDef object.
13
- */
14
- static extractDependency(data) {
15
- Validator.validateDependency(data);
16
- return data;
17
- }
18
- /**
19
- * Reads and parses a dependency file.
20
- * @param path - Path to the dependency file.
21
- * @returns The parsed JSON content.
22
- */
23
- static async read(path) {
24
- try {
25
- if (!await this.exists(path))
26
- await FS.writeFile(path, '[]');
27
- if (!await this.isFile(path))
28
- throw new Error(`Dependency file at &C2${path}&R does not exist.`);
29
- const content = await FS.readFile(path, 'utf-8');
30
- return JSON.parse(content);
31
- }
32
- catch (error) {
33
- throw new Error(`Failed to read or parse dependency file at &C2${path}&R.`, { cause: error });
34
- }
35
- }
36
- /**
37
- * Loads, validates, and compiles dependencies from a file.
38
- * @param path - Path to the dependency file.
39
- * @returns An array of valid DependencyDef objects.
40
- */
41
- static async load(path) {
42
- try {
43
- const data = await this.read(path);
44
- if (!Array.isArray(data))
45
- throw new Error('Dependency file content must be an array.');
46
- const dependencies = [];
47
- for (const item of data)
48
- dependencies.push(this.extractDependency(item));
49
- return dependencies;
50
- }
51
- catch (error) {
52
- throw error;
53
- }
54
- }
55
- /**
56
- * Saves an array of dependency definitions to a file.
57
- * @param path - Path to the dependency file.
58
- * @param dependencies - The dependencies to save.
59
- */
60
- static async save(path, dependencies) {
61
- try {
62
- const validatedDeps = [];
63
- const seenNames = new Set();
64
- for (const item of dependencies) {
65
- const dependency = this.extractDependency(item);
66
- if (seenNames.has(dependency.name))
67
- throw new Error(`Duplicate dependency name found: "${dependency.name}".`);
68
- seenNames.add(dependency.name);
69
- validatedDeps.push(dependency);
70
- }
71
- try {
72
- const content = JSON.stringify(validatedDeps, null, 4);
73
- await FS.writeFile(path, content);
74
- }
75
- catch (error) {
76
- throw new Error(`Failed to write dependency file at &C2${path}&R.`, { cause: error });
77
- }
78
- }
79
- catch (error) {
80
- throw error;
81
- }
82
- }
83
- /**
84
- * Check if a file exists
85
- * @param path Path to check
86
- * @returns Promise<boolean>
87
- */
88
- static async isFile(path) {
89
- try {
90
- const stats = await FS.stat(path);
91
- return stats.isFile();
92
- }
93
- catch {
94
- return false;
95
- }
96
- }
97
- /**
98
- * Check if a file or folder exists
99
- * @param path Path to check
100
- * @returns Promise<boolean>
101
- */
102
- static async exists(path) {
103
- try {
104
- await FS.access(path);
105
- return true;
106
- }
107
- catch {
108
- return false;
109
- }
110
- }
111
- }
112
- export default File;
113
- //# 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":"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"}
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 DEFAULT_PROJECT_INFO: PathFixer.ProjectInfo;
6
- static readonly PROJECT_ROOT: string;
7
- static readonly EXTENSIONS: string[];
8
- absoluteRoot: string;
9
- _alias: PathFixer.Alias[] | null;
10
- constructor(info?: PathFixer.ProjectInfo, projectRoot?: string);
11
- get alias(): PathFixer.Alias[];
12
- run(): Promise<void>;
13
- watch(): Promise<void>;
14
- private process;
15
- private processReplacer;
16
- watchHandler(queue: Map<string, NodeJS.Timeout>, eventType: string, filename: string): Promise<void>;
17
- watchTimeout(file: string, name: string): Promise<void>;
18
- static getAllFiles(dir: string, extensions: string[]): Promise<string[]>;
19
- static getProjectInfo(tsconfig?: string): Promise<PathFixer.ProjectInfo>;
20
- }
21
- declare namespace PathFixer {
22
- interface Paths {
23
- [alias: string]: string[];
24
- }
25
- interface Alias {
26
- alias: string;
27
- target: string;
28
- }
29
- interface ProjectInfo {
30
- root: string;
31
- out: string;
32
- path: Paths;
33
- }
34
- }
35
- export default PathFixer;
@@ -1,159 +0,0 @@
1
- /**
2
- * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Utility for path fixing.
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
- const logger = new Logger({ prefix: 'PathFixer' });
10
- export class PathFixer {
11
- info;
12
- projectRoot;
13
- static IMPORT_REGEX = /(from\s+['"])([^'"]+)(['"])/g;
14
- static DEFAULT_PROJECT_INFO = { root: 'src', out: 'build', path: {} };
15
- static PROJECT_ROOT = process.cwd();
16
- static EXTENSIONS = ['js', '.d.ts'];
17
- absoluteRoot;
18
- _alias = null;
19
- constructor(info = PathFixer.DEFAULT_PROJECT_INFO, projectRoot = PathFixer.PROJECT_ROOT) {
20
- this.info = info;
21
- this.projectRoot = projectRoot;
22
- const fullPath = path.join(projectRoot, info.out);
23
- this.absoluteRoot = path.resolve(fullPath);
24
- }
25
- get alias() {
26
- if (this._alias)
27
- return this._alias;
28
- const result = [];
29
- for (const [key, value] of Object.entries(this.info.path)) {
30
- let alias = key.replace(/\/\*$/, '');
31
- // alias = alias.replace(new RegExp(`^${this.info.root}`), '');
32
- alias = alias.replace(/^\//, '');
33
- const root = this.info.root.replace(/^\.\//g, '');
34
- let target = value[0].replace(/(?:^\.\/)|(?:\/\*$)/g, '');
35
- target = target.replace(new RegExp(`^${this.info.root}`), '');
36
- target = target.replace(/^\/|\/$/g, '');
37
- target = path.resolve(this.absoluteRoot, target);
38
- result.push({ alias, target });
39
- }
40
- this._alias = result;
41
- return result;
42
- }
43
- async run() {
44
- logger.log('&C2Starting path fixer, please wait...');
45
- if (!await Utilities.fileExists(this.absoluteRoot))
46
- return void logger.warn(`The root directory &C4${this.absoluteRoot}&R does not exist.`);
47
- const files = await PathFixer.getAllFiles(this.absoluteRoot, PathFixer.EXTENSIONS);
48
- logger.log(`&C2Found &C3${files.length} &C2files to process in &C4${this.absoluteRoot}.`);
49
- let rewrittenCount = 0;
50
- for (const file of files) {
51
- const changed = await this.process(file);
52
- if (changed)
53
- rewrittenCount++;
54
- }
55
- logger.log(`&C2Path aliases rewritten in &C3${rewrittenCount} &C2files.`);
56
- }
57
- async watch() {
58
- await this.run();
59
- logger.log(`&C2Starting watcher in &C4${this.absoluteRoot}.`);
60
- if (!await Utilities.fileExists(this.absoluteRoot))
61
- await fs.mkdir(this.absoluteRoot, { recursive: true });
62
- const watcher = syncFs.watch(this.absoluteRoot, { recursive: true });
63
- const queue = new Map();
64
- watcher.on('change', this.watchHandler.bind(this, queue));
65
- }
66
- async process(file) {
67
- const content = await fs.readFile(file, 'utf8');
68
- const newContent = content.replace(PathFixer.IMPORT_REGEX, this.processReplacer.bind(this, file));
69
- if (content === newContent)
70
- return false;
71
- await fs.writeFile(file, newContent, 'utf8');
72
- return true;
73
- }
74
- processReplacer(file, match, prefix, modulePath, suffix) {
75
- const config = this.alias.find(config => modulePath.startsWith(`${config.alias}/`) || modulePath === config.alias);
76
- if (!config)
77
- return match;
78
- const dir = path.dirname(file);
79
- const restOfModulePath = modulePath.substring(config.alias.length);
80
- const absoluteTarget = path.join(config.target, restOfModulePath);
81
- let target = path.relative(dir, absoluteTarget);
82
- if (!target.startsWith('.'))
83
- target = `./${target}`;
84
- target = target.replace(/\\/g, '/');
85
- return `${prefix}${target}${suffix}`;
86
- }
87
- async watchHandler(queue, eventType, filename) {
88
- if (!filename || !PathFixer.EXTENSIONS.some(ext => filename.endsWith(ext)))
89
- return;
90
- const fullPath = path.join(this.absoluteRoot, filename);
91
- if (queue.has(fullPath))
92
- clearTimeout(queue.get(fullPath));
93
- queue.set(fullPath, setTimeout(this.watchTimeout.bind(this, fullPath, filename), 300));
94
- }
95
- async watchTimeout(file, name) {
96
- try {
97
- const stat = await fs.stat(file);
98
- if (!stat.isFile())
99
- return;
100
- logger.log(`&C2Change detected in &C4${name}&C2. Processing`);
101
- const changed = await this.process(file);
102
- if (changed)
103
- logger.log(`&C2File &C4${name}&C2 rewritten.`);
104
- }
105
- catch (error) {
106
- if (error.code && error.code === 'ENOENT') {
107
- logger.warn(`File &C4${name}&R not found, it may have been deleted.`);
108
- }
109
- else {
110
- logger.error(`Error processing file &C4${name}&R:`, error);
111
- }
112
- }
113
- }
114
- static async getAllFiles(dir, extensions) {
115
- const result = [];
116
- if (!await Utilities.fileExists(dir))
117
- return result;
118
- const files = await fs.readdir(dir);
119
- for (const file of files) {
120
- const fullPath = path.join(dir, file);
121
- try {
122
- const stat = await fs.stat(fullPath);
123
- if (stat.isDirectory()) {
124
- const subFiles = await this.getAllFiles(fullPath, extensions);
125
- result.push(...subFiles);
126
- }
127
- else if (stat.isFile() && extensions.some(ext => fullPath.endsWith(ext))) {
128
- result.push(fullPath);
129
- }
130
- }
131
- catch (error) {
132
- if (error && error.code === 'ENOENT') {
133
- logger.warn(`File or directory &C4${fullPath}&R not found during scan, skipping.`);
134
- }
135
- else {
136
- logger.error(`Error scanning file &C4${fullPath}&R:`, error);
137
- }
138
- }
139
- }
140
- return result;
141
- }
142
- static async getProjectInfo(tsconfig = 'tsconfig.json') {
143
- const info = PathFixer.DEFAULT_PROJECT_INFO;
144
- const content = await fs.readFile(tsconfig, 'utf8');
145
- const json = JSON.parse(content);
146
- if (!json.compilerOptions)
147
- return info;
148
- const options = json.compilerOptions;
149
- if (options.rootDir)
150
- info.root = options.rootDir;
151
- if (options.outDir)
152
- info.out = options.outDir;
153
- if (options.paths)
154
- info.path = options.paths;
155
- return info;
156
- }
157
- }
158
- export default PathFixer;
159
- //# sourceMappingURL=PathFixer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PathFixer.js","sourceRoot":"","sources":["../src/PathFixer.ts"],"names":[],"mappings":"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"}