@mrts/bbl-node 0.4.99 → 0.5.0

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.
@@ -1,6 +1,7 @@
1
+ import type { ItemValidationError } from "@mrts/bbl-common";
2
+ import type { ILogMessage, LogFunction, TLogLevel } from "@mrts/common";
3
+ import { SimpleTemplate } from "@mrts/common";
1
4
  import { Path, type PathArgument } from "@mrts/common-node/paths";
2
- import { type ItemValidationError } from "@mrts/bbl-common";
3
- import { SimpleTemplate, type ILogMessage, type LogFunction, type TLogLevel } from "@mrts/common";
4
5
  export type BblWorkspaceOptions = {
5
6
  logger: LogFunction;
6
7
  extraLogger?: LogFunction;
@@ -15,32 +16,13 @@ export declare class BBLWorkspace {
15
16
  private logPath;
16
17
  readonly releaseDir: Path;
17
18
  private config;
19
+ readonly prepareDir: Path;
18
20
  constructor(basePath: string, options?: Partial<BblWorkspaceOptions>);
19
21
  private _logMessage;
20
22
  private _logPath;
21
- path(parg?: PathArgument, zone?: string): Path;
22
- subPath(parg: PathArgument, zone?: string): Path | undefined;
23
- zonePath(zoneName: string): Path;
24
23
  log(msg: ILogMessage): void;
25
- entryPath(path: string): Path;
26
- entryPath(part: string, path: string): Path;
27
- entryPath(zone: string, part: string, path: string): Path;
28
- deployTo(): Path | undefined;
29
- buildReferentiel(): void;
30
- loadItems(itemsDir: PathArgument): {
31
- items: any[];
32
- path: string;
33
- }[];
24
+ path(...steps: PathArgument[]): Path;
34
25
  prepare(): Promise<ItemValidationError[]>;
35
- prepareCoreItems(): Promise<ItemValidationError[]>;
36
- doRelease(apply?: boolean): Promise<void>;
37
- loadReleaseInfo(): any;
38
- nextReleaseInfo(arg?: {
39
- version?: string;
40
- versionInc?: "major" | "minor" | "patch";
41
- description?: string;
42
- }): any;
43
- updateReleaseInfo(relInfo: any): void;
44
- buildRelease(): Path;
26
+ prepareItems(): Promise<ItemValidationError[]>;
45
27
  }
46
28
  //# sourceMappingURL=BBLWorkspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBLWorkspace.d.ts","sourceRoot":"","sources":["../../src/workspace/BBLWorkspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG9E,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAGL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC,CAAC;AAUF,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAO;IACtB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAsB;gBAExB,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAiCxE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,QAAQ;IAyBhB,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiB9C,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAgB5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOhC,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,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBzD,QAAQ,IAAI,IAAI,GAAG,SAAS;IAe5B,gBAAgB;IAYhB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG;QAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;IA8B7D,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQzC,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAqDlD,SAAS,CAAC,KAAK,UAAQ;IAgF7B,eAAe;IAgBf,eAAe,CACb,GAAG,GAAE;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;QACzC,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB;IAgCR,iBAAiB,CAAC,OAAO,EAAE,GAAG;IAM9B,YAAY;CAuBb"}
1
+ {"version":3,"file":"BBLWorkspace.d.ts","sourceRoot":"","sources":["../../src/workspace/BBLWorkspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAgB,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKlE,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC,CAAC;AAEF,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAO;IACtB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,OAAO,CAAC,MAAM,CAAsB;IACpC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAmCxE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,QAAQ;IAwBhB,GAAG,CAAC,GAAG,EAAE,WAAW;IAUpB,IAAI,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAI9B,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmBzC,YAAY,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAmCrD"}
@@ -1,20 +1,8 @@
1
- import { ensurePath, Path } from "@mrts/common-node/paths";
2
- import fg from "fast-glob";
1
+ import { compareLevel, SimpleTemplate } from "@mrts/common";
2
+ import { Path } from "@mrts/common-node/paths";
3
+ import { MDDocument } from "@mrts/mdkit";
3
4
  import fs, { constants } from "node:fs";
4
- import { CoreItems } from "@mrts/bbl-common";
5
- import { compareLevel, info, SimpleTemplate, } from "@mrts/common";
6
- import { SemVer } from "semver";
7
- import { DNode } from "@mrts/common-node";
8
- import { spawnSync } from "node:child_process";
9
- import * as git from "@mrts/bbl-node/gits";
10
- import { runCommand } from "../utils/exec.js";
11
- const BBLWorkspaceZones = {
12
- dist: "bbl.d",
13
- output: "out.d",
14
- input: "in.d",
15
- steps: "steps.d",
16
- source: "",
17
- };
5
+ import fsp from "node:fs/promises";
18
6
  export class BBLWorkspace {
19
7
  base;
20
8
  options;
@@ -23,12 +11,13 @@ export class BBLWorkspace {
23
11
  logPath;
24
12
  releaseDir;
25
13
  config;
14
+ prepareDir;
26
15
  constructor(basePath, options = {}) {
27
16
  this.base = new Path(basePath).resolve();
28
17
  if (!this.base.accessible(constants.R_OK | constants.X_OK | constants.W_OK)) {
29
18
  throw new Error(`Base folder not accessible ${basePath}`);
30
19
  }
31
- const configPath = this.base.join("bbl.json");
20
+ const configPath = this.path("bbl.json");
32
21
  if (!configPath.accessible()) {
33
22
  throw new Error(`Config file not found ${configPath}`);
34
23
  }
@@ -37,7 +26,7 @@ export class BBLWorkspace {
37
26
  throw new Error(`"releaseDir" not defined in config ${configPath}`);
38
27
  }
39
28
  this.releaseDir = this.base.resolve(this.config.releaseDir);
40
- this.logDir = this.base.join("logs");
29
+ this.logDir = this.path("LOGS");
41
30
  this.logDir.mkdirSync();
42
31
  this.options = {
43
32
  logger: (msg) => this._logMessage(msg),
@@ -46,6 +35,7 @@ export class BBLWorkspace {
46
35
  ...options,
47
36
  };
48
37
  this.logPath = this._logPath();
38
+ this.prepareDir = this.path("PREPARE");
49
39
  }
50
40
  _logMessage(msg) {
51
41
  fs.appendFileSync(this.logPath.toString(), `[${msg.level}] ${msg.message}\n`, {
@@ -78,38 +68,6 @@ export class BBLWorkspace {
78
68
  return this.logPath;
79
69
  }
80
70
  }
81
- path(parg, zone) {
82
- if (parg == undefined) {
83
- if (zone == undefined) {
84
- return this.base;
85
- }
86
- else {
87
- return this.base.resolve(this.subPath("", zone));
88
- }
89
- }
90
- const subPath = this.subPath(parg, zone);
91
- if (subPath == undefined) {
92
- throw new Error(`Not a workspace path ${parg}`);
93
- }
94
- return this.base.resolve(subPath);
95
- }
96
- subPath(parg, zone) {
97
- const zonePath = zone == undefined ? undefined : this.zonePath(zone);
98
- const resolvedPath = zonePath == undefined
99
- ? this.base.resolve(parg)
100
- : this.base.resolve(zonePath, parg);
101
- const relPath = this.base.relative(resolvedPath);
102
- if (relPath.toString().startsWith("..")) {
103
- return undefined;
104
- }
105
- return relPath;
106
- }
107
- zonePath(zoneName) {
108
- if (!(zoneName in BBLWorkspaceZones)) {
109
- throw new Error(`Unknown zone name: ${zoneName}`);
110
- }
111
- return new Path(BBLWorkspaceZones[zoneName]);
112
- }
113
71
  log(msg) {
114
72
  if (compareLevel(this.options.logLevel, msg.level) >= 0) {
115
73
  return;
@@ -119,241 +77,50 @@ export class BBLWorkspace {
119
77
  this.options.extraLogger(msg);
120
78
  }
121
79
  }
122
- entryPath(arg0, arg1, arg2) {
123
- if (arg2 == undefined && arg1 == undefined) {
124
- return this.base.join(arg0);
125
- }
126
- else if (arg2 == undefined && arg1 != undefined) {
127
- return this.base.join(arg0, arg1);
128
- }
129
- else if (arg2 != undefined && arg1 != undefined) {
130
- if (!(arg0 in BBLWorkspaceZones)) {
131
- throw new Error(`Unknown section:${arg0}`);
132
- }
133
- return this.base.join(BBLWorkspaceZones[arg0], arg1, arg2);
134
- }
135
- else {
136
- throw new Error(`Invalid entryPath: ${[arg0, arg1, arg2]}`);
137
- }
138
- }
139
- deployTo() {
140
- if ("deployTo" in this.config) {
141
- const deployToPath = this.base.resolve(this.config.deployTo);
142
- if (deployToPath.accessible(constants.R_OK | constants.X_OK | constants.W_OK)) {
143
- return deployToPath;
144
- }
145
- }
146
- return undefined;
147
- }
148
- buildReferentiel() {
149
- const refItemsDir = this.entryPath("referentiel");
150
- for (const itemsDir of fg.globSync("*.d", {
151
- onlyDirectories: true,
152
- cwd: refItemsDir.toString(),
153
- })) {
154
- console.log("ItemsDir:", itemsDir);
155
- const items = this.loadItems(refItemsDir.join(itemsDir));
156
- console.log("Nb Items:", items.length);
157
- }
80
+ path(...steps) {
81
+ return this.base.join(...steps);
158
82
  }
159
- loadItems(itemsDir) {
160
- const r = [];
161
- itemsDir = ensurePath(itemsDir);
162
- for (const jsonFile of fg.globSync("*.json", {
163
- onlyFiles: true,
164
- cwd: itemsDir.toString(),
165
- })) {
166
- const jsonPath = itemsDir.join(jsonFile);
167
- const jsonData = jsonPath.readJSONSync();
168
- if (Array.isArray(jsonData)) {
169
- r.push({
170
- items: jsonData,
171
- path: jsonPath.toString(),
172
- });
173
- }
174
- else {
175
- r.push({
176
- items: [jsonData],
177
- path: jsonPath.toString(),
178
- });
179
- }
180
- }
181
- return r;
182
- }
183
- //
184
- // prepare
185
- //
186
83
  async prepare() {
187
84
  const errors = [];
188
- errors.push(...(await this.prepareCoreItems()));
189
- return errors;
190
- }
191
- async prepareCoreItems() {
192
- const errors = [];
193
- const coreItemsDir = this.path("core-items", "source");
194
- const coreItemDNodePath = this.path("coreItems.d", "dist");
195
- const coreItemsDNode = new DNode(coreItemDNodePath);
196
- if ((await coreItemsDNode.get()) == undefined) {
197
- console.log("Initialize DNode");
198
- await coreItemsDNode.set({});
199
- }
200
- await coreItemsDNode.set("errors", []);
201
- this.log(info(`Prepare ${coreItemsDir} =>${coreItemDNodePath}`));
202
- for (const itemsDir of fg.globSync("*.d", {
203
- onlyDirectories: true,
204
- cwd: coreItemsDir.toString(),
205
- })) {
206
- const itemType = itemsDir.slice(0, itemsDir.length - 2);
207
- this.log(info(`ItemsDir (${itemType}) : ${itemsDir}`));
208
- const rawItemsEntries = this.loadItems(coreItemsDir.join(itemsDir));
209
- const items = [];
210
- for (const entry of rawItemsEntries) {
211
- this.log(info(`RawItems ${entry.path} ${entry.items.length}`));
212
- const [preparedItems, prepareErrors] = CoreItems.prepareItems(itemType, entry.items);
213
- items.push(...preparedItems);
214
- errors.push(...prepareErrors.map((e) => {
215
- e.source = entry.path;
216
- return e;
217
- }));
218
- }
219
- await coreItemsDNode.set(itemType, items);
220
- const refs = {};
221
- refs[itemType] = coreItemsDNode.ref(itemType);
222
- await coreItemsDNode.update(refs);
223
- }
224
- if (errors.length > 0) {
225
- const errs = await coreItemsDNode.get("errors");
226
- errs.push(errors);
227
- await coreItemsDNode.set("errors", errs);
85
+ await this.prepareDir.mkdir({ existOk: true });
86
+ try {
87
+ errors.push(...(await this.prepareItems()));
88
+ }
89
+ catch (err) {
90
+ errors.push({
91
+ type: "ItemValidationError",
92
+ index: -1,
93
+ message: `Unexpected error during items préparation\n${err}`,
94
+ });
95
+ return errors;
228
96
  }
229
97
  return errors;
230
98
  }
231
- //
232
- // release
233
- //
234
- async doRelease(apply = false) {
235
- console.log("APPLY:", apply);
236
- console.log("BASE:", this.base.s);
237
- console.log(`... git status (${this.base})`);
238
- const [r, code, err] = await git.status(this.base);
239
- if (code != 0) {
240
- console.log(`Error during git status. Return code: ${code}`);
241
- console.log(err);
242
- console.log("Exiting!");
243
- return;
244
- }
245
- if (r.length > 0) {
246
- console.log(`Pending changes or untracked file (${r.length}) please commit before releasing`);
247
- for (const entry of r.slice(0, 3)) {
248
- console.log(entry);
249
- }
250
- console.log("Exiting!");
251
- return;
252
- }
253
- let nextReleaseInfo = this.nextReleaseInfo();
254
- const history = nextReleaseInfo.history;
255
- delete nextReleaseInfo.history;
256
- console.log("# Next Release");
257
- console.log(JSON.stringify(nextReleaseInfo, null, 2));
258
- nextReleaseInfo["history"] = history;
259
- if (apply) {
260
- console.log("# Write 'release.json'");
261
- this.updateReleaseInfo(nextReleaseInfo);
262
- }
263
- const zipPath = this.releaseDir.join(`bbl-${nextReleaseInfo.version}-${nextReleaseInfo.release}.zip`);
264
- const tag = "v" + nextReleaseInfo.version;
265
- const tagMessage = `release ${nextReleaseInfo.release} (${tag})`;
266
- console.log(`# commit and tag ${tag}`);
267
- if (apply) {
268
- const cmd = `git commit -am "${nextReleaseInfo.description}" && git tag -a ${tag} -m "${tagMessage}"`;
269
- console.log("CMD:", cmd);
270
- const r = await runCommand(cmd, { cwd: this.base.s });
271
- if (r.code != 0) {
272
- console.log("Error during commit+tag", r.code);
273
- console.log(r.stderr);
274
- return;
275
- }
276
- }
277
- console.log(`# Release zip file ${zipPath}`);
278
- if (apply) {
279
- const cmd = `zip ${zipPath} -r bbl.d -x bbl.d/bibles/\\*`;
280
- console.log("ZIP CMD:", cmd);
281
- const r = await runCommand(cmd, { cwd: this.base.s });
282
- if (r.code != 0) {
283
- console.log("Error during eip", r.code);
284
- console.log(r.stderr);
285
- return;
286
- }
287
- }
288
- console.log(`# Deploy to ${this.deployTo()}`);
289
- if (apply) {
290
- const cmd = `unzip -o ${zipPath} -d ${this.deployTo()}`;
291
- console.log("CMD:", cmd);
292
- const r = await runCommand(cmd, { cwd: this.base.s });
293
- if (r.code != 0) {
294
- console.log("Error during unzip", r.code);
295
- console.log(r.stderr);
296
- return;
99
+ async prepareItems() {
100
+ const itemsDir = this.path("items");
101
+ const stats = {
102
+ itemsDir: itemsDir.s,
103
+ files: [],
104
+ };
105
+ const itemFiles = [];
106
+ if (await itemsDir.exists({ isDir: true })) {
107
+ for await (const entry of fsp.glob("**/*.md", {
108
+ cwd: itemsDir.s,
109
+ withFileTypes: true,
110
+ })) {
111
+ itemFiles.push(new Path(entry.parentPath).join(entry.name));
297
112
  }
298
113
  }
299
- }
300
- loadReleaseInfo() {
301
- const releaseInfoPath = this.base.join("release.json");
302
- if (!releaseInfoPath.existsSync()) {
303
- releaseInfoPath.writeJSONSync({
304
- release: "",
305
- version: "0.0.0",
306
- description: "Release 0",
307
- history: [],
308
- });
309
- }
310
- const releaseInfo = releaseInfoPath.readJSONSync();
311
- return releaseInfo;
312
- }
313
- nextReleaseInfo(arg = {}) {
314
- const versionInc = arg.versionInc ?? "patch";
315
- const relInfo = this.loadReleaseInfo();
316
- const previousRelInfo = {
317
- release: relInfo.release,
318
- version: relInfo.version,
319
- description: relInfo.description,
320
- };
321
- relInfo.history.unshift(previousRelInfo);
322
- const version = new SemVer(relInfo.version).inc(versionInc);
323
- const now = new Date();
324
- relInfo.version = version.version;
325
- relInfo.release =
326
- now.getFullYear() +
327
- now.getMonth().toString().padStart(2, "0") +
328
- now.getDate().toString().padStart(2, "0") +
329
- now.getHours().toString().padStart(2, "0") +
330
- now.getMinutes().toString().padStart(2, "0") +
331
- now.getSeconds().toString().padStart(2, "0");
332
- relInfo.description =
333
- arg.description ?? `v${relInfo.version} (${relInfo.release})`;
334
- return relInfo;
335
- }
336
- updateReleaseInfo(relInfo) {
337
- const releaseInfoPath = this.base.join("release.json");
338
- releaseInfoPath.writeJSONSync(relInfo);
339
- this.entryPath("dist", "", "release.json").writeJSONSync(relInfo);
340
- }
341
- buildRelease() {
342
- const relInfo = this.loadReleaseInfo();
343
- if (relInfo.release == "") {
344
- throw new Error(`Release not defined !`);
114
+ for (const itemFile of itemFiles) {
115
+ const src = await itemFile.readText();
116
+ const mdd = new MDDocument(src);
117
+ console.log("* FM:", typeof mdd.frontMatter, mdd.frontMatter);
118
+ const relPath = itemsDir.relative(itemFile);
119
+ stats.files.push({ path: relPath.s, itemType: mdd.frontMatter.itemType ?? null });
345
120
  }
346
- const relPath = this.releaseDir.join(`bbl-${relInfo.version}-${relInfo.release}.zip`);
347
- const r = spawnSync("zip", [
348
- relPath.toString(),
349
- "-r",
350
- "bbl.d",
351
- "-x",
352
- "bbl.d/bibles/*",
353
- ]);
354
- console.log("ERR:\n", r.stdout.toString("utf-8"));
355
- console.log("OUT:\n", r.stderr.toString("utf-8"));
356
- return relPath;
121
+ await this.prepareDir.join("prepare_items.json").writeJSON(stats);
122
+ const errors = [];
123
+ return errors;
357
124
  }
358
125
  }
359
126
  //# sourceMappingURL=BBLWorkspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBLWorkspace.js","sourceRoot":"","sources":["../../src/workspace/BBLWorkspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BBLWorkspace.js","sourceRoot":"","sources":["../../src/workspace/BBLWorkspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrts/bbl-node",
3
- "version": "0.4.99",
3
+ "version": "0.5.0",
4
4
  "description": "MRTS - bbl-common",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -39,12 +39,12 @@
39
39
  "access": "public"
40
40
  },
41
41
  "dependencies": {
42
- "@mrts/bbl-common": "^0.4.4",
42
+ "@mrts/bbl-common": "^0.5.0",
43
43
  "@mrts/common": "^0.4.4",
44
44
  "@mrts/common-node": "^0.3.40",
45
45
  "fast-glob": "^3.3.3",
46
46
  "pdf2json": "^4.0.2",
47
47
  "semver": "^7.7.2"
48
48
  },
49
- "gitHead": "d8f7c4fb5180f7c9c88594dd63e2ea2d48b741fa"
49
+ "gitHead": "34fbc8ef946def1048ac32b1eb64891211fffd21"
50
50
  }