@powerlines/nx 0.11.148 → 0.11.149

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.
Files changed (30) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{chunk-NE5A47WY.js → chunk-5FK3RAVN.js} +2 -2
  3. package/dist/{chunk-FKL4VW3D.mjs → chunk-AIA5ATZW.mjs} +1 -1
  4. package/dist/{chunk-BTRFCVCX.js → chunk-B5UCDXJY.js} +2 -2
  5. package/dist/{chunk-YKKBE2CA.mjs → chunk-EWD6YYZ4.mjs} +1 -1
  6. package/dist/{chunk-GTUP34QR.js → chunk-GNTXKNIZ.js} +2 -2
  7. package/dist/{chunk-SHROQQBM.js → chunk-J4BNDEFO.js} +2 -2
  8. package/dist/{chunk-WRZQY76D.js → chunk-JIECSBB4.js} +10 -166
  9. package/dist/{chunk-5GT4OBZG.mjs → chunk-MV5SUWLP.mjs} +1 -1
  10. package/dist/{chunk-NEHHHVVI.mjs → chunk-OMRUL3PM.mjs} +1 -1
  11. package/dist/{chunk-PBGFVW3U.mjs → chunk-PHNQWPP3.mjs} +10 -165
  12. package/dist/{chunk-JNYMPGGH.mjs → chunk-PXM2LJ65.mjs} +1 -1
  13. package/dist/{chunk-6YQ2UG3F.js → chunk-TDF4DHII.js} +2 -2
  14. package/dist/executors.js +11 -11
  15. package/dist/executors.mjs +6 -6
  16. package/dist/index.js +11 -11
  17. package/dist/index.mjs +6 -6
  18. package/dist/src/base/base-executor.js +2 -2
  19. package/dist/src/base/base-executor.mjs +1 -1
  20. package/dist/src/executors/build/executor.js +4 -4
  21. package/dist/src/executors/build/executor.mjs +2 -2
  22. package/dist/src/executors/clean/executor.js +4 -4
  23. package/dist/src/executors/clean/executor.mjs +2 -2
  24. package/dist/src/executors/docs/executor.js +4 -4
  25. package/dist/src/executors/docs/executor.mjs +2 -2
  26. package/dist/src/executors/lint/executor.js +4 -4
  27. package/dist/src/executors/lint/executor.mjs +2 -2
  28. package/dist/src/executors/prepare/executor.js +4 -4
  29. package/dist/src/executors/prepare/executor.mjs +2 -2
  30. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  # Changelog for Powerlines - Nx
4
4
 
5
+ ## [0.11.148](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.148) (01/24/2026)
6
+
7
+ ### Updated Dependencies
8
+
9
+ - Updated **powerlines** to **v0.37.91**
10
+
5
11
  ## [0.11.147](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.147) (01/24/2026)
6
12
 
