@mrts/bbl-node 0.1.17

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.
@@ -0,0 +1,2 @@
1
+ export * from "./workspace/index.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./workspace/index.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { type ILogMessage, type LogFunction, type TLogLevel } from "./LogMessage.js";
2
+ import { Path, type PathArgument } from "@mrts/common-node/paths";
3
+ export type BblWorkspaceOptions = {
4
+ logger: LogFunction;
5
+ extraLogger?: LogFunction;
6
+ logLevel: TLogLevel;
7
+ };
8
+ export declare class BBLWorkspace {
9
+ readonly base: Path;
10
+ private options;
11
+ private logDir;
12
+ private logPath;
13
+ constructor(basePath: string, options?: Partial<BblWorkspaceOptions>);
14
+ private _logMessage;
15
+ log(msg: ILogMessage): void;
16
+ entryPath(path: string): Path;
17
+ entryPath(part: string, path: string): Path;
18
+ entryPath(section: string, part: string, path: string): Path;
19
+ buildReferentiel(): void;
20
+ loadItems(itemsDir: PathArgument): any[];
21
+ }
22
+ //# sourceMappingURL=BBLWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBLWorkspace.d.ts","sourceRoot":"","sources":["../../src/workspace/BBLWorkspace.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAc,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG9E,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAQF,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,OAAO,CAAO;gBACV,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAmBxE,OAAO,CAAC,WAAW;IAMnB,GAAG,CAAC,GAAG,EAAE,WAAW;IAUpB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAC3C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgB5D,gBAAgB;IAYhB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,GAAG,EAAE;CAiBzC"}
@@ -0,0 +1,93 @@
1
+ import fs, { constants } from "node:fs";
2
+ import { compareLevel, } from "./LogMessage.js";
3
+ import { ensurePath, Path } from "@mrts/common-node/paths";
4
+ import fg from "fast-glob";
5
+ const BBLWorkspaceSections = {
6
+ release: "bbl.d",
7
+ output: "out.d",
8
+ steps: "steps.d",
9
+ };
10
+ export class BBLWorkspace {
11
+ base;
12
+ options;
13
+ logDir;
14
+ logPath;
15
+ constructor(basePath, options = {}) {
16
+ try {
17
+ fs.accessSync(basePath, constants.R_OK | constants.X_OK | constants.W_OK);
18
+ this.base = new Path(basePath).resolve();
19
+ }
20
+ catch (e) {
21
+ throw new Error(`Base folder not accessible ${basePath}`, { cause: e });
22
+ }
23
+ this.logDir = this.base.join("logs");
24
+ this.logDir.mkdirSync();
25
+ this.logPath = this.logDir.join("bbl.log");
26
+ this.options = {
27
+ logger: (msg) => this._logMessage(msg),
28
+ logLevel: "DEBUG",
29
+ ...options,
30
+ };
31
+ }
32
+ _logMessage(msg) {
33
+ fs.appendFileSync(this.logPath.toString(), `[${msg.level}] ${msg.text}\n`, {
34
+ encoding: "utf-8",
35
+ });
36
+ }
37
+ log(msg) {
38
+ if (compareLevel(msg.level, this.options.logLevel) > 0) {
39
+ return;
40
+ }
41
+ this.options.logger(msg);
42
+ if (this.options.extraLogger) {
43
+ this.options.extraLogger(msg);
44
+ }
45
+ }
46
+ entryPath(arg0, arg1, arg2) {
47
+ if (arg2 == undefined && arg1 == undefined) {
48
+ return this.base.join(arg0);
49
+ }
50
+ else if (arg2 == undefined && arg1 != undefined) {
51
+ return this.base.join(arg0, arg1);
52
+ }
53
+ else if (arg2 != undefined && arg1 != undefined) {
54
+ if (!(arg0 in BBLWorkspaceSections)) {
55
+ throw new Error(`Unknown section:${arg0}`);
56
+ }
57
+ return this.base.join(BBLWorkspaceSections[arg0], arg1, arg2);
58
+ }
59
+ else {
60
+ throw new Error(`Invalid entryPath: ${[arg0, arg1, arg2]}`);
61
+ }
62
+ }
63
+ buildReferentiel() {
64
+ const refItemsDir = this.entryPath("referentiel");
65
+ for (const itemsDir of fg.globSync("*.d", {
66
+ onlyDirectories: true,
67
+ cwd: refItemsDir.toString(),
68
+ })) {
69
+ console.log("ItemsDir:", itemsDir);
70
+ const items = this.loadItems(refItemsDir.join(itemsDir));
71
+ console.log("Nb Items:", items.length);
72
+ }
73
+ }
74
+ loadItems(itemsDir) {
75
+ const r = [];
76
+ itemsDir = ensurePath(itemsDir);
77
+ for (const jsonFile of fg.globSync("*.json", {
78
+ onlyFiles: true,
79
+ cwd: itemsDir.toString(),
80
+ })) {
81
+ const jsonPath = itemsDir.join(jsonFile);
82
+ const jsonData = jsonPath.readJSONSync();
83
+ if (Array.isArray(jsonData)) {
84
+ r.push(...jsonData);
85
+ }
86
+ else {
87
+ r.push(jsonData);
88
+ }
89
+ }
90
+ return r;
91
+ }
92
+ }
93
+ //# sourceMappingURL=BBLWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BBLWorkspace.js","sourceRoot":"","sources":["../../src/workspace/BBLWorkspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type TLogLevel = "ERROR" | "WARNING" | "INFO" | "DEBUG";
2
+ export interface ILogMessage {
3
+ level: TLogLevel;
4
+ text: string;
5
+ data: {
6
+ [key: string]: any;
7
+ };
8
+ }
9
+ export type LogFunction = (msg: ILogMessage) => void;
10
+ export declare const LogLevels: TLogLevel[];
11
+ export declare function logMessage(level: TLogLevel, text: string, data?: {
12
+ [key: string]: any;
13
+ }): ILogMessage;
14
+ export declare function error(text: string, data?: {
15
+ [key: string]: any;
16
+ }): ILogMessage;
17
+ export declare function warning(text: string, data?: {
18
+ [key: string]: any;
19
+ }): ILogMessage;
20
+ export declare function info(text: string, data?: {
21
+ [key: string]: any;
22
+ }): ILogMessage;
23
+ export declare function debug(text: string, data?: {
24
+ [key: string]: any;
25
+ }): ILogMessage;
26
+ export declare function compareLevel(a: TLogLevel, b: TLogLevel): number;
27
+ //# sourceMappingURL=LogMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogMessage.d.ts","sourceRoot":"","sources":["../../src/workspace/LogMessage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC9B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;AAErD,eAAO,MAAM,SAAS,EAAE,SAAS,EAA0C,CAAC;AAM5E,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,GAChC,WAAW,CAEb;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,GAChC,WAAW,CAEb;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,GAChC,WAAW,CAEb;AAED,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,GAChC,WAAW,CAEb;AAED,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAO,GAChC,WAAW,CAEb;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAE/D"}
@@ -0,0 +1,24 @@
1
+ export const LogLevels = ["ERROR", "WARNING", "INFO", "DEBUG"];
2
+ const LogLevelsMap = new Map();
3
+ LogLevels.forEach((level, i) => {
4
+ LogLevelsMap.set(level, i);
5
+ });
6
+ export function logMessage(level, text, data = {}) {
7
+ return { level, text, data };
8
+ }
9
+ export function error(text, data = {}) {
10
+ return { level: "ERROR", text, data };
11
+ }
12
+ export function warning(text, data = {}) {
13
+ return { level: "WARNING", text, data };
14
+ }
15
+ export function info(text, data = {}) {
16
+ return { level: "INFO", text, data };
17
+ }
18
+ export function debug(text, data = {}) {
19
+ return { level: "DEBUG", text, data };
20
+ }
21
+ export function compareLevel(a, b) {
22
+ return Math.sign(LogLevelsMap.get(a) - LogLevelsMap.get(b));
23
+ }
24
+ //# sourceMappingURL=LogMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogMessage.js","sourceRoot":"","sources":["../../src/workspace/LogMessage.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,SAAS,GAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqB,CAAC;AAClD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CACxB,KAAgB,EAChB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,OAA+B,EAAE;IAEjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAY,EAAE,CAAY;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./LogMessage.js";
2
+ export * from "./BBLWorkspace.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./LogMessage.js";
2
+ export * from "./BBLWorkspace.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@mrts/bbl-node",
3
+ "version": "0.1.17",
4
+ "description": "MRTS - bbl-common",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "scripts": {
16
+ "clean": "shx mkdir -p dist/removeme.d && shx rm -r dist/*",
17
+ "build": "tsc --project tsconfig.build.json",
18
+ "test": "node --import tsx --test \"test/**/*.test.ts\""
19
+ },
20
+ "devDependencies": {
21
+ "@mrts/tsconfig": "^0.1.6",
22
+ "shx": "^0.4.0",
23
+ "typescript": "^5.8.3"
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "package.json",
28
+ "README.md"
29
+ ],
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "dependencies": {
34
+ "@mrts/bbl-common": "^0.1.17",
35
+ "@mrts/common": "^0.1.14",
36
+ "@mrts/common-node": "^0.1.17",
37
+ "fast-glob": "^3.3.3"
38
+ },
39
+ "gitHead": "a4b608b0b780a773691e594542bc503a77d0374a"
40
+ }