depflow 2.0.1 → 3.0.0-dev.1
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/README.md +129 -58
- package/build/cli/DepFLowCLI.js +93 -57
- package/build/cli/DepFLowCLI.js.map +1 -1
- package/build/cli/bin.js +16 -12
- package/build/cli/bin.js.map +1 -1
- package/build/config/Config.d.ts +3 -3
- package/build/config/Config.js +3 -3
- package/build/config/ImportMap.d.ts +2 -3
- package/build/config/ImportMap.js +9 -10
- package/build/config/ImportMap.js.map +1 -1
- package/build/config/Tsconfig.d.ts +2 -2
- package/build/config/Tsconfig.js +7 -6
- package/build/config/Tsconfig.js.map +1 -1
- package/build/config/schemas.d.ts +604 -51
- package/build/config/schemas.js +36 -21
- package/build/config/schemas.js.map +1 -1
- package/build/support/Builder/Builder.d.ts +36 -0
- package/build/support/Builder/Builder.js +89 -0
- package/build/support/Builder/Builder.js.map +1 -0
- package/build/support/Dependency/Dependency.d.ts +38 -0
- package/build/support/Dependency/Dependency.js +14 -0
- package/build/support/Dependency/Dependency.js.map +1 -0
- package/build/support/Dependency/GitDependency.d.ts +20 -0
- package/build/support/Dependency/GitDependency.js +67 -0
- package/build/support/Dependency/GitDependency.js.map +1 -0
- package/build/support/Dependency/NpmDependency.d.ts +18 -0
- package/build/support/Dependency/NpmDependency.js +65 -0
- package/build/support/Dependency/NpmDependency.js.map +1 -0
- package/build/support/Dependency/Resolver.d.ts +7 -0
- package/build/support/Dependency/Resolver.js +4 -0
- package/build/support/Dependency/Resolver.js.map +1 -0
- package/build/support/Git.js +4 -12
- package/build/support/Git.js.map +1 -1
- package/build/support/PathResolver/AliasCompiler.d.ts +2 -2
- package/build/support/PathResolver/PathResolver.d.ts +3 -3
- package/build/support/PathResolver/PathResolver.js +6 -1
- package/build/support/PathResolver/PathResolver.js.map +1 -1
- package/build/support/Utils.d.ts +10 -0
- package/build/support/Utils.js +43 -0
- package/build/support/Utils.js.map +1 -1
- package/package.json +4 -4
- package/build/support/Dependency.d.ts +0 -109
- package/build/support/Dependency.js +0 -257
- package/build/support/Dependency.js.map +0 -1
package/build/config/Config.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @license Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { File } from '@netfeez/common-node';
|
|
7
|
-
import
|
|
7
|
+
import Schemas from './schemas.js';
|
|
8
8
|
export class Config {
|
|
9
9
|
/**
|
|
10
10
|
* Loads the configuration from a file at the specified path.
|
|
@@ -17,14 +17,14 @@ export class Config {
|
|
|
17
17
|
*/
|
|
18
18
|
static async load(path) {
|
|
19
19
|
if (!await File.exists(path)) {
|
|
20
|
-
const defaults =
|
|
20
|
+
const defaults = Schemas.Config.processData({});
|
|
21
21
|
await Config.save(path, defaults);
|
|
22
22
|
return defaults;
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
const content = await File.read(path, 'utf-8');
|
|
26
26
|
const json = JSON.parse(content);
|
|
27
|
-
const config =
|
|
27
|
+
const config = Schemas.Config.processData(json);
|
|
28
28
|
return config;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Logger } from '@netfeez/vterm';
|
|
2
2
|
import AliasCompiler from '../support/PathResolver/AliasCompiler.js';
|
|
3
|
+
import Schemas from './schemas.js';
|
|
3
4
|
export declare class ImportMap {
|
|
4
5
|
protected data: ImportMap.Data;
|
|
5
6
|
protected projectRoot: string;
|
|
@@ -28,9 +29,7 @@ export declare class ImportMap {
|
|
|
28
29
|
static load(projectRoot: string, filename: string, options?: ImportMap.Options): Promise<ImportMap>;
|
|
29
30
|
}
|
|
30
31
|
export declare namespace ImportMap {
|
|
31
|
-
|
|
32
|
-
imports: Record<string, string>;
|
|
33
|
-
}
|
|
32
|
+
type Data = Schemas.ImportMap['infer'];
|
|
34
33
|
interface Options {
|
|
35
34
|
logger?: Logger;
|
|
36
35
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import PATH from 'node:path';
|
|
2
2
|
import { Logger } from '@netfeez/vterm';
|
|
3
3
|
import { File, Path } from '@netfeez/common-node';
|
|
4
|
+
import Schemas from './schemas.js';
|
|
4
5
|
export class ImportMap {
|
|
5
6
|
data;
|
|
6
7
|
projectRoot;
|
|
@@ -27,9 +28,8 @@ export class ImportMap {
|
|
|
27
28
|
? aliasObj.targets.cdn
|
|
28
29
|
: aliasObj.targets.local;
|
|
29
30
|
if (target === aliasObj.targets.local) {
|
|
30
|
-
target =
|
|
31
|
-
|
|
32
|
-
target = `./${target}`;
|
|
31
|
+
target = Path.diff(this.projectRoot, target);
|
|
32
|
+
target = target.startsWith('/') ? target : `/${target}`;
|
|
33
33
|
target = Path.normalize(target);
|
|
34
34
|
}
|
|
35
35
|
if (aliasObj.isWildcard) {
|
|
@@ -46,11 +46,10 @@ export class ImportMap {
|
|
|
46
46
|
const logger = options.logger || new Logger({ name: 'IMP-MAP' });
|
|
47
47
|
const importMapPath = PATH.resolve(projectRoot, filename);
|
|
48
48
|
const folder = PATH.dirname(importMapPath);
|
|
49
|
-
|
|
50
|
-
await File.mkdir(folder, { recursive: true });
|
|
49
|
+
await File.ensureDir(folder);
|
|
51
50
|
const json = JSON.stringify(data, null, 4);
|
|
52
51
|
await File.write(importMapPath, json);
|
|
53
|
-
logger.log(`&
|
|
52
|
+
logger.log(`&C2Saved file &C4${filename}`);
|
|
54
53
|
}
|
|
55
54
|
/**
|
|
56
55
|
* Factory method: Loads, validates (or creates default), and returns an instance of the ImportMap class.
|
|
@@ -65,16 +64,16 @@ export class ImportMap {
|
|
|
65
64
|
static async load(projectRoot, filename, options = {}) {
|
|
66
65
|
const logger = options.logger || new Logger({ name: 'IMP-MAP' });
|
|
67
66
|
const importMapPath = PATH.resolve(projectRoot, filename);
|
|
68
|
-
let data
|
|
67
|
+
let data;
|
|
69
68
|
if (!await File.exists(importMapPath)) {
|
|
70
69
|
logger.warn(`&C3${filename} not found. Creating defaults...`);
|
|
71
|
-
|
|
72
|
-
await ImportMap.save(projectRoot, filename, data, { logger });
|
|
70
|
+
data = Schemas.ImportMap.processData({});
|
|
71
|
+
// await ImportMap.save(projectRoot, filename, data, { logger });
|
|
73
72
|
}
|
|
74
73
|
else {
|
|
75
74
|
const content = await File.read(importMapPath, 'utf-8');
|
|
76
75
|
const json = JSON.parse(content);
|
|
77
|
-
data = json;
|
|
76
|
+
data = Schemas.ImportMap.processData(json);
|
|
78
77
|
}
|
|
79
78
|
return new ImportMap(data, projectRoot, filename, { logger });
|
|
80
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportMap.js","sourceRoot":"","sources":["../../src/config/ImportMap.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ImportMap.js","sourceRoot":"","sources":["../../src/config/ImportMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Logger } from '@netfeez/vterm';
|
|
2
|
-
import
|
|
2
|
+
import Schemas from "./schemas.js";
|
|
3
3
|
import AliasCompiler from '../support/PathResolver/AliasCompiler.js';
|
|
4
4
|
export declare class Tsconfig {
|
|
5
5
|
protected data: Tsconfig.Data;
|
|
@@ -49,7 +49,7 @@ export declare class Tsconfig {
|
|
|
49
49
|
static load(projectRoot: string, filename: string, options: Tsconfig.Options): Promise<Tsconfig>;
|
|
50
50
|
}
|
|
51
51
|
export declare namespace Tsconfig {
|
|
52
|
-
type Data =
|
|
52
|
+
type Data = Schemas.TsConfig['infer'];
|
|
53
53
|
interface Options {
|
|
54
54
|
logger?: Logger;
|
|
55
55
|
}
|
package/build/config/Tsconfig.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import PATH from 'node:path';
|
|
2
2
|
import { Logger } from '@netfeez/vterm';
|
|
3
3
|
import { File, Path } from '@netfeez/common-node';
|
|
4
|
-
import
|
|
4
|
+
import Schemas from "./schemas.js";
|
|
5
5
|
export class Tsconfig {
|
|
6
6
|
data;
|
|
7
7
|
projectRoot;
|
|
@@ -27,7 +27,8 @@ export class Tsconfig {
|
|
|
27
27
|
this.data.compilerOptions.paths = {};
|
|
28
28
|
for (const aliasObj of aliases) {
|
|
29
29
|
const key = aliasObj.isWildcard ? `${aliasObj.alias}/*` : aliasObj.alias;
|
|
30
|
-
let target =
|
|
30
|
+
let target = Path.diff(this.projectRoot, aliasObj.targets.local);
|
|
31
|
+
target = target.startsWith('.') ? target : `./${target}`;
|
|
31
32
|
target = Path.normalize(target);
|
|
32
33
|
if (aliasObj.isWildcard) {
|
|
33
34
|
const suffix = target.endsWith('/') ? '*' : '/*';
|
|
@@ -65,7 +66,7 @@ export class Tsconfig {
|
|
|
65
66
|
await File.mkdir(folder, { recursive: true });
|
|
66
67
|
const json = JSON.stringify(data, null, 4);
|
|
67
68
|
await File.write(tsconfigPath, json);
|
|
68
|
-
logger.log(`&
|
|
69
|
+
logger.log(`&C2Saved file &C4${filename}&C2 successfully.`);
|
|
69
70
|
}
|
|
70
71
|
/**
|
|
71
72
|
* Static method to load tsconfig data from a specified file.
|
|
@@ -84,13 +85,13 @@ export class Tsconfig {
|
|
|
84
85
|
let data;
|
|
85
86
|
if (!await File.exists(tsconfigPath)) {
|
|
86
87
|
logger.warn(`&C3${filename} not found. Creating defaults...`);
|
|
87
|
-
data =
|
|
88
|
-
this.save(projectRoot, filename, data, { logger }).catch(err => logger.error(`Failed to create default tsconfig:`, err.message));
|
|
88
|
+
data = Schemas.TsConfig.processData({});
|
|
89
|
+
// this.save(projectRoot, filename, data, { logger }).catch(err => logger.error(`Failed to create default tsconfig:`, err.message));
|
|
89
90
|
}
|
|
90
91
|
else {
|
|
91
92
|
const content = await File.read(tsconfigPath, 'utf-8');
|
|
92
93
|
const json = JSON.parse(content);
|
|
93
|
-
data =
|
|
94
|
+
data = Schemas.TsConfig.processData(json);
|
|
94
95
|
}
|
|
95
96
|
return new Tsconfig(data, projectRoot, filename, { logger });
|
|
96
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tsconfig.js","sourceRoot":"","sources":["../../src/config/Tsconfig.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,OAAO,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,QAAQ;IAIH;IACA;IACA;IALJ,MAAM,CAAS;IAEzB,YACc,IAAmB,EACnB,WAAmB,EACnB,QAAgB,EAC1B,UAA4B,EAAE;QAHpB,SAAI,GAAJ,IAAI,CAAe;QACnB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAQ;QAE1B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAAC,CAAC;IACrE;;;;;;OAMG;IACI,WAAW,CAAC,OAAsC;QACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;QAE3E,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAEzE,IAAI,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Tsconfig.js","sourceRoot":"","sources":["../../src/config/Tsconfig.ts"],"names":[],"mappings":"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"}
|