@powerlines/nx 0.11.183 → 0.11.185
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/CHANGELOG.md +12 -0
- package/dist/{chunk-SVQQQTED.js → chunk-4NJXP5CA.js} +2 -2
- package/dist/{chunk-ROWPHCB5.mjs → chunk-4OHI44IN.mjs} +1 -1
- package/dist/{chunk-IZRD3PS4.mjs → chunk-5YHDBUC5.mjs} +1 -1
- package/dist/{chunk-3TEUJ53S.mjs → chunk-BLC2R64D.mjs} +39 -36
- package/dist/{chunk-SDWGEOJB.js → chunk-FHAFDBPP.js} +2 -2
- package/dist/{chunk-PZEOV3CF.js → chunk-FISRRACE.js} +39 -36
- package/dist/{chunk-D7BCD6CT.js → chunk-GS3BFNT6.js} +2 -2
- package/dist/{chunk-NJAQUAW5.js → chunk-H6PLWH3V.js} +2 -2
- package/dist/{chunk-GXQMK6ZV.js → chunk-MA4MMHIX.js} +2 -2
- package/dist/{chunk-XVITFZCA.mjs → chunk-ON4AUIAK.mjs} +1 -1
- package/dist/{chunk-YQPVI6T7.mjs → chunk-PC3EAEVL.mjs} +1 -1
- package/dist/{chunk-5S3BMV7P.mjs → chunk-SBB372ZH.mjs} +1 -1
- package/dist/executors.js +11 -11
- package/dist/executors.mjs +6 -6
- package/dist/index.js +11 -11
- package/dist/index.mjs +6 -6
- package/dist/src/base/base-executor.js +2 -2
- package/dist/src/base/base-executor.mjs +1 -1
- package/dist/src/executors/build/executor.js +4 -4
- package/dist/src/executors/build/executor.mjs +2 -2
- package/dist/src/executors/clean/executor.js +4 -4
- package/dist/src/executors/clean/executor.mjs +2 -2
- package/dist/src/executors/docs/executor.js +4 -4
- package/dist/src/executors/docs/executor.mjs +2 -2
- package/dist/src/executors/lint/executor.js +4 -4
- package/dist/src/executors/lint/executor.mjs +2 -2
- package/dist/src/executors/prepare/executor.js +4 -4
- package/dist/src/executors/prepare/executor.mjs +2 -2
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog for Powerlines - Nx
|
|
4
4
|
|
|
5
|
+
## [0.11.184](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.184) (01/30/2026)
|
|
6
|
+
|
|
7
|
+
### Updated Dependencies
|
|
8
|
+
|
|
9
|
+
- Updated **powerlines** to **v0.38.24**
|
|
10
|
+
|
|
11
|
+
## [0.11.183](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.183) (01/30/2026)
|
|
12
|
+
|
|
13
|
+
### Updated Dependencies
|
|
14
|
+
|
|
15
|
+
- Updated **powerlines** to **v0.38.23**
|
|
16
|
+
|
|
5
17
|
## [0.11.182](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.182) (01/30/2026)
|
|
6
18
|
|
|
7
19
|
### Updated Dependencies
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFISRRACE_js = require('./chunk-FISRRACE.js');
|
|
4
4
|
var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
|
|
5
5
|
|
|
6
6
|
// src/executors/docs/executor.ts
|
|
@@ -11,7 +11,7 @@ async function executorFn(context, api) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
chunkSHUYVCID_js.__name(executorFn, "executorFn");
|
|
14
|
-
var executor =
|
|
14
|
+
var executor = chunkFISRRACE_js.withExecutor("docs", executorFn);
|
|
15
15
|
var executor_default = executor;
|
|
16
16
|
|
|
17
17
|
exports.executorFn = executorFn;
|
|
@@ -75,7 +75,7 @@ import { resolve } from 'node:path';
|
|
|
75
75
|
|
|
76
76
|
// ../powerlines/package.json
|
|
77
77
|
var package_default = {
|
|
78
|
-
version: "0.38.
|
|
78
|
+
version: "0.38.24"};
|
|
79
79
|
var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
|
|
80
80
|
static {
|
|
81
81
|
__name(this, "VirtualFileSystemHost");
|
|
@@ -1367,7 +1367,10 @@ var BaseStorageAdapter = class {
|
|
|
1367
1367
|
* @param key - The key to resolve.
|
|
1368
1368
|
* @returns The resolved full path for the key.
|
|
1369
1369
|
*/
|
|
1370
|
-
resolve(key
|
|
1370
|
+
resolve(key) {
|
|
1371
|
+
if (!key) {
|
|
1372
|
+
return this.options.base;
|
|
1373
|
+
}
|
|
1371
1374
|
if (/\.\.:|\.\.$/.test(key)) {
|
|
1372
1375
|
throw new Error(`[${this.name}]: Invalid key: ${JSON.stringify(key)} provided to storage adapter.`);
|
|
1373
1376
|
}
|
|
@@ -1713,18 +1716,10 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
1713
1716
|
* @param key - The key to get the storage adapter for.
|
|
1714
1717
|
* @returns The storage adapter and relative key for the given key.
|
|
1715
1718
|
*/
|
|
1716
|
-
#getStorage(key) {
|
|
1717
|
-
const found = Object.entries(this.#storage).find(([, adapter]) => adapter.name === key || adapter.preset && adapter.preset.toLowerCase() === key?.toLowerCase());
|
|
1718
|
-
if (found) {
|
|
1719
|
-
return {
|
|
1720
|
-
base: found[0],
|
|
1721
|
-
relativeKey: "",
|
|
1722
|
-
adapter: found[1]
|
|
1723
|
-
};
|
|
1724
|
-
}
|
|
1719
|
+
#getStorage(key, preset) {
|
|
1725
1720
|
const path = this.resolveSync(this.#normalizePath(key)) || key;
|
|
1726
1721
|
for (const base of Object.keys(this.#storage).filter(Boolean).sort().reverse()) {
|
|
1727
|
-
if (isParentPath(path, base)) {
|
|
1722
|
+
if ((path === base || isParentPath(path, base)) && (!preset || this.#storage[base]?.preset?.toLowerCase() === preset.toLowerCase())) {
|
|
1728
1723
|
return {
|
|
1729
1724
|
base,
|
|
1730
1725
|
relativeKey: replacePath(path, base),
|
|
@@ -1732,10 +1727,22 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
1732
1727
|
};
|
|
1733
1728
|
}
|
|
1734
1729
|
}
|
|
1730
|
+
if (!preset || this.#storage[""]?.preset?.toLowerCase() === preset.toLowerCase()) {
|
|
1731
|
+
return {
|
|
1732
|
+
base: "",
|
|
1733
|
+
relativeKey: path,
|
|
1734
|
+
adapter: this.#storage[""]
|
|
1735
|
+
};
|
|
1736
|
+
}
|
|
1737
|
+
this.#storage[path] = preset === "virtual" ? new VirtualStorageAdapter({
|
|
1738
|
+
base: path
|
|
1739
|
+
}) : new FileSystemStorageAdapter({
|
|
1740
|
+
base: path
|
|
1741
|
+
});
|
|
1735
1742
|
return {
|
|
1736
|
-
base:
|
|
1737
|
-
relativeKey:
|
|
1738
|
-
adapter: this.#storage[
|
|
1743
|
+
base: path,
|
|
1744
|
+
relativeKey: "",
|
|
1745
|
+
adapter: this.#storage[path]
|
|
1739
1746
|
};
|
|
1740
1747
|
}
|
|
1741
1748
|
/**
|
|
@@ -1949,12 +1956,6 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
1949
1956
|
this.#storage.virtual ??= new VirtualStorageAdapter({
|
|
1950
1957
|
base: "/_virtual"
|
|
1951
1958
|
});
|
|
1952
|
-
this.#storage[appendPath(this.#context.config.output.buildPath, this.#context.workspaceConfig.workspaceRoot)] ??= new FileSystemStorageAdapter({
|
|
1953
|
-
base: appendPath(this.#context.config.output.buildPath, this.#context.workspaceConfig.workspaceRoot)
|
|
1954
|
-
});
|
|
1955
|
-
this.#storage[appendPath(this.#context.config.output.outputPath, this.#context.workspaceConfig.workspaceRoot)] ??= new FileSystemStorageAdapter({
|
|
1956
|
-
base: appendPath(this.#context.config.output.outputPath, this.#context.workspaceConfig.workspaceRoot)
|
|
1957
|
-
});
|
|
1958
1959
|
if (this.#context.config.output.storage !== "fs") {
|
|
1959
1960
|
this.#storage[this.#context.artifactsPath] ??= new VirtualStorageAdapter({
|
|
1960
1961
|
base: this.#context.artifactsPath
|
|
@@ -2026,7 +2027,7 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2026
2027
|
if (!resolved) {
|
|
2027
2028
|
return false;
|
|
2028
2029
|
}
|
|
2029
|
-
return this.#getStorage(resolved)?.adapter?.
|
|
2030
|
+
return this.#getStorage(resolved)?.adapter?.preset === "virtual";
|
|
2030
2031
|
}
|
|
2031
2032
|
/**
|
|
2032
2033
|
* Checks if a path is a directory in the virtual file system (VFS).
|
|
@@ -2352,12 +2353,13 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2352
2353
|
*/
|
|
2353
2354
|
async write(path, data = "", options = {}) {
|
|
2354
2355
|
const meta = options.meta ?? {};
|
|
2355
|
-
const
|
|
2356
|
-
|
|
2356
|
+
const resolvedPath = await this.resolve(this.#normalizePath(path)) || path;
|
|
2357
|
+
const { relativeKey, adapter } = this.#getStorage(resolvedPath, options.storage);
|
|
2358
|
+
this.#log(LogLevelLabel.TRACE, `Writing ${resolvedPath} to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob$1(toArray(data)).size)})`);
|
|
2357
2359
|
let code = data;
|
|
2358
2360
|
try {
|
|
2359
2361
|
if (!options.skipFormat) {
|
|
2360
|
-
code = await format(this.#context,
|
|
2362
|
+
code = await format(this.#context, resolvedPath, data);
|
|
2361
2363
|
}
|
|
2362
2364
|
} catch (err) {
|
|
2363
2365
|
if ([
|
|
@@ -2374,23 +2376,23 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2374
2376
|
"jsonc",
|
|
2375
2377
|
"md",
|
|
2376
2378
|
"mdx"
|
|
2377
|
-
].includes(findFileExtensionSafe(
|
|
2379
|
+
].includes(findFileExtensionSafe(resolvedPath, {
|
|
2378
2380
|
fullExtension: true
|
|
2379
2381
|
}))) {
|
|
2380
|
-
this.#log(LogLevelLabel.WARN, `Failed to format file ${
|
|
2382
|
+
this.#log(LogLevelLabel.WARN, `Failed to format file ${resolvedPath} before writing: ${err.message}`);
|
|
2381
2383
|
}
|
|
2382
2384
|
code = data;
|
|
2383
2385
|
}
|
|
2384
|
-
this.#log(LogLevelLabel.TRACE, `Writing ${
|
|
2385
|
-
const id = this.#normalizeId(meta.id ||
|
|
2386
|
+
this.#log(LogLevelLabel.TRACE, `Writing ${resolvedPath} to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob$1(toArray(code)).size)})`);
|
|
2387
|
+
const id = this.#normalizeId(meta.id || resolvedPath);
|
|
2386
2388
|
this.metadata[id] = {
|
|
2387
2389
|
type: "normal",
|
|
2388
2390
|
timestamp: Date.now(),
|
|
2389
2391
|
...this.metadata[id] ?? {},
|
|
2390
2392
|
...meta
|
|
2391
2393
|
};
|
|
2392
|
-
this.paths[id] =
|
|
2393
|
-
this.ids[
|
|
2394
|
+
this.paths[id] = resolvedPath;
|
|
2395
|
+
this.ids[resolvedPath] = id;
|
|
2394
2396
|
return adapter.set(relativeKey, code);
|
|
2395
2397
|
}
|
|
2396
2398
|
/**
|
|
@@ -2402,17 +2404,18 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2402
2404
|
*/
|
|
2403
2405
|
writeSync(path, data = "", options = {}) {
|
|
2404
2406
|
const meta = options.meta ?? {};
|
|
2405
|
-
const
|
|
2406
|
-
|
|
2407
|
-
|
|
2407
|
+
const resolvedPath = this.resolveSync(this.#normalizePath(path)) || path;
|
|
2408
|
+
const { relativeKey, adapter } = this.#getStorage(resolvedPath, options.storage);
|
|
2409
|
+
this.#log(LogLevelLabel.TRACE, `Writing ${resolvedPath} file to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes(new Blob$1(toArray(data)).size)})`);
|
|
2410
|
+
const id = this.#normalizeId(meta.id || resolvedPath);
|
|
2408
2411
|
this.metadata[id] = {
|
|
2409
2412
|
type: "normal",
|
|
2410
2413
|
timestamp: Date.now(),
|
|
2411
2414
|
...this.metadata[id] ?? {},
|
|
2412
2415
|
...meta
|
|
2413
2416
|
};
|
|
2414
|
-
this.paths[id] =
|
|
2415
|
-
this.ids[
|
|
2417
|
+
this.paths[id] = resolvedPath;
|
|
2418
|
+
this.ids[resolvedPath] = id;
|
|
2416
2419
|
return adapter.setSync(relativeKey, data);
|
|
2417
2420
|
}
|
|
2418
2421
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFISRRACE_js = require('./chunk-FISRRACE.js');
|
|
4
4
|
var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
|
|
5
5
|
var defu = require('defu');
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ async function executorFn(context, api) {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
chunkSHUYVCID_js.__name(executorFn, "executorFn");
|
|
22
|
-
var executor =
|
|
22
|
+
var executor = chunkFISRRACE_js.withExecutor("prepare", executorFn);
|
|
23
23
|
var executor_default = executor;
|
|
24
24
|
|
|
25
25
|
exports.executorFn = executorFn;
|
|
@@ -103,7 +103,7 @@ var $__namespace = /*#__PURE__*/_interopNamespace($);
|
|
|
103
103
|
|
|
104
104
|
// ../powerlines/package.json
|
|
105
105
|
var package_default = {
|
|
106
|
-
version: "0.38.
|
|
106
|
+
version: "0.38.24"};
|
|
107
107
|
var VirtualFileSystemHost = class extends tsMorph.InMemoryFileSystemHost {
|
|
108
108
|
static {
|
|
109
109
|
chunkSHUYVCID_js.__name(this, "VirtualFileSystemHost");
|
|
@@ -1395,7 +1395,10 @@ var BaseStorageAdapter = class {
|
|
|
1395
1395
|
* @param key - The key to resolve.
|
|
1396
1396
|
* @returns The resolved full path for the key.
|
|
1397
1397
|
*/
|
|
1398
|
-
resolve(key
|
|
1398
|
+
resolve(key) {
|
|
1399
|
+
if (!key) {
|
|
1400
|
+
return this.options.base;
|
|
1401
|
+
}
|
|
1399
1402
|
if (/\.\.:|\.\.$/.test(key)) {
|
|
1400
1403
|
throw new Error(`[${this.name}]: Invalid key: ${JSON.stringify(key)} provided to storage adapter.`);
|
|
1401
1404
|
}
|
|
@@ -1741,18 +1744,10 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
1741
1744
|
* @param key - The key to get the storage adapter for.
|
|
1742
1745
|
* @returns The storage adapter and relative key for the given key.
|
|
1743
1746
|
*/
|
|
1744
|
-
#getStorage(key) {
|
|
1745
|
-
const found = Object.entries(this.#storage).find(([, adapter]) => adapter.name === key || adapter.preset && adapter.preset.toLowerCase() === key?.toLowerCase());
|
|
1746
|
-
if (found) {
|
|
1747
|
-
return {
|
|
1748
|
-
base: found[0],
|
|
1749
|
-
relativeKey: "",
|
|
1750
|
-
adapter: found[1]
|
|
1751
|
-
};
|
|
1752
|
-
}
|
|
1747
|
+
#getStorage(key, preset) {
|
|
1753
1748
|
const path = this.resolveSync(this.#normalizePath(key)) || key;
|
|
1754
1749
|
for (const base of Object.keys(this.#storage).filter(Boolean).sort().reverse()) {
|
|
1755
|
-
if (isParentPath.isParentPath(path, base)) {
|
|
1750
|
+
if ((path === base || isParentPath.isParentPath(path, base)) && (!preset || this.#storage[base]?.preset?.toLowerCase() === preset.toLowerCase())) {
|
|
1756
1751
|
return {
|
|
1757
1752
|
base,
|
|
1758
1753
|
relativeKey: replace.replacePath(path, base),
|
|
@@ -1760,10 +1755,22 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
1760
1755
|
};
|
|
1761
1756
|
}
|
|
1762
1757
|
}
|
|
1758
|
+
if (!preset || this.#storage[""]?.preset?.toLowerCase() === preset.toLowerCase()) {
|
|
1759
|
+
return {
|
|
1760
|
+
base: "",
|
|
1761
|
+
relativeKey: path,
|
|
1762
|
+
adapter: this.#storage[""]
|
|
1763
|
+
};
|
|
1764
|
+
}
|
|
1765
|
+
this.#storage[path] = preset === "virtual" ? new VirtualStorageAdapter({
|
|
1766
|
+
base: path
|
|
1767
|
+
}) : new FileSystemStorageAdapter({
|
|
1768
|
+
base: path
|
|
1769
|
+
});
|
|
1763
1770
|
return {
|
|
1764
|
-
base:
|
|
1765
|
-
relativeKey:
|
|
1766
|
-
adapter: this.#storage[
|
|
1771
|
+
base: path,
|
|
1772
|
+
relativeKey: "",
|
|
1773
|
+
adapter: this.#storage[path]
|
|
1767
1774
|
};
|
|
1768
1775
|
}
|
|
1769
1776
|
/**
|
|
@@ -1977,12 +1984,6 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
1977
1984
|
this.#storage.virtual ??= new VirtualStorageAdapter({
|
|
1978
1985
|
base: "/_virtual"
|
|
1979
1986
|
});
|
|
1980
|
-
this.#storage[append.appendPath(this.#context.config.output.buildPath, this.#context.workspaceConfig.workspaceRoot)] ??= new FileSystemStorageAdapter({
|
|
1981
|
-
base: append.appendPath(this.#context.config.output.buildPath, this.#context.workspaceConfig.workspaceRoot)
|
|
1982
|
-
});
|
|
1983
|
-
this.#storage[append.appendPath(this.#context.config.output.outputPath, this.#context.workspaceConfig.workspaceRoot)] ??= new FileSystemStorageAdapter({
|
|
1984
|
-
base: append.appendPath(this.#context.config.output.outputPath, this.#context.workspaceConfig.workspaceRoot)
|
|
1985
|
-
});
|
|
1986
1987
|
if (this.#context.config.output.storage !== "fs") {
|
|
1987
1988
|
this.#storage[this.#context.artifactsPath] ??= new VirtualStorageAdapter({
|
|
1988
1989
|
base: this.#context.artifactsPath
|
|
@@ -2054,7 +2055,7 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2054
2055
|
if (!resolved) {
|
|
2055
2056
|
return false;
|
|
2056
2057
|
}
|
|
2057
|
-
return this.#getStorage(resolved)?.adapter?.
|
|
2058
|
+
return this.#getStorage(resolved)?.adapter?.preset === "virtual";
|
|
2058
2059
|
}
|
|
2059
2060
|
/**
|
|
2060
2061
|
* Checks if a path is a directory in the virtual file system (VFS).
|
|
@@ -2380,12 +2381,13 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2380
2381
|
*/
|
|
2381
2382
|
async write(path, data = "", options = {}) {
|
|
2382
2383
|
const meta = options.meta ?? {};
|
|
2383
|
-
const
|
|
2384
|
-
|
|
2384
|
+
const resolvedPath = await this.resolve(this.#normalizePath(path)) || path;
|
|
2385
|
+
const { relativeKey, adapter } = this.#getStorage(resolvedPath, options.storage);
|
|
2386
|
+
this.#log(types.LogLevelLabel.TRACE, `Writing ${resolvedPath} to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes.prettyBytes(new buffer$1.Blob(toArray.toArray(data)).size)})`);
|
|
2385
2387
|
let code = data;
|
|
2386
2388
|
try {
|
|
2387
2389
|
if (!options.skipFormat) {
|
|
2388
|
-
code = await format(this.#context,
|
|
2390
|
+
code = await format(this.#context, resolvedPath, data);
|
|
2389
2391
|
}
|
|
2390
2392
|
} catch (err) {
|
|
2391
2393
|
if ([
|
|
@@ -2402,23 +2404,23 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2402
2404
|
"jsonc",
|
|
2403
2405
|
"md",
|
|
2404
2406
|
"mdx"
|
|
2405
|
-
].includes(filePathFns.findFileExtensionSafe(
|
|
2407
|
+
].includes(filePathFns.findFileExtensionSafe(resolvedPath, {
|
|
2406
2408
|
fullExtension: true
|
|
2407
2409
|
}))) {
|
|
2408
|
-
this.#log(types.LogLevelLabel.WARN, `Failed to format file ${
|
|
2410
|
+
this.#log(types.LogLevelLabel.WARN, `Failed to format file ${resolvedPath} before writing: ${err.message}`);
|
|
2409
2411
|
}
|
|
2410
2412
|
code = data;
|
|
2411
2413
|
}
|
|
2412
|
-
this.#log(types.LogLevelLabel.TRACE, `Writing ${
|
|
2413
|
-
const id = this.#normalizeId(meta.id ||
|
|
2414
|
+
this.#log(types.LogLevelLabel.TRACE, `Writing ${resolvedPath} to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes.prettyBytes(new buffer$1.Blob(toArray.toArray(code)).size)})`);
|
|
2415
|
+
const id = this.#normalizeId(meta.id || resolvedPath);
|
|
2414
2416
|
this.metadata[id] = {
|
|
2415
2417
|
type: "normal",
|
|
2416
2418
|
timestamp: Date.now(),
|
|
2417
2419
|
...this.metadata[id] ?? {},
|
|
2418
2420
|
...meta
|
|
2419
2421
|
};
|
|
2420
|
-
this.paths[id] =
|
|
2421
|
-
this.ids[
|
|
2422
|
+
this.paths[id] = resolvedPath;
|
|
2423
|
+
this.ids[resolvedPath] = id;
|
|
2422
2424
|
return adapter.set(relativeKey, code);
|
|
2423
2425
|
}
|
|
2424
2426
|
/**
|
|
@@ -2430,17 +2432,18 @@ var VirtualFileSystem = class _VirtualFileSystem {
|
|
|
2430
2432
|
*/
|
|
2431
2433
|
writeSync(path, data = "", options = {}) {
|
|
2432
2434
|
const meta = options.meta ?? {};
|
|
2433
|
-
const
|
|
2434
|
-
|
|
2435
|
-
|
|
2435
|
+
const resolvedPath = this.resolveSync(this.#normalizePath(path)) || path;
|
|
2436
|
+
const { relativeKey, adapter } = this.#getStorage(resolvedPath, options.storage);
|
|
2437
|
+
this.#log(types.LogLevelLabel.TRACE, `Writing ${resolvedPath} file to ${adapter.name === "virtual" ? "the virtual file system" : adapter.name === "file-system" ? "the local file system" : adapter.name} (size: ${prettyBytes.prettyBytes(new buffer$1.Blob(toArray.toArray(data)).size)})`);
|
|
2438
|
+
const id = this.#normalizeId(meta.id || resolvedPath);
|
|
2436
2439
|
this.metadata[id] = {
|
|
2437
2440
|
type: "normal",
|
|
2438
2441
|
timestamp: Date.now(),
|
|
2439
2442
|
...this.metadata[id] ?? {},
|
|
2440
2443
|
...meta
|
|
2441
2444
|
};
|
|
2442
|
-
this.paths[id] =
|
|
2443
|
-
this.ids[
|
|
2445
|
+
this.paths[id] = resolvedPath;
|
|
2446
|
+
this.ids[resolvedPath] = id;
|
|
2444
2447
|
return adapter.setSync(relativeKey, data);
|
|
2445
2448
|
}
|
|
2446
2449
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFISRRACE_js = require('./chunk-FISRRACE.js');
|
|
4
4
|
var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
|
|
5
5
|
|
|
6
6
|
// src/executors/lint/executor.ts
|
|
@@ -11,7 +11,7 @@ async function executorFn(context, api) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
chunkSHUYVCID_js.__name(executorFn, "executorFn");
|
|
14
|
-
var executor =
|
|
14
|
+
var executor = chunkFISRRACE_js.withExecutor("lint", executorFn);
|
|
15
15
|
var executor_default = executor;
|
|
16
16
|
|
|
17
17
|
exports.executorFn = executorFn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFISRRACE_js = require('./chunk-FISRRACE.js');
|
|
4
4
|
var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
|
|
5
5
|
var defu = require('defu');
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ async function executorFn(context, api) {
|
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
chunkSHUYVCID_js.__name(executorFn, "executorFn");
|
|
22
|
-
var executor =
|
|
22
|
+
var executor = chunkFISRRACE_js.withExecutor("build", executorFn);
|
|
23
23
|
var executor_default = executor;
|
|
24
24
|
|
|
25
25
|
exports.executorFn = executorFn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFISRRACE_js = require('./chunk-FISRRACE.js');
|
|
4
4
|
var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
|
|
5
5
|
|
|
6
6
|
// src/executors/clean/executor.ts
|
|
@@ -11,7 +11,7 @@ async function executorFn(context, api) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
chunkSHUYVCID_js.__name(executorFn, "executorFn");
|
|
14
|
-
var executor =
|
|
14
|
+
var executor = chunkFISRRACE_js.withExecutor("clean", executorFn);
|
|
15
15
|
var executor_default = executor;
|
|
16
16
|
|
|
17
17
|
exports.executorFn = executorFn;
|
package/dist/executors.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('./chunk-XO62WWX4.js');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
require('./chunk-
|
|
4
|
+
var chunkGS3BFNT6_js = require('./chunk-GS3BFNT6.js');
|
|
5
|
+
var chunkFHAFDBPP_js = require('./chunk-FHAFDBPP.js');
|
|
6
|
+
var chunkH6PLWH3V_js = require('./chunk-H6PLWH3V.js');
|
|
7
|
+
var chunkMA4MMHIX_js = require('./chunk-MA4MMHIX.js');
|
|
8
|
+
var chunk4NJXP5CA_js = require('./chunk-4NJXP5CA.js');
|
|
9
|
+
require('./chunk-FISRRACE.js');
|
|
10
10
|
require('./chunk-NU3VTAH5.js');
|
|
11
11
|
require('./chunk-SHUYVCID.js');
|
|
12
12
|
|
|
@@ -14,21 +14,21 @@ require('./chunk-SHUYVCID.js');
|
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "lint", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkGS3BFNT6_js.executor_default; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "prepare", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkFHAFDBPP_js.executor_default; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "build", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkH6PLWH3V_js.executor_default; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "clean", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkMA4MMHIX_js.executor_default; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "docs", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunk4NJXP5CA_js.executor_default; }
|
|
34
34
|
});
|
package/dist/executors.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import './chunk-UV4HQO3Y.mjs';
|
|
2
|
-
export { executor_default as lint } from './chunk-
|
|
3
|
-
export { executor_default as prepare } from './chunk-
|
|
4
|
-
export { executor_default as build } from './chunk-
|
|
5
|
-
export { executor_default as clean } from './chunk-
|
|
6
|
-
export { executor_default as docs } from './chunk-
|
|
7
|
-
import './chunk-
|
|
2
|
+
export { executor_default as lint } from './chunk-SBB372ZH.mjs';
|
|
3
|
+
export { executor_default as prepare } from './chunk-PC3EAEVL.mjs';
|
|
4
|
+
export { executor_default as build } from './chunk-4OHI44IN.mjs';
|
|
5
|
+
export { executor_default as clean } from './chunk-5YHDBUC5.mjs';
|
|
6
|
+
export { executor_default as docs } from './chunk-ON4AUIAK.mjs';
|
|
7
|
+
import './chunk-BLC2R64D.mjs';
|
|
8
8
|
import './chunk-AGZ4P3AS.mjs';
|
|
9
9
|
import './chunk-O6YSETKJ.mjs';
|
package/dist/index.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkG4H2HOVQ_js = require('./chunk-G4H2HOVQ.js');
|
|
4
4
|
require('./chunk-XO62WWX4.js');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
5
|
+
var chunkGS3BFNT6_js = require('./chunk-GS3BFNT6.js');
|
|
6
|
+
var chunkFHAFDBPP_js = require('./chunk-FHAFDBPP.js');
|
|
7
|
+
var chunkH6PLWH3V_js = require('./chunk-H6PLWH3V.js');
|
|
8
|
+
var chunkMA4MMHIX_js = require('./chunk-MA4MMHIX.js');
|
|
9
|
+
var chunk4NJXP5CA_js = require('./chunk-4NJXP5CA.js');
|
|
10
10
|
require('./chunk-N2YKXZ5R.js');
|
|
11
11
|
var chunkWUJKJGEW_js = require('./chunk-WUJKJGEW.js');
|
|
12
|
-
require('./chunk-
|
|
12
|
+
require('./chunk-FISRRACE.js');
|
|
13
13
|
require('./chunk-K47ZSAOM.js');
|
|
14
14
|
require('./chunk-NU3VTAH5.js');
|
|
15
15
|
require('./chunk-IQVSZEQ6.js');
|
|
@@ -23,23 +23,23 @@ Object.defineProperty(exports, "createNodesV2", {
|
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "lint", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkGS3BFNT6_js.executor_default; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "prepare", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkFHAFDBPP_js.executor_default; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "build", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkH6PLWH3V_js.executor_default; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "clean", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkMA4MMHIX_js.executor_default; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "docs", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunk4NJXP5CA_js.executor_default; }
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "sync", {
|
|
45
45
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { createNodesV2 } from './chunk-KUZFN4R7.mjs';
|
|
2
2
|
import './chunk-UV4HQO3Y.mjs';
|
|
3
|
-
export { executor_default as lint } from './chunk-
|
|
4
|
-
export { executor_default as prepare } from './chunk-
|
|
5
|
-
export { executor_default as build } from './chunk-
|
|
6
|
-
export { executor_default as clean } from './chunk-
|
|
7
|
-
export { executor_default as docs } from './chunk-
|
|
3
|
+
export { executor_default as lint } from './chunk-SBB372ZH.mjs';
|
|
4
|
+
export { executor_default as prepare } from './chunk-PC3EAEVL.mjs';
|
|
5
|
+
export { executor_default as build } from './chunk-4OHI44IN.mjs';
|
|
6
|
+
export { executor_default as clean } from './chunk-5YHDBUC5.mjs';
|
|
7
|
+
export { executor_default as docs } from './chunk-ON4AUIAK.mjs';
|
|
8
8
|
import './chunk-23KFTIT2.mjs';
|
|
9
9
|
export { generator_default as sync, generatorFn as syncGenerator } from './chunk-326QB2VK.mjs';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-BLC2R64D.mjs';
|
|
11
11
|
import './chunk-35MFJYOO.mjs';
|
|
12
12
|
import './chunk-AGZ4P3AS.mjs';
|
|
13
13
|
import './chunk-IC47MFKB.mjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFISRRACE_js = require('../../chunk-FISRRACE.js');
|
|
4
4
|
require('../../chunk-NU3VTAH5.js');
|
|
5
5
|
require('../../chunk-SHUYVCID.js');
|
|
6
6
|
|
|
@@ -8,5 +8,5 @@ require('../../chunk-SHUYVCID.js');
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "withExecutor", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkFISRRACE_js.withExecutor; }
|
|
12
12
|
});
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../../chunk-
|
|
5
|
+
var chunkH6PLWH3V_js = require('../../../chunk-H6PLWH3V.js');
|
|
6
|
+
require('../../../chunk-FISRRACE.js');
|
|
7
7
|
require('../../../chunk-NU3VTAH5.js');
|
|
8
8
|
require('../../../chunk-SHUYVCID.js');
|
|
9
9
|
|
|
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "default", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkH6PLWH3V_js.executor_default; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "executorFn", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkH6PLWH3V_js.executorFn; }
|
|
19
19
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { executor_default as default, executorFn } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { executor_default as default, executorFn } from '../../../chunk-4OHI44IN.mjs';
|
|
2
|
+
import '../../../chunk-BLC2R64D.mjs';
|
|
3
3
|
import '../../../chunk-AGZ4P3AS.mjs';
|
|
4
4
|
import '../../../chunk-O6YSETKJ.mjs';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../../chunk-
|
|
5
|
+
var chunkMA4MMHIX_js = require('../../../chunk-MA4MMHIX.js');
|
|
6
|
+
require('../../../chunk-FISRRACE.js');
|
|
7
7
|
require('../../../chunk-NU3VTAH5.js');
|
|
8
8
|
require('../../../chunk-SHUYVCID.js');
|
|
9
9
|
|
|
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "default", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkMA4MMHIX_js.executor_default; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "executorFn", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkMA4MMHIX_js.executorFn; }
|
|
19
19
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { executor_default as default, executorFn } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { executor_default as default, executorFn } from '../../../chunk-5YHDBUC5.mjs';
|
|
2
|
+
import '../../../chunk-BLC2R64D.mjs';
|
|
3
3
|
import '../../../chunk-AGZ4P3AS.mjs';
|
|
4
4
|
import '../../../chunk-O6YSETKJ.mjs';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../../chunk-
|
|
5
|
+
var chunk4NJXP5CA_js = require('../../../chunk-4NJXP5CA.js');
|
|
6
|
+
require('../../../chunk-FISRRACE.js');
|
|
7
7
|
require('../../../chunk-NU3VTAH5.js');
|
|
8
8
|
require('../../../chunk-SHUYVCID.js');
|
|
9
9
|
|
|
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "default", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunk4NJXP5CA_js.executor_default; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "executorFn", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunk4NJXP5CA_js.executorFn; }
|
|
19
19
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { executor_default as default, executorFn } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { executor_default as default, executorFn } from '../../../chunk-ON4AUIAK.mjs';
|
|
2
|
+
import '../../../chunk-BLC2R64D.mjs';
|
|
3
3
|
import '../../../chunk-AGZ4P3AS.mjs';
|
|
4
4
|
import '../../../chunk-O6YSETKJ.mjs';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../../chunk-
|
|
5
|
+
var chunkGS3BFNT6_js = require('../../../chunk-GS3BFNT6.js');
|
|
6
|
+
require('../../../chunk-FISRRACE.js');
|
|
7
7
|
require('../../../chunk-NU3VTAH5.js');
|
|
8
8
|
require('../../../chunk-SHUYVCID.js');
|
|
9
9
|
|
|
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "default", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkGS3BFNT6_js.executor_default; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "executorFn", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkGS3BFNT6_js.executorFn; }
|
|
19
19
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { executor_default as default, executorFn } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { executor_default as default, executorFn } from '../../../chunk-SBB372ZH.mjs';
|
|
2
|
+
import '../../../chunk-BLC2R64D.mjs';
|
|
3
3
|
import '../../../chunk-AGZ4P3AS.mjs';
|
|
4
4
|
import '../../../chunk-O6YSETKJ.mjs';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../../chunk-
|
|
5
|
+
var chunkFHAFDBPP_js = require('../../../chunk-FHAFDBPP.js');
|
|
6
|
+
require('../../../chunk-FISRRACE.js');
|
|
7
7
|
require('../../../chunk-NU3VTAH5.js');
|
|
8
8
|
require('../../../chunk-SHUYVCID.js');
|
|
9
9
|
|
|
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
|
|
|
11
11
|
|
|
12
12
|
Object.defineProperty(exports, "default", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkFHAFDBPP_js.executor_default; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "executorFn", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkFHAFDBPP_js.executorFn; }
|
|
19
19
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { executor_default as default, executorFn } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { executor_default as default, executorFn } from '../../../chunk-PC3EAEVL.mjs';
|
|
2
|
+
import '../../../chunk-BLC2R64D.mjs';
|
|
3
3
|
import '../../../chunk-AGZ4P3AS.mjs';
|
|
4
4
|
import '../../../chunk-O6YSETKJ.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerlines/nx",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.185",
|
|
4
4
|
"description": "A Nx plugin to support Powerlines development in Nx monorepos.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "github",
|
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
"defu": "^6.1.4",
|
|
197
197
|
"jiti": "^2.6.1",
|
|
198
198
|
"nx": "22.4.1",
|
|
199
|
-
"powerlines": "^0.38.
|
|
199
|
+
"powerlines": "^0.38.25"
|
|
200
200
|
},
|
|
201
201
|
"devDependencies": {
|
|
202
202
|
"@nx/workspace": "22.4.1",
|
|
@@ -210,5 +210,5 @@
|
|
|
210
210
|
"publishConfig": { "access": "public" },
|
|
211
211
|
"executors": "./executors.json",
|
|
212
212
|
"generators": "./generators.json",
|
|
213
|
-
"gitHead": "
|
|
213
|
+
"gitHead": "bec81c64eec2cc03e9ae9b7909e1ea636af79334"
|
|
214
214
|
}
|