7
13
  ### Updated Dependencies
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWRZQY76D_js = require('./chunk-WRZQY76D.js');
3
+ var chunkJIECSBB4_js = require('./chunk-JIECSBB4.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 = chunkWRZQY76D_js.withExecutor("prepare", executorFn);
22
+ var executor = chunkJIECSBB4_js.withExecutor("prepare", executorFn);
23
23
  var executor_default = executor;
24
24
 
25
25
  exports.executorFn = executorFn;
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-PBGFVW3U.mjs';
1
+ import { withExecutor } from './chunk-PHNQWPP3.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
  import defu from 'defu';
4
4
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWRZQY76D_js = require('./chunk-WRZQY76D.js');
3
+ var chunkJIECSBB4_js = require('./chunk-JIECSBB4.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 = chunkWRZQY76D_js.withExecutor("build", executorFn);
22
+ var executor = chunkJIECSBB4_js.withExecutor("build", executorFn);
23
23
  var executor_default = executor;
24
24
 
25
25
  exports.executorFn = executorFn;
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-PBGFVW3U.mjs';
1
+ import { withExecutor } from './chunk-PHNQWPP3.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
 
4
4
  // src/executors/lint/executor.ts
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWRZQY76D_js = require('./chunk-WRZQY76D.js');
3
+ var chunkJIECSBB4_js = require('./chunk-JIECSBB4.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 = chunkWRZQY76D_js.withExecutor("clean", executorFn);
14
+ var executor = chunkJIECSBB4_js.withExecutor("clean", 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 chunkWRZQY76D_js = require('./chunk-WRZQY76D.js');
3
+ var chunkJIECSBB4_js = require('./chunk-JIECSBB4.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 = chunkWRZQY76D_js.withExecutor("docs", executorFn);
14
+ var executor = chunkJIECSBB4_js.withExecutor("docs", executorFn);
15
15
  var executor_default = executor;
16
16
 
17
17
  exports.executorFn = executorFn;
@@ -7,7 +7,6 @@ var baseExecutor = require('@storm-software/workspace-tools/base/base-executor')
7
7
  var isError = require('@stryke/type-checks/is-error');
8
8
  var defu6 = require('defu');
9
9
  var getWorkspaceRoot = require('@stryke/fs/get-workspace-root');
10
- var core = require('@babel/core');
11
10
  var console = require('@storm-software/config-tools/logger/console');
12
11
  var toArray = require('@stryke/convert/to-array');
13
12
  var helpers = require('@stryke/fs/helpers');
@@ -29,10 +28,7 @@ var isSetString = require('@stryke/type-checks/is-set-string');
29
28
  var isString = require('@stryke/type-checks/is-string');
30
29
  var chalk5 = require('chalk');
31
30
  var Handlebars = require('handlebars');
32
- var helperPluginUtils = require('@babel/helper-plugin-utils');
33
- var t = require('@babel/types');
34
31
  var filePathFns = require('@stryke/path/file-path-fns');
35
- var isType = require('@stryke/path/is-type');
36
32
  var isParentPath = require('@stryke/path/is-parent-path');
37
33
  var prettyBytes = require('@stryke/string-format/pretty-bytes');
38
34
  var tsMorph = require('ts-morph');
@@ -59,6 +55,7 @@ var undici = require('undici');
59
55
  var jiti = require('jiti');
60
56
  var isUndefined = require('@stryke/type-checks/is-undefined');
61
57
  var parseTypeDefinition = require('@stryke/convert/parse-type-definition');
58
+ var isType = require('@stryke/path/is-type');
62
59
  var $ = require('@stryke/capnp');
63
60
  var buffer = require('@stryke/fs/buffer');
64
61
  var correctPath = require('@stryke/path/correct-path');
@@ -101,124 +98,12 @@ function _interopNamespace(e) {
101
98
  var defu6__default = /*#__PURE__*/_interopDefault(defu6);
102
99
  var chalk5__default = /*#__PURE__*/_interopDefault(chalk5);
103
100
  var Handlebars__default = /*#__PURE__*/_interopDefault(Handlebars);
104
- var t__namespace = /*#__PURE__*/_interopNamespace(t);
105
101
  var ts__default = /*#__PURE__*/_interopDefault(ts);
106
102
  var $__namespace = /*#__PURE__*/_interopNamespace($);
107
103
 
108
104
  // ../powerlines/package.json
109
105
  var package_default = {
110
- version: "0.37.90"};
111
-
112
- // ../powerlines/src/plugin-utils/modules.ts
113
- function isBuiltinModule(context, moduleName) {
114
- const prefix = context.config?.framework || "powerlines";
115
- return moduleName.startsWith(`${prefix.replace(/:$/, "")}:`) || Object.keys(context.fs.metadata).filter((key) => context.fs.metadata[key]?.type === "builtin").includes(moduleName);
116
- }
117
- chunkSHUYVCID_js.__name(isBuiltinModule, "isBuiltinModule");
118
-
119
- // ../powerlines/src/internal/babel/module-resolver-plugin.ts
120
- function resolveModulePath(nodePath, state) {
121
- if (!t__namespace.isStringLiteral(nodePath.node) || !state.resolveAll && !isBuiltinModule(state.context, nodePath.node.value)) {
122
- return;
123
- }
124
- let resolvedPath = state.context?.fs.resolveSync(nodePath.node.value);
125
- if (resolvedPath) {
126
- if (state.filename) {
127
- const currentFile = state.context?.fs.resolveSync(!isType.isAbsolutePath(state.filename) && state.cwd ? append.appendPath(state.filename, state.cwd) : state.filename);
128
- if (currentFile && isType.isAbsolutePath(currentFile)) {
129
- resolvedPath = `./${filePathFns.relativePath(filePathFns.findFilePath(currentFile), resolvedPath)}`;
130
- }
131
- nodePath.replaceWith(t__namespace.stringLiteral(replace.replaceExtension(resolvedPath)));
132
- }
133
- }
134
- }
135
- chunkSHUYVCID_js.__name(resolveModulePath, "resolveModulePath");
136
- var TRANSFORM_FUNCTIONS = [
137
- "require",
138
- "require.resolve",
139
- "System.import",
140
- // Jest methods
141
- "jest.genMockFromModule",
142
- "jest.mock",
143
- "jest.unmock",
144
- "jest.doMock",
145
- // eslint-disable-next-line @cspell/spellchecker
146
- "jest.dontMock",
147
- "jest.setMock",
148
- "jest.requireActual",
149
- "jest.requireMock",
150
- // Older Jest methods
151
- "require.requireActual",
152
- "require.requireMock"
153
- ];
154
- function matchesPattern(state, calleePath, pattern) {
155
- const { node } = calleePath;
156
- if (t__namespace.isMemberExpression(node)) {
157
- return calleePath.matchesPattern(pattern);
158
- }
159
- if (!t__namespace.isIdentifier(node) || pattern.includes(".")) {
160
- return false;
161
- }
162
- const name = pattern.split(".")[0];
163
- return node.name === name;
164
- }
165
- chunkSHUYVCID_js.__name(matchesPattern, "matchesPattern");
166
- var importVisitors = {
167
- CallExpression: /* @__PURE__ */ chunkSHUYVCID_js.__name((nodePath, state) => {
168
- if (state.moduleResolverVisited.has(nodePath)) {
169
- return;
170
- }
171
- const calleePath = nodePath.get("callee");
172
- if (calleePath && TRANSFORM_FUNCTIONS.some((pattern) => matchesPattern(state, calleePath, pattern)) || t__namespace.isImport(nodePath.node.callee)) {
173
- state.moduleResolverVisited.add(nodePath);
174
- resolveModulePath(nodePath.get("arguments.0"), state);
175
- }
176
- }, "CallExpression"),
177
- // eslint-disable-next-line ts/naming-convention
178
- "ImportDeclaration|ExportDeclaration|ExportAllDeclaration": /* @__PURE__ */ chunkSHUYVCID_js.__name((nodePath, state) => {
179
- if (!nodePath || !nodePath.get("source") || state.moduleResolverVisited.has(nodePath)) {
180
- return;
181
- }
182
- state.moduleResolverVisited.add(nodePath);
183
- resolveModulePath(nodePath.get("source"), state);
184
- }, "ImportDeclaration|ExportDeclaration|ExportAllDeclaration")
185
- };
186
- var moduleResolverBabelPlugin = /* @__PURE__ */ chunkSHUYVCID_js.__name((context, options) => {
187
- return helperPluginUtils.declare(/* @__PURE__ */ chunkSHUYVCID_js.__name(function builder(api) {
188
- let moduleResolverVisited = /* @__PURE__ */ new Set();
189
- return {
190
- name: "powerlines:module-resolver",
191
- pre() {
192
- moduleResolverVisited = /* @__PURE__ */ new Set();
193
- },
194
- visitor: {
195
- Program: {
196
- enter(programPath, state) {
197
- programPath.traverse(importVisitors, {
198
- ...state,
199
- context,
200
- moduleResolverVisited,
201
- api,
202
- resolveAll: options?.resolveAll ?? false
203
- });
204
- },
205
- exit(programPath, state) {
206
- programPath.traverse(importVisitors, {
207
- ...state,
208
- context,
209
- moduleResolverVisited,
210
- api,
211
- resolveAll: options?.resolveAll ?? false
212
- });
213
- }
214
- }
215
- },
216
- post() {
217
- moduleResolverVisited.clear();
218
- }
219
- };
220
- }, "builder"));
221
- }, "moduleResolverBabelPlugin");
106
+ version: "0.37.91"};
222
107
  var VirtualFileSystemHost = class extends tsMorph.InMemoryFileSystemHost {
223
108
  static {
224
109
  chunkSHUYVCID_js.__name(this, "VirtualFileSystemHost");
@@ -4544,59 +4429,18 @@ ${console.formatLogMessage({
4544
4429
  if (context.fs.existsSync(context.dtsPath)) {
4545
4430
  await context.fs.remove(context.dtsPath);
4546
4431
  }
4547
- context.debug("Transforming built-ins runtime modules files.");
4548
- const builtinFilePaths = await Promise.all((await context.getBuiltins()).map(async (file) => {
4549
- const result2 = await core.transformAsync(file.code.toString(), {
4550
- highlightCode: true,
4551
- code: true,
4552
- ast: false,
4553
- cloneInputAst: false,
4554
- comments: true,
4555
- sourceType: "module",
4556
- configFile: false,
4557
- babelrc: false,
4558
- envName: context.config.mode,
4559
- caller: {
4560
- name: "powerlines"
4561
- },
4562
- ...context.config.transform.babel,
4563
- filename: file.path,
4564
- plugins: [
4565
- [
4566
- "@babel/plugin-syntax-typescript"
4567
- ],
4568
- [
4569
- moduleResolverBabelPlugin(context)
4570
- ]
4571
- ]
4572
- });
4573
- if (!result2?.code) {
4574
- throw new Error(`Powerlines - Generate Types failed to compile ${file.id}`);
4575
- }
4576
- if (!file.id) {
4577
- context.warn(`File ID is missing for a built-in runtime file at ${file.path}.`);
4578
- file.id = replace.replacePath(replace.replacePath(file.path, context.workspaceConfig.workspaceRoot), context.builtinsPath);
4579
- }
4580
- context.trace(`Writing transformed built-in runtime file ${file.id}.`);
4581
- await context.emitBuiltin(result2.code, file.id);
4582
- return append.appendPath(file.path, context.builtinsPath);
4583
- }));
4584
4432
  const typescriptPath = await resolve.resolvePackage("typescript");
4585
4433
  if (!typescriptPath) {
4586
4434
  throw new Error("Could not resolve TypeScript package location. Please ensure TypeScript is installed.");
4587
4435
  }
4588
- context.debug("Parsing TypeScript configuration for the Powerlines project.");
4589
- let types = await emitBuiltinTypes(context, builtinFilePaths.reduce(
4590
- (ret, fileName) => {
4591
- const formatted = replace.replacePath(fileName, context.workspaceConfig.workspaceRoot);
4592
- if (!ret.includes(formatted)) {
4593
- ret.push(formatted);
4594
- }
4595
- return ret;
4596
- },
4597
- []
4598
- // [joinPaths(typescriptPath, "lib", "lib.esnext.full.d.ts")]
4599
- ));
4436
+ context.debug("Running TypeScript compiler for built-in runtime module files.");
4437
+ let types = await emitBuiltinTypes(context, (await context.getBuiltins()).reduce((ret, builtin) => {
4438
+ const formatted = replace.replacePath(builtin.path, context.workspaceConfig.workspaceRoot);
4439
+ if (!ret.includes(formatted)) {
4440
+ ret.push(formatted);
4441
+ }
4442
+ return ret;
4443
+ }, []));
4600
4444
  context.debug(`Generating TypeScript declaration file ${context.dtsPath}.`);
4601
4445
  const directives = [];
4602
4446
  const asNextParam = /* @__PURE__ */ chunkSHUYVCID_js.__name((previousResult) => isObject.isObject(previousResult) ? previousResult.code : previousResult, "asNextParam");
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-PBGFVW3U.mjs';
1
+ import { withExecutor } from './chunk-PHNQWPP3.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
  import defu from 'defu';
4
4
 
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-PBGFVW3U.mjs';
1
+ import { withExecutor } from './chunk-PHNQWPP3.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
 
4
4
  // src/executors/clean/executor.ts
@@ -5,7 +5,6 @@ import { withRunExecutor } from '@storm-software/workspace-tools/base/base-execu
5
5
  import { isError } from '@stryke/type-checks/is-error';
6
6
  import defu6, { createDefu, defu } from 'defu';
7
7
  import { relativeToWorkspaceRoot } from '@stryke/fs/get-workspace-root';
8
- import { transformAsync } from '@babel/core';
9
8
  import { formatLogMessage } from '@storm-software/config-tools/logger/console';
10
9
  import { toArray } from '@stryke/convert/to-array';
11
10
  import { createDirectorySync, createDirectory } from '@stryke/fs/helpers';
@@ -27,10 +26,7 @@ import { isSetString } from '@stryke/type-checks/is-set-string';
27
26
  import { isString } from '@stryke/type-checks/is-string';
28
27
  import chalk5 from 'chalk';
29
28
  import Handlebars from 'handlebars';
30
- import { declare } from '@babel/helper-plugin-utils';
31
- import * as t from '@babel/types';
32
29
  import { hasFileExtension, findFilePath, findFileName, findFileExtensionSafe, findFileDotExtensionSafe, relativePath } from '@stryke/path/file-path-fns';
33
- import { isAbsolutePath } from '@stryke/path/is-type';
34
30
  import { isParentPath } from '@stryke/path/is-parent-path';
35
31
  import { prettyBytes } from '@stryke/string-format/pretty-bytes';
36
32
  import { InMemoryFileSystemHost, Project, DiagnosticCategory } from 'ts-morph';
@@ -57,6 +53,7 @@ import { Agent, setGlobalDispatcher, interceptors, Response } from 'undici';
57
53
  import { createJiti } from 'jiti';
58
54
  import { isUndefined } from '@stryke/type-checks/is-undefined';
59
55
  import { parseTypeDefinition } from '@stryke/convert/parse-type-definition';
56
+ import { isAbsolutePath } from '@stryke/path/is-type';
60
57
  import * as $ from '@stryke/capnp';
61
58
  import { readFileBuffer, readFileBufferSync, writeFileBuffer } from '@stryke/fs/buffer';
62
59
  import { correctPath, stripStars } from '@stryke/path/correct-path';
@@ -78,118 +75,7 @@ import { resolve } from 'node:path';
78
75
 
79
76
  // ../powerlines/package.json
80
77
  var package_default = {
81
- version: "0.37.90"};
82
-
83
- // ../powerlines/src/plugin-utils/modules.ts
84
- function isBuiltinModule(context, moduleName) {
85
- const prefix = context.config?.framework || "powerlines";
86
- return moduleName.startsWith(`${prefix.replace(/:$/, "")}:`) || Object.keys(context.fs.metadata).filter((key) => context.fs.metadata[key]?.type === "builtin").includes(moduleName);
87
- }
88
- __name(isBuiltinModule, "isBuiltinModule");
89
-
90
- // ../powerlines/src/internal/babel/module-resolver-plugin.ts
91
- function resolveModulePath(nodePath, state) {
92
- if (!t.isStringLiteral(nodePath.node) || !state.resolveAll && !isBuiltinModule(state.context, nodePath.node.value)) {
93
- return;
94
- }
95
- let resolvedPath = state.context?.fs.resolveSync(nodePath.node.value);
96
- if (resolvedPath) {
97
- if (state.filename) {
98
- const currentFile = state.context?.fs.resolveSync(!isAbsolutePath(state.filename) && state.cwd ? appendPath(state.filename, state.cwd) : state.filename);
99
- if (currentFile && isAbsolutePath(currentFile)) {
100
- resolvedPath = `./${relativePath(findFilePath(currentFile), resolvedPath)}`;
101
- }
102
- nodePath.replaceWith(t.stringLiteral(replaceExtension(resolvedPath)));
103
- }
104
- }
105
- }
106
- __name(resolveModulePath, "resolveModulePath");
107
- var TRANSFORM_FUNCTIONS = [
108
- "require",
109
- "require.resolve",
110
- "System.import",
111
- // Jest methods
112
- "jest.genMockFromModule",
113
- "jest.mock",
114
- "jest.unmock",
115
- "jest.doMock",
116
- // eslint-disable-next-line @cspell/spellchecker
117
- "jest.dontMock",
118
- "jest.setMock",
119
- "jest.requireActual",
120
- "jest.requireMock",
121
- // Older Jest methods
122
- "require.requireActual",
123
- "require.requireMock"
124
- ];
125
- function matchesPattern(state, calleePath, pattern) {
126
- const { node } = calleePath;
127
- if (t.isMemberExpression(node)) {
128
- return calleePath.matchesPattern(pattern);
129
- }
130
- if (!t.isIdentifier(node) || pattern.includes(".")) {
131
- return false;
132
- }
133
- const name = pattern.split(".")[0];
134
- return node.name === name;
135
- }
136
- __name(matchesPattern, "matchesPattern");
137
- var importVisitors = {
138
- CallExpression: /* @__PURE__ */ __name((nodePath, state) => {
139
- if (state.moduleResolverVisited.has(nodePath)) {
140
- return;
141
- }
142
- const calleePath = nodePath.get("callee");
143
- if (calleePath && TRANSFORM_FUNCTIONS.some((pattern) => matchesPattern(state, calleePath, pattern)) || t.isImport(nodePath.node.callee)) {
144
- state.moduleResolverVisited.add(nodePath);
145
- resolveModulePath(nodePath.get("arguments.0"), state);
146
- }
147
- }, "CallExpression"),
148
- // eslint-disable-next-line ts/naming-convention
149
- "ImportDeclaration|ExportDeclaration|ExportAllDeclaration": /* @__PURE__ */ __name((nodePath, state) => {
150
- if (!nodePath || !nodePath.get("source") || state.moduleResolverVisited.has(nodePath)) {
151
- return;
152
- }
153
- state.moduleResolverVisited.add(nodePath);
154
- resolveModulePath(nodePath.get("source"), state);
155
- }, "ImportDeclaration|ExportDeclaration|ExportAllDeclaration")
156
- };
157
- var moduleResolverBabelPlugin = /* @__PURE__ */ __name((context, options) => {
158
- return declare(/* @__PURE__ */ __name(function builder(api) {
159
- let moduleResolverVisited = /* @__PURE__ */ new Set();
160
- return {
161
- name: "powerlines:module-resolver",
162
- pre() {
163
- moduleResolverVisited = /* @__PURE__ */ new Set();
164
- },
165
- visitor: {
166
- Program: {
167
- enter(programPath, state) {
168
- programPath.traverse(importVisitors, {
169
- ...state,
170
- context,
171
- moduleResolverVisited,
172
- api,
173
- resolveAll: options?.resolveAll ?? false
174
- });
175
- },
176
- exit(programPath, state) {
177
- programPath.traverse(importVisitors, {
178
- ...state,
179
- context,
180
- moduleResolverVisited,
181
- api,
182
- resolveAll: options?.resolveAll ?? false
183
- });
184
- }
185
- }
186
- },
187
- post() {
188
- moduleResolverVisited.clear();
189
- }
190
- };
191
- }, "builder"));
192
- }, "moduleResolverBabelPlugin");
78
+ version: "0.37.91"};
193
79
  var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
194
80
  static {
195
81
  __name(this, "VirtualFileSystemHost");
@@ -4515,59 +4401,18 @@ ${formatLogMessage({
4515
4401
  if (context.fs.existsSync(context.dtsPath)) {
4516
4402
  await context.fs.remove(context.dtsPath);
4517
4403
  }
4518
- context.debug("Transforming built-ins runtime modules files.");
4519
- const builtinFilePaths = await Promise.all((await context.getBuiltins()).map(async (file) => {
4520
- const result2 = await transformAsync(file.code.toString(), {
4521
- highlightCode: true,
4522
- code: true,
4523
- ast: false,
4524
- cloneInputAst: false,
4525
- comments: true,
4526
- sourceType: "module",
4527
- configFile: false,
4528
- babelrc: false,
4529
- envName: context.config.mode,
4530
- caller: {
4531
- name: "powerlines"
4532
- },
4533
- ...context.config.transform.babel,
4534
- filename: file.path,
4535
- plugins: [
4536
- [
4537
- "@babel/plugin-syntax-typescript"
4538
- ],
4539
- [
4540
- moduleResolverBabelPlugin(context)
4541
- ]
4542
- ]
4543
- });
4544
- if (!result2?.code) {
4545
- throw new Error(`Powerlines - Generate Types failed to compile ${file.id}`);
4546
- }
4547
- if (!file.id) {
4548
- context.warn(`File ID is missing for a built-in runtime file at ${file.path}.`);
4549
- file.id = replacePath(replacePath(file.path, context.workspaceConfig.workspaceRoot), context.builtinsPath);
4550
- }
4551
- context.trace(`Writing transformed built-in runtime file ${file.id}.`);
4552
- await context.emitBuiltin(result2.code, file.id);
4553
- return appendPath(file.path, context.builtinsPath);
4554
- }));
4555
4404
  const typescriptPath = await resolvePackage("typescript");
4556
4405
  if (!typescriptPath) {
4557
4406
  throw new Error("Could not resolve TypeScript package location. Please ensure TypeScript is installed.");
4558
4407
  }
4559
- context.debug("Parsing TypeScript configuration for the Powerlines project.");
4560
- let types = await emitBuiltinTypes(context, builtinFilePaths.reduce(
4561
- (ret, fileName) => {
4562
- const formatted = replacePath(fileName, context.workspaceConfig.workspaceRoot);
4563
- if (!ret.includes(formatted)) {
4564
- ret.push(formatted);
4565
- }
4566
- return ret;
4567
- },
4568
- []
4569
- // [joinPaths(typescriptPath, "lib", "lib.esnext.full.d.ts")]
4570
- ));
4408
+ context.debug("Running TypeScript compiler for built-in runtime module files.");
4409
+ let types = await emitBuiltinTypes(context, (await context.getBuiltins()).reduce((ret, builtin) => {
4410
+ const formatted = replacePath(builtin.path, context.workspaceConfig.workspaceRoot);
4411
+ if (!ret.includes(formatted)) {
4412
+ ret.push(formatted);
4413
+ }
4414
+ return ret;
4415
+ }, []));
4571
4416
  context.debug(`Generating TypeScript declaration file ${context.dtsPath}.`);
4572
4417
  const directives = [];
4573
4418
  const asNextParam = /* @__PURE__ */ __name((previousResult) => isObject(previousResult) ? previousResult.code : previousResult, "asNextParam");
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-PBGFVW3U.mjs';
1
+ import { withExecutor } from './chunk-PHNQWPP3.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
 
4
4
  // src/executors/docs/executor.ts
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWRZQY76D_js = require('./chunk-WRZQY76D.js');
3
+ var chunkJIECSBB4_js = require('./chunk-JIECSBB4.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 = chunkWRZQY76D_js.withExecutor("lint", executorFn);
14
+ var executor = chunkJIECSBB4_js.withExecutor("lint", 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 chunk6YQ2UG3F_js = require('./chunk-6YQ2UG3F.js');
5
- var chunkNE5A47WY_js = require('./chunk-NE5A47WY.js');
6
- var chunkBTRFCVCX_js = require('./chunk-BTRFCVCX.js');
7
- var chunkGTUP34QR_js = require('./chunk-GTUP34QR.js');
8
- var chunkSHROQQBM_js = require('./chunk-SHROQQBM.js');
9
- require('./chunk-WRZQY76D.js');
4
+ var chunkTDF4DHII_js = require('./chunk-TDF4DHII.js');
5
+ var chunk5FK3RAVN_js = require('./chunk-5FK3RAVN.js');
6
+ var chunkB5UCDXJY_js = require('./chunk-B5UCDXJY.js');
7
+ var chunkGNTXKNIZ_js = require('./chunk-GNTXKNIZ.js');
8
+ var chunkJ4BNDEFO_js = require('./chunk-J4BNDEFO.js');
9
+ require('./chunk-JIECSBB4.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 chunk6YQ2UG3F_js.executor_default; }
17
+ get: function () { return chunkTDF4DHII_js.executor_default; }
18
18
  });
19
19
  Object.defineProperty(exports, "prepare", {
20
20
  enumerable: true,
21
- get: function () { return chunkNE5A47WY_js.executor_default; }
21
+ get: function () { return chunk5FK3RAVN_js.executor_default; }
22
22
  });
23
23
  Object.defineProperty(exports, "build", {
24
24
  enumerable: true,
25
- get: function () { return chunkBTRFCVCX_js.executor_default; }
25
+ get: function () { return chunkB5UCDXJY_js.executor_default; }
26
26
  });
27
27
  Object.defineProperty(exports, "clean", {
28
28
  enumerable: true,
29
- get: function () { return chunkGTUP34QR_js.executor_default; }
29
+ get: function () { return chunkGNTXKNIZ_js.executor_default; }
30
30
  });
31
31
  Object.defineProperty(exports, "docs", {
32
32
  enumerable: true,
33
- get: function () { return chunkSHROQQBM_js.executor_default; }
33
+ get: function () { return chunkJ4BNDEFO_js.executor_default; }
34
34
  });
@@ -1,9 +1,9 @@
1
1
  import './chunk-UV4HQO3Y.mjs';
2
- export { executor_default as lint } from './chunk-YKKBE2CA.mjs';
3
- export { executor_default as prepare } from './chunk-5GT4OBZG.mjs';
4
- export { executor_default as build } from './chunk-FKL4VW3D.mjs';
5
- export { executor_default as clean } from './chunk-NEHHHVVI.mjs';
6
- export { executor_default as docs } from './chunk-JNYMPGGH.mjs';
7
- import './chunk-PBGFVW3U.mjs';
2
+ export { executor_default as lint } from './chunk-EWD6YYZ4.mjs';
3
+ export { executor_default as prepare } from './chunk-MV5SUWLP.mjs';
4
+ export { executor_default as build } from './chunk-AIA5ATZW.mjs';
5
+ export { executor_default as clean } from './chunk-OMRUL3PM.mjs';
6
+ export { executor_default as docs } from './chunk-PXM2LJ65.mjs';
7
+ import './chunk-PHNQWPP3.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 chunk6YQ2UG3F_js = require('./chunk-6YQ2UG3F.js');
6
- var chunkNE5A47WY_js = require('./chunk-NE5A47WY.js');
7
- var chunkBTRFCVCX_js = require('./chunk-BTRFCVCX.js');
8
- var chunkGTUP34QR_js = require('./chunk-GTUP34QR.js');
9
- var chunkSHROQQBM_js = require('./chunk-SHROQQBM.js');
5
+ var chunkTDF4DHII_js = require('./chunk-TDF4DHII.js');
6
+ var chunk5FK3RAVN_js = require('./chunk-5FK3RAVN.js');
7
+ var chunkB5UCDXJY_js = require('./chunk-B5UCDXJY.js');
8
+ var chunkGNTXKNIZ_js = require('./chunk-GNTXKNIZ.js');
9
+ var chunkJ4BNDEFO_js = require('./chunk-J4BNDEFO.js');
10
10
  require('./chunk-N2YKXZ5R.js');
11
11
  var chunkWUJKJGEW_js = require('./chunk-WUJKJGEW.js');
12
- require('./chunk-WRZQY76D.js');
12
+ require('./chunk-JIECSBB4.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 chunk6YQ2UG3F_js.executor_default; }
26
+ get: function () { return chunkTDF4DHII_js.executor_default; }
27
27
  });
28
28
  Object.defineProperty(exports, "prepare", {
29
29
  enumerable: true,
30
- get: function () { return chunkNE5A47WY_js.executor_default; }
30
+ get: function () { return chunk5FK3RAVN_js.executor_default; }
31
31
  });
32
32
  Object.defineProperty(exports, "build", {
33
33
  enumerable: true,
34
- get: function () { return chunkBTRFCVCX_js.executor_default; }
34
+ get: function () { return chunkB5UCDXJY_js.executor_default; }
35
35
  });
36
36
  Object.defineProperty(exports, "clean", {
37
37
  enumerable: true,
38
- get: function () { return chunkGTUP34QR_js.executor_default; }
38
+ get: function () { return chunkGNTXKNIZ_js.executor_default; }
39
39
  });
40
40
  Object.defineProperty(exports, "docs", {
41
41
  enumerable: true,
42
- get: function () { return chunkSHROQQBM_js.executor_default; }
42
+ get: function () { return chunkJ4BNDEFO_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-YKKBE2CA.mjs';
4
- export { executor_default as prepare } from './chunk-5GT4OBZG.mjs';
5
- export { executor_default as build } from './chunk-FKL4VW3D.mjs';
6
- export { executor_default as clean } from './chunk-NEHHHVVI.mjs';
7
- export { executor_default as docs } from './chunk-JNYMPGGH.mjs';
3
+ export { executor_default as lint } from './chunk-EWD6YYZ4.mjs';
4
+ export { executor_default as prepare } from './chunk-MV5SUWLP.mjs';
5
+ export { executor_default as build } from './chunk-AIA5ATZW.mjs';
6
+ export { executor_default as clean } from './chunk-OMRUL3PM.mjs';
7
+ export { executor_default as docs } from './chunk-PXM2LJ65.mjs';
8
8
  import './chunk-23KFTIT2.mjs';
9
9
  export { generator_default as sync, generatorFn as syncGenerator } from './chunk-326QB2VK.mjs';
10
- import './chunk-PBGFVW3U.mjs';
10
+ import './chunk-PHNQWPP3.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 chunkWRZQY76D_js = require('../../chunk-WRZQY76D.js');
3
+ var chunkJIECSBB4_js = require('../../chunk-JIECSBB4.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 chunkWRZQY76D_js.withExecutor; }
11
+ get: function () { return chunkJIECSBB4_js.withExecutor; }
12
12
  });
@@ -1,3 +1,3 @@
1
- export { withExecutor } from '../../chunk-PBGFVW3U.mjs';
1
+ export { withExecutor } from '../../chunk-PHNQWPP3.mjs';
2
2
  import '../../chunk-AGZ4P3AS.mjs';
3
3
  import '../../chunk-O6YSETKJ.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkBTRFCVCX_js = require('../../../chunk-BTRFCVCX.js');
6
- require('../../../chunk-WRZQY76D.js');
5
+ var chunkB5UCDXJY_js = require('../../../chunk-B5UCDXJY.js');
6
+ require('../../../chunk-JIECSBB4.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 chunkBTRFCVCX_js.executor_default; }
14
+ get: function () { return chunkB5UCDXJY_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkBTRFCVCX_js.executorFn; }
18
+ get: function () { return chunkB5UCDXJY_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-FKL4VW3D.mjs';
2
- import '../../../chunk-PBGFVW3U.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-AIA5ATZW.mjs';
2
+ import '../../../chunk-PHNQWPP3.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 chunkGTUP34QR_js = require('../../../chunk-GTUP34QR.js');
6
- require('../../../chunk-WRZQY76D.js');
5
+ var chunkGNTXKNIZ_js = require('../../../chunk-GNTXKNIZ.js');
6
+ require('../../../chunk-JIECSBB4.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 chunkGTUP34QR_js.executor_default; }
14
+ get: function () { return chunkGNTXKNIZ_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkGTUP34QR_js.executorFn; }
18
+ get: function () { return chunkGNTXKNIZ_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-NEHHHVVI.mjs';
2
- import '../../../chunk-PBGFVW3U.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-OMRUL3PM.mjs';
2
+ import '../../../chunk-PHNQWPP3.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 chunkSHROQQBM_js = require('../../../chunk-SHROQQBM.js');
6
- require('../../../chunk-WRZQY76D.js');
5
+ var chunkJ4BNDEFO_js = require('../../../chunk-J4BNDEFO.js');
6
+ require('../../../chunk-JIECSBB4.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 chunkSHROQQBM_js.executor_default; }
14
+ get: function () { return chunkJ4BNDEFO_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkSHROQQBM_js.executorFn; }
18
+ get: function () { return chunkJ4BNDEFO_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-JNYMPGGH.mjs';
2
- import '../../../chunk-PBGFVW3U.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-PXM2LJ65.mjs';
2
+ import '../../../chunk-PHNQWPP3.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 chunk6YQ2UG3F_js = require('../../../chunk-6YQ2UG3F.js');
6
- require('../../../chunk-WRZQY76D.js');
5
+ var chunkTDF4DHII_js = require('../../../chunk-TDF4DHII.js');
6
+ require('../../../chunk-JIECSBB4.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 chunk6YQ2UG3F_js.executor_default; }
14
+ get: function () { return chunkTDF4DHII_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunk6YQ2UG3F_js.executorFn; }
18
+ get: function () { return chunkTDF4DHII_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-YKKBE2CA.mjs';
2
- import '../../../chunk-PBGFVW3U.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-EWD6YYZ4.mjs';
2
+ import '../../../chunk-PHNQWPP3.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 chunkNE5A47WY_js = require('../../../chunk-NE5A47WY.js');
6
- require('../../../chunk-WRZQY76D.js');
5
+ var chunk5FK3RAVN_js = require('../../../chunk-5FK3RAVN.js');
6
+ require('../../../chunk-JIECSBB4.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 chunkNE5A47WY_js.executor_default; }
14
+ get: function () { return chunk5FK3RAVN_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkNE5A47WY_js.executorFn; }
18
+ get: function () { return chunk5FK3RAVN_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-5GT4OBZG.mjs';
2
- import '../../../chunk-PBGFVW3U.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-MV5SUWLP.mjs';
2
+ import '../../../chunk-PHNQWPP3.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.148",
3
+ "version": "0.11.149",
4
4
  "description": "A Nx plugin to support Powerlines development in Nx monorepos.",
5
5
  "repository": {
6
6
  "type": "github",
@@ -195,11 +195,11 @@
195
195
  "@stryke/type-checks": "^0.5.20",
196
196
  "defu": "^6.1.4",
197
197
  "jiti": "^2.6.1",
198
- "nx": "22.4.0",
199
- "powerlines": "^0.37.91"
198
+ "nx": "22.4.1",
199
+ "powerlines": "^0.37.92"
200
200
  },
201
201
  "devDependencies": {
202
- "@nx/workspace": "22.4.0",
202
+ "@nx/workspace": "22.4.1",
203
203
  "@storm-software/testing-tools": "^1.119.75",
204
204
  "@types/node": "^24.10.9",
205
205
  "eslint-flat-config-utils": "^2.1.4",
@@ -210,5 +210,5 @@
210
210
  "publishConfig": { "access": "public" },
211
211
  "executors": "./executors.json",
212
212
  "generators": "./generators.json",
213
- "gitHead": "7e6d0b942c670cdb4ad8ae8984a183702e8d87d8"
213
+ "gitHead": "e9a0a8a563b60f56aa458632da45426ade7ae9e4"
214
214
  }