@mrts/common-node 0.3.39 → 0.4.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 +1 @@
1
- {"version":3,"file":"DataBuilder.d.ts","sourceRoot":"","sources":["../../src/paths/DataBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,IAAI,EAEJ,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACrC,CAAC;AAcF,KAAK,QAAQ,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACtC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;CACrB,CAAC;AAEF,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG;IAC9B,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,KAAK,CAAmC;gBAG9C,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC3B,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAa/C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC;IAepB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAM9B,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAsB/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;CAGjB"}
1
+ {"version":3,"file":"DataBuilder.d.ts","sourceRoot":"","sources":["../../src/paths/DataBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,IAAI,EACJ,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACrC,CAAC;AAcF,KAAK,QAAQ,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACtC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;CACrB,CAAC;AAEF,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG;IAC9B,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,KAAK,CAAmC;gBAG9C,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC3B,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAa/C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC;IAepB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAM9B,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAsB/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;CAGjB"}
@@ -1,6 +1,7 @@
1
1
  import { scryptSync } from "node:crypto";
2
- import { ensurePath, isPathArgument, Path, updateNeededSync, } from "./Path.js";
2
+ import { ensurePath, isPathArgument, Path, } from "./Path.js";
3
3
  import fs from "node:fs";
4
+ import { updateNeededSync } from "./updateNeeded.js";
4
5
  function defaultPathResolver(baseDir, name) {
5
6
  return baseDir.join(`${name}.json`);
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataBuilder.js","sourceRoot":"","sources":["../../src/paths/DataBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataBuilder.js","sourceRoot":"","sources":["../../src/paths/DataBuilder.ts"],"names":[],"mappings":"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"}
@@ -7,22 +7,30 @@ export type StatsConditions = {
7
7
  export declare class Path {
8
8
  private p;
9
9
  private _parts;
10
+ private _parent;
10
11
  constructor(p: string | Path);
11
12
  get parts(): path.ParsedPath;
13
+ toString(): string;
14
+ get s(): string;
15
+ withExtension(ext: string): Path;
16
+ withBase(base: string): Path;
17
+ withName(name: string): Path;
18
+ get parent(): Path;
12
19
  join(...steps: PathArgument[]): Path;
13
20
  resolve(...paths: PathArgument[]): Path;
14
21
  relative(parg: PathArgument): Path;
22
+ stats(bigint: false): Promise<fs.Stats | undefined>;
23
+ stats(bigint: true): Promise<fs.BigIntStats | undefined>;
15
24
  stats(): Promise<fs.Stats | undefined>;
16
- statsSync(reload?: boolean): fs.Stats | undefined;
25
+ statsSync(bigint: false): fs.Stats | undefined;
26
+ statsSync(bigint: true): fs.BigIntStats | undefined;
27
+ statsSync(): fs.Stats | undefined;
17
28
  exists(conditions?: StatsConditions): Promise<boolean>;
18
29
  existsSync(conditions?: {
19
30
  isDir?: boolean;
20
31
  isFile?: boolean;
21
32
  }): boolean;
22
33
  private checkStatsConditions;
23
- toString(): string;
24
- get s(): string;
25
- withExtension(ext: string): Path;
26
34
  uptodateWith(other: Path): Promise<boolean>;
27
35
  writeText(text: string): Promise<void>;
28
36
  writeTextSync(text: string): void;
@@ -38,6 +46,10 @@ export declare class Path {
38
46
  mkdirSync(options?: fs.MakeDirectoryOptions & {
39
47
  existOk?: boolean;
40
48
  }): string | undefined;
49
+ createFile(): Promise<void>;
50
+ createFileSync(): void;
51
+ touch(): Promise<void>;
52
+ touchSync(): void;
41
53
  accessible(mode?: number): boolean;
42
54
  }
43
55
  export type PathArgument = Path | string;
@@ -48,8 +60,4 @@ export declare function pathArgumentToString(arg: PathArgument): string;
48
60
  export declare function pathArgumentToString(arg: undefined): undefined;
49
61
  export declare function pathArgumentToString(arg: PathArgument | undefined): string | undefined;
50
62
  export declare function pathArgumentToStringDefined(arg: PathArgument): string;
51
- export declare function updateNeededSync(source: PathArgument | PathArgument[], dest: PathArgument | PathArgument[], options?: {
52
- onMissingDest?: boolean;
53
- onMissingSource?: boolean;
54
- }): boolean;
55
63
  //# sourceMappingURL=Path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/paths/Path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/paths/Path.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import fs, { constants } from "node:fs";
4
4
  export class Path {
5
5
  p;
6
6
  _parts;
7
+ _parent;
7
8
  constructor(p) {
8
9
  if (p instanceof Path) {
9
10
  this.p = p.p;
@@ -16,6 +17,30 @@ export class Path {
16
17
  get parts() {
17
18
  return this._parts;
18
19
  }
20
+ toString() {
21
+ return this.p;
22
+ }
23
+ get s() {
24
+ return this.p;
25
+ }
26
+ withExtension(ext) {
27
+ const parts = { ...this._parts, ext, base: undefined };
28
+ return new Path(path.format(parts));
29
+ }
30
+ withBase(base) {
31
+ const parts = { dir: this._parts.dir, base };
32
+ return new Path(path.format(parts));
33
+ }
34
+ withName(name) {
35
+ const parts = { ...this._parts, name, base: undefined };
36
+ return new Path(path.format(parts));
37
+ }
38
+ get parent() {
39
+ if (this._parent == undefined) {
40
+ this._parent = new Path(path.dirname(this.p));
41
+ }
42
+ return this._parent;
43
+ }
19
44
  join(...steps) {
20
45
  return new Path(path.join(this.p, ...steps.map(pathArgumentToStringDefined)));
21
46
  }
@@ -32,9 +57,9 @@ export class Path {
32
57
  return new Path(relPath);
33
58
  }
34
59
  }
35
- async stats() {
60
+ async stats(bigint = false) {
36
61
  try {
37
- const stats = await fsp.stat(this.p);
62
+ const stats = await fsp.stat(this.p, { bigint });
38
63
  return stats;
39
64
  }
40
65
  catch (err) {
@@ -46,12 +71,12 @@ export class Path {
46
71
  }
47
72
  }
48
73
  }
49
- statsSync(reload = false) {
74
+ statsSync(bigint = false) {
50
75
  // if (!reload && this.statsLoaded) {
51
76
  // return this._stats;
52
77
  // }
53
78
  try {
54
- const stats = fs.statSync(this.p);
79
+ const stats = fs.statSync(this.p, { bigint });
55
80
  return stats;
56
81
  }
57
82
  catch (err) {
@@ -76,36 +101,27 @@ export class Path {
76
101
  return false;
77
102
  }
78
103
  if (conditions.isDir != undefined) {
79
- if (stats.isDirectory() != conditions.isDir) {
104
+ if (!!stats.isDirectory() != conditions.isDir) {
80
105
  return false;
81
106
  }
82
107
  }
83
108
  if (conditions.isFile != undefined) {
84
- if (stats.isFile() != conditions.isFile) {
109
+ if (!!stats.isFile() != conditions.isFile) {
85
110
  return false;
86
111
  }
87
112
  }
88
113
  return true;
89
114
  }
90
- toString() {
91
- return this.p;
92
- }
93
- get s() {
94
- return this.p;
95
- }
96
- withExtension(ext) {
97
- return new Path(path.join(this._parts.dir, this._parts.name + ext));
98
- }
99
115
  async uptodateWith(other) {
100
- const oStats = await other.stats();
101
- const stats = await this.stats();
116
+ const oStats = await other.stats(true);
117
+ const stats = await this.stats(true);
102
118
  if (oStats == undefined) {
103
119
  return true;
104
120
  }
105
121
  if (stats == undefined) {
106
122
  return false;
107
123
  }
108
- return stats.mtime > oStats.mtime;
124
+ return stats.mtimeNs > oStats.mtimeNs;
109
125
  }
110
126
  async writeText(text) {
111
127
  return fsp.writeFile(this.p, text, "utf-8");
@@ -157,6 +173,40 @@ export class Path {
157
173
  }
158
174
  }
159
175
  }
176
+ async createFile() {
177
+ const stats = await this.stats();
178
+ if (stats && stats.isFile())
179
+ return;
180
+ const dir = this.parent;
181
+ const dirStats = await dir.stats();
182
+ if (!dirStats || !dirStats.isDirectory()) {
183
+ // parent is not a directory
184
+ throw new Error(`Parent directory not available for ${this.s}`);
185
+ }
186
+ await fsp.writeFile(this.s, "");
187
+ }
188
+ createFileSync() {
189
+ const stats = this.statsSync();
190
+ if (stats && stats.isFile())
191
+ return;
192
+ const dir = this.parent;
193
+ const dirStats = dir.statsSync();
194
+ if (!dirStats || !dirStats.isDirectory()) {
195
+ // parent is not a directory
196
+ throw new Error(`Parent directory not available for ${this.s}`);
197
+ }
198
+ fs.writeFileSync(this.s, "");
199
+ }
200
+ async touch() {
201
+ await this.createFile();
202
+ const now = new Date();
203
+ await fsp.utimes(this.s, now, now);
204
+ }
205
+ touchSync() {
206
+ this.createFileSync();
207
+ const now = new Date();
208
+ fs.utimesSync(this.s, now, now);
209
+ }
160
210
  accessible(mode) {
161
211
  mode ??= constants.R_OK;
162
212
  try {
@@ -184,77 +234,4 @@ export function pathArgumentToString(arg) {
184
234
  export function pathArgumentToStringDefined(arg) {
185
235
  return typeof arg == "string" ? arg : arg.toString();
186
236
  }
187
- export function updateNeededSync(source, dest, options = {}) {
188
- const opt = { onMissingDest: true, onMissingSource: true, ...options };
189
- let srcFound = 0;
190
- let srcMTime = 0;
191
- let dstFound = 0;
192
- let dstMTime = 0;
193
- const sourceList = Array.isArray(source) ? source : [source];
194
- for (const src of sourceList) {
195
- const srcPath = ensurePath(src);
196
- const stats = srcPath.statsSync(true); // undefined if not exists
197
- if (stats != undefined) {
198
- if (srcFound == 0) {
199
- srcMTime = stats.mtimeMs;
200
- }
201
- srcFound += 1;
202
- if (stats.mtimeMs > srcMTime) {
203
- srcMTime = stats.mtimeMs;
204
- }
205
- }
206
- }
207
- const destList = Array.isArray(dest) ? dest : [dest];
208
- for (const dst of destList) {
209
- const dstPath = ensurePath(dst);
210
- const stats = dstPath.statsSync(true); // undefined if not exists
211
- if (stats != undefined) {
212
- if (dstFound == 0) {
213
- dstMTime = stats.mtimeMs;
214
- }
215
- dstFound += 1;
216
- if (stats.mtimeMs < dstMTime) {
217
- dstMTime = stats.mtimeMs;
218
- }
219
- }
220
- }
221
- if (destList.length == 0) {
222
- return true;
223
- }
224
- else if (sourceList.length == 0) {
225
- if (dstFound == destList.length) {
226
- return false;
227
- }
228
- else {
229
- return opt.onMissingDest;
230
- }
231
- }
232
- // destList.length > 0 && sourceList.length > 0
233
- if (srcFound == sourceList.length) {
234
- if (dstFound == destList.length) {
235
- return srcMTime > dstMTime;
236
- }
237
- else if (dstFound > 0) {
238
- return opt.onMissingDest ? true : srcMTime > dstMTime;
239
- }
240
- else {
241
- return true;
242
- }
243
- }
244
- else {
245
- // srcFound < expected
246
- if (opt.onMissingSource) {
247
- return true;
248
- }
249
- if (dstFound == destList.length) {
250
- return srcMTime > dstMTime;
251
- }
252
- else if (dstFound > 0) {
253
- return opt.onMissingDest ? true : srcMTime > dstMTime;
254
- }
255
- else {
256
- return true;
257
- }
258
- }
259
- }
260
237
  //# sourceMappingURL=Path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/paths/Path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/paths/Path.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from "./Path.js";
2
+ export * from "./updateNeeded.js";
2
3
  export * from "./DataBuilder.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./Path.js";
2
+ export * from "./updateNeeded.js";
2
3
  export * from "./DataBuilder.js";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/paths/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type PathArgument } from "./Path.js";
2
+ type TOnMissingSource = "fail" | "update" | "ignore";
3
+ export declare function updateNeededSync(source: PathArgument | PathArgument[], dest: PathArgument | PathArgument[], options?: {
4
+ onMissingSource: TOnMissingSource;
5
+ } | TOnMissingSource): boolean;
6
+ export {};
7
+ //# sourceMappingURL=updateNeeded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeeded.d.ts","sourceRoot":"","sources":["../../src/paths/updateNeeded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1D,KAAK,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,EACrC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,EAEnC,OAAO,GACH;IACE,eAAe,EAAE,gBAAgB,CAAC;CACnC,GACD,gBAA2B,GAC9B,OAAO,CA6ET"}
@@ -0,0 +1,70 @@
1
+ import { ensurePath } from "./Path.js";
2
+ export function updateNeededSync(source, dest, options = "update") {
3
+ const opt = typeof options == "string" ? { onMissingSource: options } : options;
4
+ // collect data
5
+ let srcFound = 0;
6
+ let srcMTime = 0;
7
+ let dstFound = 0;
8
+ let dstMTime = 0;
9
+ const srcList = Array.isArray(source) ? source : [source];
10
+ for (const src of srcList) {
11
+ const srcPath = ensurePath(src);
12
+ const stats = srcPath.statsSync(); // undefined if not exists
13
+ if (stats != undefined) {
14
+ if (srcFound == 0) {
15
+ srcMTime = stats.mtimeMs;
16
+ }
17
+ srcFound += 1;
18
+ if (stats.mtimeMs > srcMTime) {
19
+ srcMTime = stats.mtimeMs;
20
+ }
21
+ }
22
+ }
23
+ const dstList = Array.isArray(dest) ? dest : [dest];
24
+ for (const dst of dstList) {
25
+ const dstPath = ensurePath(dst);
26
+ const stats = dstPath.statsSync(); // undefined if not exists
27
+ if (stats != undefined) {
28
+ if (dstFound == 0) {
29
+ dstMTime = stats.mtimeMs;
30
+ }
31
+ dstFound += 1;
32
+ if (stats.mtimeMs < dstMTime) {
33
+ dstMTime = stats.mtimeMs;
34
+ }
35
+ }
36
+ }
37
+ // decide
38
+ if (dstList.length == 0) {
39
+ return false;
40
+ }
41
+ if (dstFound < dstList.length) {
42
+ return true;
43
+ }
44
+ if (srcList.length == 0) {
45
+ // dstFound == dstList.
46
+ return false;
47
+ }
48
+ if (srcFound < srcList.length) {
49
+ if (opt.onMissingSource == "fail") {
50
+ throw new Error(`Missing source files : ${srcFound}/${srcList.length}`);
51
+ }
52
+ else if (opt.onMissingSource == "update") {
53
+ return true;
54
+ }
55
+ else {
56
+ // opt.onMissingSource == "ignore"
57
+ if (srcFound > 0) {
58
+ return srcMTime > dstMTime;
59
+ }
60
+ else {
61
+ return false;
62
+ }
63
+ }
64
+ }
65
+ // here:
66
+ // - dstList.length > 0 && srcList.length > 0
67
+ // - dstFound == dstList.length && srcFound == srcList.length
68
+ return srcMTime > dstMTime;
69
+ }
70
+ //# sourceMappingURL=updateNeeded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateNeeded.js","sourceRoot":"","sources":["../../src/paths/updateNeeded.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrts/common-node",
3
- "version": "0.3.39",
3
+ "version": "0.4.0",
4
4
  "description": "MRTS - common-node",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,11 +19,12 @@
19
19
  "scripts": {
20
20
  "clean": "shx mkdir -p dist/removeme.d && shx rm -r dist/*",
21
21
  "build": "tsc --project tsconfig.build.json",
22
- "test": "node --import tsx --test \"test/**/*.test.ts\""
22
+ "test": "node --import tsx --test \"test/**/*.test.ts\"",
23
+ "test1": "node --import tsx --test-name-pattern '<selected>' --test \"test/**/*.test.ts\""
23
24
  },
24
25
  "devDependencies": {
25
- "@mrts/common-test": "^0.3.37",
26
- "@mrts/tsconfig": "^0.3.0",
26
+ "@mrts/common-test": "^0.4.0",
27
+ "@mrts/tsconfig": "^0.4.0",
27
28
  "@types/node": "^24.0.1",
28
29
  "shx": "^0.4.0",
29
30
  "typescript": "^5.8.3"
@@ -36,8 +37,8 @@
36
37
  "publishConfig": {
37
38
  "access": "public"
38
39
  },
39
- "gitHead": "ad11a8b6c8df15ec893868cdda989272e9f4a3be",
40
+ "gitHead": "edd3bc0a38541f5435f3079121581bee1ccd6577",
40
41
  "dependencies": {
41
- "@mrts/common": "^0.3.36"
42
+ "@mrts/common": "^0.4.0"
42
43
  }
43
44
  }