@decohere/forge 0.0.1-dev.59 → 0.0.1-dev.61

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.
@@ -12,6 +12,7 @@ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
12
12
  const _diagnostics = require("@decohere/nexus/diagnostics");
13
13
  const _objects = require("@decohere/nexus/objects");
14
14
  const _errors = require("../errors.js");
15
+ const _workspacepackagealiases = require("../workspace-package-aliases.js");
15
16
  function _interop_require_default(obj) {
16
17
  return obj && obj.__esModule ? obj : {
17
18
  default: obj
@@ -47,10 +48,10 @@ class SwcConfigFactory {
47
48
  * Creates a base config for a project+target combination, without a filename.
48
49
  * Call once per (project, target) and then use createFileConfig() per file.
49
50
  */ createBaseConfig(buildTarget, configOptions) {
50
- const { userConfig, tsConfig, aliasPaths } = configOptions;
51
+ const { userConfig, tsConfig, aliasPaths, workspace, projects } = configOptions;
51
52
  const { compilerOptions } = tsConfig ?? {};
52
- const paths = aliasPaths ? compilerOptions?.paths : undefined;
53
- const baseUrl = SwcConfigFactory.getBaseUrl(tsConfig) ?? (paths != null ? _nodepath.default.resolve(".") : undefined);
53
+ const paths = aliasPaths ? this.buildAliasPaths(compilerOptions?.paths, workspace, projects, this.resolveAliasBaseUrl(tsConfig, workspace)) : undefined;
54
+ const baseUrl = this.resolveAliasBaseUrl(tsConfig, workspace) ?? (paths != null ? _nodepath.default.resolve(".") : undefined);
54
55
  const options = {
55
56
  jsc: {
56
57
  baseUrl,
@@ -85,6 +86,21 @@ class SwcConfigFactory {
85
86
  throw new _errors.ForgeError(`SWC config: jsc.baseUrl must be an absolute path to avoid a process crash, got: "${baseUrl}". Use path.resolve() to convert it.`);
86
87
  }
87
88
  }
89
+ /**
90
+ * Convention aliases from workspace packages, then `tsconfig` `paths` overrides.
91
+ * Empty maps are omitted so SWC is not given a useless `jsc.paths`.
92
+ */ buildAliasPaths(tsconfigPaths, workspace, projects, baseUrl) {
93
+ const resolvedBase = baseUrl ?? _nodepath.default.resolve(".");
94
+ const convention = (0, _workspacepackagealiases.buildWorkspaceAliasPaths)((0, _workspacepackagealiases.resolveAliasProjects)(workspace, projects), resolvedBase);
95
+ const merged = (0, _workspacepackagealiases.mergeAliasPaths)(convention, tsconfigPaths);
96
+ return Object.keys(merged).length > 0 ? merged : undefined;
97
+ }
98
+ resolveAliasBaseUrl(tsConfig, workspace) {
99
+ const fromTs = SwcConfigFactory.getBaseUrl(tsConfig);
100
+ if (fromTs != null) return fromTs;
101
+ if (workspace != null) return _nodepath.default.resolve(workspace.rootDir);
102
+ return undefined;
103
+ }
88
104
  /** Resolves tsconfig baseUrl to an absolute path. Returns undefined if not set. */ static getBaseUrl(tsConfig) {
89
105
  const baseUrl = tsConfig?.compilerOptions?.baseUrl;
90
106
  if (baseUrl == null) return undefined;
@@ -95,4 +111,4 @@ SwcConfigFactory = _ts_decorate([
95
111
  _diagnostics.Trace
96
112
  ], SwcConfigFactory);
97
113
 
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHMgPyBjb21waWxlck9wdGlvbnM/LnBhdGhzIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJhc2VVcmwgPVxuXHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyAocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWdGYWN0b3J5IiwiZGVmYXVsdE9wdGlvbnMiLCJqc2MiLCJwYXJzZXIiLCJzeW50YXgiLCJkZWNvcmF0b3JzIiwidGFyZ2V0IiwidHJhbnNmb3JtIiwiZGVjb3JhdG9yTWV0YWRhdGEiLCJleHBlcmltZW50YWwiLCJrZWVwSW1wb3J0QXR0cmlidXRlcyIsIm1vZHVsZSIsInJlc29sdmVGdWxseSIsInNvdXJjZU1hcHMiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsImNvbXBpbGVyT3B0aW9ucyIsInBhdGhzIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJwYXRoIiwicmVzb2x2ZSIsIm9wdGlvbnMiLCJ0eXBlIiwibWVyZ2UiLCJ3aXRoT3B0aW9ucyIsIm1lcmdlQXJyYXlzIiwiY3JlYXRlRmlsZUNvbmZpZyIsImZpbGUiLCJiYXNlQ29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJmdWxsUGF0aCIsInZhbGlkYXRlIiwiaXNBYnNvbHV0ZSIsIkZvcmdlRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBNkJhQTs7O2VBQUFBOzs7aUVBN0JJOzZCQUVLO3lCQUVBO3dCQUVLOzs7Ozs7Ozs7Ozs7QUFJM0IsTUFBTUMsaUJBQWlCO0lBQ3RCQyxLQUFLO1FBQ0pDLFFBQVE7WUFDUEMsUUFBUTtZQUNSQyxZQUFZO1FBQ2I7UUFDQUMsUUFBUTtRQUNSQyxXQUFXO1lBQ1ZDLG1CQUFtQjtRQUNwQjtRQUNBQyxjQUFjO1lBQUVDLHNCQUFzQjtRQUFLO0lBQzVDO0lBQ0FDLFFBQVE7UUFDUEMsY0FBYztJQUNmO0lBQ0FDLFlBQVk7QUFDYjtBQUdPLE1BQU1iO0lBQ1o7OztFQUdDLEdBQ0QsQUFBT2MsaUJBQ05DLFdBQTRCLEVBQzVCQyxhQUErQixFQUNyQjtRQUNWLE1BQU0sRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRSxHQUFHSDtRQUM3QyxNQUFNLEVBQUVJLGVBQWUsRUFBRSxHQUFHRixZQUFZLENBQUM7UUFDekMsTUFBTUcsUUFBUUYsYUFBYUMsaUJBQWlCQyxRQUFRQztRQUNwRCxNQUFNQyxVQUNMdkIsaUJBQWlCd0IsVUFBVSxDQUFDTixhQUFjRyxDQUFBQSxTQUFTLE9BQU9JLGlCQUFJLENBQUNDLE9BQU8sQ0FBQyxPQUFPSixTQUFRO1FBRXZGLE1BQU1LLFVBQW1CO1lBQ3hCekIsS0FBSztnQkFDSnFCO2dCQUNBRjtZQUNEO1lBQ0FWLFFBQVE7Z0JBQ1BpQixNQUFNYjtZQUNQO1FBQ0Q7UUFFQSxPQUFPYyxjQUFLLENBQUNDLFdBQVcsQ0FDdkI7WUFBRUMsYUFBYTtRQUFNLEdBQ3JCOUIsZ0JBQ0EwQixTQUNBVixjQUFjLENBQUM7SUFFakI7SUFFQSw2REFBNkQsR0FDN0QsQUFBT2UsaUJBQWlCQyxJQUFZLEVBQUVDLFVBQW1CLEVBQVc7UUFDbkUsTUFBTUMsU0FBUztZQUFFLEdBQUdELFVBQVU7WUFBRUUsVUFBVUgsS0FBS0ksUUFBUTtRQUFDO1FBQ3hELElBQUksQ0FBQ0MsUUFBUSxDQUFDSDtRQUNkLE9BQU9BO0lBQ1I7SUFFQTs7Ozs7OztFQU9DLEdBQ0QsQUFBT0csU0FBU1gsT0FBZ0IsRUFBUTtRQUN2QyxNQUFNSixVQUFVSSxRQUFRekIsR0FBRyxFQUFFcUI7UUFDN0IsSUFBSUEsV0FBVyxRQUFRLENBQUNFLGlCQUFJLENBQUNjLFVBQVUsQ0FBQ2hCLFVBQVU7WUFDakQsTUFBTSxJQUFJaUIsa0JBQVUsQ0FDbkIsQ0FBQyxpRkFBaUYsRUFBRWpCLFFBQVEsb0NBQW9DLENBQUM7UUFFbkk7SUFDRDtJQUVBLGlGQUFpRixHQUNqRixPQUFlQyxXQUFXTixRQUE4QixFQUFzQjtRQUM3RSxNQUFNSyxVQUFVTCxVQUFVRSxpQkFBaUJHO1FBQzNDLElBQUlBLFdBQVcsTUFBTSxPQUFPRDtRQUM1QixPQUFPRyxpQkFBSSxDQUFDQyxPQUFPLENBQUNIO0lBQ3JCO0FBQ0QifQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5pbXBvcnQge1xuXHRidWlsZFdvcmtzcGFjZUFsaWFzUGF0aHMsXG5cdG1lcmdlQWxpYXNQYXRocyxcblx0cmVzb2x2ZUFsaWFzUHJvamVjdHMsXG59IGZyb20gXCIuLi93b3Jrc3BhY2UtcGFja2FnZS1hbGlhc2VzLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzLCB3b3Jrc3BhY2UsIHByb2plY3RzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHNcblx0XHRcdD8gdGhpcy5idWlsZEFsaWFzUGF0aHMoXG5cdFx0XHRcdFx0Y29tcGlsZXJPcHRpb25zPy5wYXRocyxcblx0XHRcdFx0XHR3b3Jrc3BhY2UsXG5cdFx0XHRcdFx0cHJvamVjdHMsXG5cdFx0XHRcdFx0dGhpcy5yZXNvbHZlQWxpYXNCYXNlVXJsKHRzQ29uZmlnLCB3b3Jrc3BhY2UpLFxuXHRcdFx0XHQpXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRjb25zdCBiYXNlVXJsID1cblx0XHRcdHRoaXMucmVzb2x2ZUFsaWFzQmFzZVVybCh0c0NvbmZpZywgd29ya3NwYWNlKSA/P1xuXHRcdFx0KHBhdGhzICE9IG51bGwgPyBwYXRoLnJlc29sdmUoXCIuXCIpIDogdW5kZWZpbmVkKTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IE9wdGlvbnMgPSB7XG5cdFx0XHRqc2M6IHtcblx0XHRcdFx0YmFzZVVybCxcblx0XHRcdFx0cGF0aHMsXG5cdFx0XHR9LFxuXHRcdFx0bW9kdWxlOiB7XG5cdFx0XHRcdHR5cGU6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0fSxcblx0XHR9O1xuXG5cdFx0cmV0dXJuIG1lcmdlLndpdGhPcHRpb25zPE9wdGlvbnM+KFxuXHRcdFx0eyBtZXJnZUFycmF5czogZmFsc2UgfSxcblx0XHRcdGRlZmF1bHRPcHRpb25zLFxuXHRcdFx0b3B0aW9ucyxcblx0XHRcdHVzZXJDb25maWcgPz8ge30sXG5cdFx0KTtcblx0fVxuXG5cdC8qKiBTdGFtcHMgYSBwZXItZmlsZSBmaWxlbmFtZSBvbnRvIGEgcHJlLWJ1aWx0IGJhc2UgY29uZmlnLiAqL1xuXHRwdWJsaWMgY3JlYXRlRmlsZUNvbmZpZyhmaWxlOiBGaWxlRXgsIGJhc2VDb25maWc6IE9wdGlvbnMpOiBPcHRpb25zIHtcblx0XHRjb25zdCBjb25maWcgPSB7IC4uLmJhc2VDb25maWcsIGZpbGVuYW1lOiBmaWxlLmZ1bGxQYXRoIH07XG5cdFx0dGhpcy52YWxpZGF0ZShjb25maWcpO1xuXHRcdHJldHVybiBjb25maWc7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIFNXQyBvcHRpb25zIGFnYWluc3Qga25vd24gY2F1c2VzIG9mIFJ1c3QvTkFQSSBwcm9jZXNzIGNyYXNoZXMuXG5cdCAqIFRocm93cyBhIEZvcmdlRXJyb3Igd2l0aCBhIGRlc2NyaXB0aXZlIG1lc3NhZ2UgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZVxuXHQgKiBOQVBJIGxheWVyIGFib3J0IHRoZSBwcm9jZXNzLlxuXHQgKlxuXHQgKiBLbm93biBjcmFzaCBjYXVzZXM6XG5cdCAqIC0gYGpzYy5iYXNlVXJsYCBzZXQgdG8gYSByZWxhdGl2ZSBwYXRoIChTV0MgcmVxdWlyZXMgYW4gYWJzb2x1dGUgcGF0aClcblx0ICovXG5cdHB1YmxpYyB2YWxpZGF0ZShvcHRpb25zOiBPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgYmFzZVVybCA9IG9wdGlvbnMuanNjPy5iYXNlVXJsO1xuXHRcdGlmIChiYXNlVXJsICE9IG51bGwgJiYgIXBhdGguaXNBYnNvbHV0ZShiYXNlVXJsKSkge1xuXHRcdFx0dGhyb3cgbmV3IEZvcmdlRXJyb3IoXG5cdFx0XHRcdGBTV0MgY29uZmlnOiBqc2MuYmFzZVVybCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGggdG8gYXZvaWQgYSBwcm9jZXNzIGNyYXNoLCBnb3Q6IFwiJHtiYXNlVXJsfVwiLiBVc2UgcGF0aC5yZXNvbHZlKCkgdG8gY29udmVydCBpdC5gLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ29udmVudGlvbiBhbGlhc2VzIGZyb20gd29ya3NwYWNlIHBhY2thZ2VzLCB0aGVuIGB0c2NvbmZpZ2AgYHBhdGhzYCBvdmVycmlkZXMuXG5cdCAqIEVtcHR5IG1hcHMgYXJlIG9taXR0ZWQgc28gU1dDIGlzIG5vdCBnaXZlbiBhIHVzZWxlc3MgYGpzYy5wYXRoc2AuXG5cdCAqL1xuXHRwcml2YXRlIGJ1aWxkQWxpYXNQYXRocyhcblx0XHR0c2NvbmZpZ1BhdGhzOiBUc2NvbmZpZ1tcImNvbXBpbGVyT3B0aW9uc1wiXVtcInBhdGhzXCJdLFxuXHRcdHdvcmtzcGFjZTogU3djQ29uZmlnT3B0aW9uc1tcIndvcmtzcGFjZVwiXSxcblx0XHRwcm9qZWN0czogU3djQ29uZmlnT3B0aW9uc1tcInByb2plY3RzXCJdLFxuXHRcdGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0KTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCByZXNvbHZlZEJhc2UgPSBiYXNlVXJsID8/IHBhdGgucmVzb2x2ZShcIi5cIik7XG5cdFx0Y29uc3QgY29udmVudGlvbiA9IGJ1aWxkV29ya3NwYWNlQWxpYXNQYXRocyhcblx0XHRcdHJlc29sdmVBbGlhc1Byb2plY3RzKHdvcmtzcGFjZSwgcHJvamVjdHMpLFxuXHRcdFx0cmVzb2x2ZWRCYXNlLFxuXHRcdCk7XG5cdFx0Y29uc3QgbWVyZ2VkID0gbWVyZ2VBbGlhc1BhdGhzKFxuXHRcdFx0Y29udmVudGlvbixcblx0XHRcdHRzY29uZmlnUGF0aHMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkLFxuXHRcdCk7XG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKG1lcmdlZCkubGVuZ3RoID4gMCA/IG1lcmdlZCA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgcmVzb2x2ZUFsaWFzQmFzZVVybChcblx0XHR0c0NvbmZpZzogVHNjb25maWcgfCB1bmRlZmluZWQsXG5cdFx0d29ya3NwYWNlOiBTd2NDb25maWdPcHRpb25zW1wid29ya3NwYWNlXCJdLFxuXHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGZyb21UcyA9IFN3Y0NvbmZpZ0ZhY3RvcnkuZ2V0QmFzZVVybCh0c0NvbmZpZyk7XG5cdFx0aWYgKGZyb21UcyAhPSBudWxsKSByZXR1cm4gZnJvbVRzO1xuXHRcdGlmICh3b3Jrc3BhY2UgIT0gbnVsbCkgcmV0dXJuIHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2Uucm9vdERpcik7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWdGYWN0b3J5IiwiZGVmYXVsdE9wdGlvbnMiLCJqc2MiLCJwYXJzZXIiLCJzeW50YXgiLCJkZWNvcmF0b3JzIiwidGFyZ2V0IiwidHJhbnNmb3JtIiwiZGVjb3JhdG9yTWV0YWRhdGEiLCJleHBlcmltZW50YWwiLCJrZWVwSW1wb3J0QXR0cmlidXRlcyIsIm1vZHVsZSIsInJlc29sdmVGdWxseSIsInNvdXJjZU1hcHMiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsIndvcmtzcGFjZSIsInByb2plY3RzIiwiY29tcGlsZXJPcHRpb25zIiwicGF0aHMiLCJidWlsZEFsaWFzUGF0aHMiLCJyZXNvbHZlQWxpYXNCYXNlVXJsIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsInBhdGgiLCJyZXNvbHZlIiwib3B0aW9ucyIsInR5cGUiLCJtZXJnZSIsIndpdGhPcHRpb25zIiwibWVyZ2VBcnJheXMiLCJjcmVhdGVGaWxlQ29uZmlnIiwiZmlsZSIsImJhc2VDb25maWciLCJjb25maWciLCJmaWxlbmFtZSIsImZ1bGxQYXRoIiwidmFsaWRhdGUiLCJpc0Fic29sdXRlIiwiRm9yZ2VFcnJvciIsInRzY29uZmlnUGF0aHMiLCJyZXNvbHZlZEJhc2UiLCJjb252ZW50aW9uIiwiYnVpbGRXb3Jrc3BhY2VBbGlhc1BhdGhzIiwicmVzb2x2ZUFsaWFzUHJvamVjdHMiLCJtZXJnZWQiLCJtZXJnZUFsaWFzUGF0aHMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiZnJvbVRzIiwiZ2V0QmFzZVVybCIsInJvb3REaXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0NhQTs7O2VBQUFBOzs7aUVBbENJ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
@@ -41,6 +41,17 @@ class SwcTranspiler extends (0, _extensibility.mixwith)(_cachesoutputsmixin.Cach
41
41
  _buildtargettype.BuildTargets.commonjs
42
42
  ];
43
43
  #swcConfigFactory = new _swcconfigfactory.SwcConfigFactory();
44
+ #workspace;
45
+ watch(workspace) {
46
+ this.#workspace = workspace;
47
+ super.watch(workspace);
48
+ }
49
+ withAliasContext(options = {}) {
50
+ return {
51
+ ...options,
52
+ workspace: options.workspace ?? this.#workspace
53
+ };
54
+ }
44
55
  async transformProject(projectArrayLike, fileFilter, onOutput) {
45
56
  const projects = Array.isArray(projectArrayLike) ? projectArrayLike : [
46
57
  projectArrayLike
@@ -58,7 +69,9 @@ class SwcTranspiler extends (0, _extensibility.mixwith)(_cachesoutputsmixin.Cach
58
69
  return this.transformTarget(sourceFiles, target, {
59
70
  tsConfig,
60
71
  userConfig,
61
- aliasPaths
72
+ aliasPaths,
73
+ workspace: this.#workspace,
74
+ projects
62
75
  }, project, onOutput);
63
76
  }));
64
77
  return responses.flat();
@@ -79,7 +92,7 @@ class SwcTranspiler extends (0, _extensibility.mixwith)(_cachesoutputsmixin.Cach
79
92
  * Reads the file with `fs.readFileSync` and transpiles via `swc.transformSync`.
80
93
  * Intended for callers that cannot await (e.g. Node.js `registerHooks` load hook).
81
94
  */ transformFileSync(file, buildTarget, options = {}) {
82
- const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, options);
95
+ const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, this.withAliasContext(options));
83
96
  const swcOptions = this.#swcConfigFactory.createFileConfig(file, baseConfig);
84
97
  let content;
85
98
  try {
@@ -127,7 +140,7 @@ class SwcTranspiler extends (0, _extensibility.mixwith)(_cachesoutputsmixin.Cach
127
140
  }
128
141
  }
129
142
  async transformTarget(files, buildTarget, options, project, onOutput) {
130
- const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, options ?? {});
143
+ const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, this.withAliasContext(options));
131
144
  return await Promise.all(files.map((file)=>{
132
145
  const swcOptions = this.#swcConfigFactory.createFileConfig(file, baseConfig);
133
146
  return this.runTransform(file, buildTarget, swcOptions, project, onOutput);
@@ -232,4 +245,4 @@ SwcTranspiler = _ts_decorate([
232
245
  _diagnostics.Trace
233
246
  ], SwcTranspiler);
234
247
 
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgY2FjaGUsIGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgdHlwZSBPcHRpb25zLCB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN5bmMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJ1aWxkVGFyZ2V0LFxuXHRCdWlsZFRhcmdldHMsXG5cdHR5cGUgVHJhbnNwaWxlVGFyZ2V0LFxufSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3RGaWxlRXZlbnQsIFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBTd2NDb25maWdGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkuanNcIjtcbmltcG9ydCB7IENhY2hlc091dHB1dHMgfSBmcm9tIFwiLi4vbWl4aW5zL2NhY2hlcy1vdXRwdXRzLm1peGluLmpzXCI7XG5pbXBvcnQgeyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB9IGZyb20gXCIuLi9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZU9wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djVHJhbnNwaWxlclxuXHRleHRlbmRzIG1peHdpdGgoQ2FjaGVzT3V0cHV0cywgSW5jcmVtZW50YWxUcmFuc2Zvcm0pXG5cdGltcGxlbWVudHMgVHJhbnNmb3JtZXJcbntcblx0cHVibGljIGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXSA9IFtCdWlsZFRhcmdldHMuZXM2LCBCdWlsZFRhcmdldHMuY29tbW9uanNdO1xuXHQjc3djQ29uZmlnRmFjdG9yeSA9IG5ldyBTd2NDb25maWdGYWN0b3J5KCk7XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpID8gcHJvamVjdEFycmF5TGlrZSA6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvamVjdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB7IHRhcmdldHMsIGFsaWFzUGF0aHMgfSA9IHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IHRyYW5zcGlsZVRhcmdldHMgPSB0YXJnZXRzLmZpbHRlcigoYnQpID0+IGJ0ICE9PSBCdWlsZFRhcmdldHMudHlwZXMpO1xuXHRcdFx0XHRpZiAodHJhbnNwaWxlVGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGF3YWl0IChmaWxlRmlsdGVyPy4ocHJvamVjdCkgPz8gcHJvamVjdC5nZXRBbGxGaWxlcygpKTtcblx0XHRcdFx0Y29uc3QgdHNDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCk7XG5cdFx0XHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFN3Y0NvbmZpZygpO1xuXHRcdFx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0XHR0cmFuc3BpbGVUYXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1UYXJnZXQoXG5cdFx0XHRcdFx0XHRcdHNvdXJjZUZpbGVzLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHR0c0NvbmZpZyxcblx0XHRcdFx0XHRcdFx0XHR1c2VyQ29uZmlnLFxuXHRcdFx0XHRcdFx0XHRcdGFsaWFzUGF0aHMsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdFx0XHRcdG9uT3V0cHV0LFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZmxhdCA9IHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0dGhpcy5jYWNoZU91dHB1dHMoZmxhdCk7XG5cdFx0cmV0dXJuIGZsYXQ7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNmb3JtRmlsZShcblx0XHRmaWxlQXJyYXlMaWtlOiBGaWxlRXhbXSB8IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVBcnJheUxpa2UpID8gZmlsZUFycmF5TGlrZSA6IFtmaWxlQXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSB0aGlzLnRyYW5zZm9ybVRhcmdldChmaWxlcywgYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHQvKipcblx0ICogU3luY2hyb25vdXMsIHNpbmdsZS1maWxlIHZhcmlhbnQgb2YgYHRyYW5zZm9ybUZpbGVgLlxuXHQgKiBSZWFkcyB0aGUgZmlsZSB3aXRoIGBmcy5yZWFkRmlsZVN5bmNgIGFuZCB0cmFuc3BpbGVzIHZpYSBgc3djLnRyYW5zZm9ybVN5bmNgLlxuXHQgKiBJbnRlbmRlZCBmb3IgY2FsbGVycyB0aGF0IGNhbm5vdCBhd2FpdCAoZS5nLiBOb2RlLmpzIGByZWdpc3Rlckhvb2tzYCBsb2FkIGhvb2spLlxuXHQgKi9cblx0cHVibGljIHRyYW5zZm9ybUZpbGVTeW5jKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IGJhc2VDb25maWcgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUJhc2VDb25maWcoYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cblx0XHRsZXQgY29udGVudDogc3RyaW5nO1xuXHRcdHRyeSB7XG5cdFx0XHRjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUuZnVsbFBhdGgsIFwidXRmOFwiKTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1TeW5jKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybVN5bmMgcmV0dXJuZWQgbm8gcmVzdWx0XCIpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLlN1Y2Nlc3Moe1xuXHRcdFx0XHRmaWxlLFxuXHRcdFx0XHRjb2RlOiB0cmFuc2Zvcm1lZC5jb2RlLFxuXHRcdFx0XHRzb3VyY2VDb250ZW50OiBjb250ZW50LFxuXHRcdFx0XHR0YXJnZXQ6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5FcnJvcih7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBbU3RyaW5nKGVycm9yKV0sXG5cdFx0XHRcdGNvbmZpZzogc3djT3B0aW9ucyxcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdHJhbnNmb3JtVGFyZ2V0KFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM/OiBUcmFuc3BpbGVPcHRpb25zLFxuXHRcdHByb2plY3Q/OiBQcm9qZWN0LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KSB7XG5cdFx0Y29uc3QgYmFzZUNvbmZpZyA9IHRoaXMuI3N3Y0NvbmZpZ0ZhY3RvcnkuY3JlYXRlQmFzZUNvbmZpZyhidWlsZFRhcmdldCwgb3B0aW9ucyA/PyB7fSk7XG5cdFx0cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0ZmlsZXMubWFwKChmaWxlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cdFx0XHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybShmaWxlLCBidWlsZFRhcmdldCwgc3djT3B0aW9ucywgcHJvamVjdCwgb25PdXRwdXQpO1xuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuVHJhbnNmb3JtKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHR0YXJnZXQ6IEJ1aWxkVGFyZ2V0LFxuXHRcdHN3Y09wdGlvbnM6IE9wdGlvbnMsXG5cdFx0cHJvamVjdD86IFByb2plY3QsXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgY29udGVudCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUNvbnRlbnQoZmlsZSk7XG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdGNvbnN0IHNraXBwZWQgPSBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc2tpcHBlZCk7XG5cdFx0XHRyZXR1cm4gc2tpcHBlZDtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IHByb2plY3Q/LmdldE91dERpcih0YXJnZXQpO1xuXHRcdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IG91dEJhc2VEaXIgPyBwYXRoLmpvaW4ob3V0QmFzZURpciwgZmlsZU5hbWUpIDogdW5kZWZpbmVkO1xuXHRcdFx0Y29uc3Qgb3V0cHV0RGlyID0gb3V0cHV0UGF0aCA/IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSA6IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IHRyYW5zZm9ybWVkID0gYXdhaXQgdHJhbnNmb3JtKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybSByZXR1cm5lZCBubyByZXN1bHRcIik7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHN1Y2Nlc3MgPSBUcmFuc2Zvcm1SZXNwb25zZS5TdWNjZXNzKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0Y29kZTogdHJhbnNmb3JtZWQuY29kZSxcblx0XHRcdFx0c291cmNlQ29udGVudDogY29udGVudCxcblx0XHRcdFx0dGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0b3V0cHV0RGlyLFxuXHRcdFx0XHRvdXRwdXRQYXRoLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc3VjY2Vzcyk7XG5cdFx0XHRyZXR1cm4gc3VjY2Vzcztcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y29uc3QgZmFpbHVyZSA9IFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKGZhaWx1cmUpO1xuXHRcdFx0cmV0dXJuIGZhaWx1cmU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoZXZ0OiBQcm9qZWN0RmlsZUV2ZW50KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgeyBmaWxlLCBwcm9qZWN0IH0gPSBldnQ7XG5cdFx0aWYgKGV2dC5ldmVudE5hbWUgPT09IGlvLldhdGNoRXZlbnRzLnVubGluaykge1xuXHRcdFx0dGhpcy5kZWxldGVDYWNoZWRPdXRwdXRzKGZpbGUuZnVsbFBhdGgpO1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRpZiAoIXByb2plY3QuaXNTb3VyY2VGaWxlKGZpbGUpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdGNvbnN0IGZyZXNoQ29udGVudCA9IGF3YWl0IGZpbGUuZ2V0Q29udGVudCgpO1xuXHRcdGNvbnN0IGNhY2hlZCA9IHRoaXMub3V0cHV0Q2FjaGUuZ2V0KGZpbGUuZnVsbFBhdGgpO1xuXHRcdGlmIChjYWNoZWQgIT0gbnVsbCAmJiBjYWNoZWRbMF0/LnNvdXJjZUNvbnRlbnQgPT09IGZyZXNoQ29udGVudCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHR0aGlzLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0LCAoKSA9PiBQcm9taXNlLnJlc29sdmUoW2ZpbGVdKSk7XG5cdH1cblxuXHRAaW52YWxpZGF0ZUNhY2hlKFN3Y1RyYW5zcGlsZXIucHJvdG90eXBlLmdldEZpbGVDb250ZW50LCB7XG5cdFx0bmFtZTogXCJGSUxFX0NPTlRFTlRcIixcblx0XHRrZXlGbjogKC4uLmFyZ3MpID0+IChhcmdzWzBdIGFzIEZpbGVFeCkuZnVsbFBhdGgsXG5cdH0pXG5cdHB1YmxpYyBpbnZhbGlkYXRlQ29udGVudENhY2hlKF9maWxlOiBGaWxlRXgpOiB2b2lkIHt9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiAoYXJnc1swXSBhcyBGaWxlRXgpLmZ1bGxQYXRoIH0pXG5cdHByaXZhdGUgYXN5bmMgZ2V0RmlsZUNvbnRlbnQoZmlsZTogRmlsZUV4KTogUHJvbWlzZTxzdHJpbmc+IHtcblx0XHRyZXR1cm4gYXdhaXQgZmlsZS5nZXRDb250ZW50KCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NUcmFuc3BpbGVyIiwibWl4d2l0aCIsIkNhY2hlc091dHB1dHMiLCJJbmNyZW1lbnRhbFRyYW5zZm9ybSIsImJ1aWxkVGFyZ2V0cyIsIkJ1aWxkVGFyZ2V0cyIsImVzNiIsImNvbW1vbmpzIiwiU3djQ29uZmlnRmFjdG9yeSIsInRyYW5zZm9ybVByb2plY3QiLCJwcm9qZWN0QXJyYXlMaWtlIiwiZmlsZUZpbHRlciIsIm9uT3V0cHV0IiwicHJvamVjdHMiLCJBcnJheSIsImlzQXJyYXkiLCJyZXNwb25zZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwicHJvamVjdCIsInRhcmdldHMiLCJhbGlhc1BhdGhzIiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwidHJhbnNwaWxlVGFyZ2V0cyIsImZpbHRlciIsImJ0IiwidHlwZXMiLCJsZW5ndGgiLCJzb3VyY2VGaWxlcyIsImdldEFsbEZpbGVzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsInVzZXJDb25maWciLCJnZXRTd2NDb25maWciLCJ0YXJnZXQiLCJ0cmFuc2Zvcm1UYXJnZXQiLCJmbGF0IiwiY2FjaGVPdXRwdXRzIiwidHJhbnNmb3JtRmlsZSIsImZpbGVBcnJheUxpa2UiLCJidWlsZFRhcmdldCIsIm9wdGlvbnMiLCJmaWxlcyIsInRyYW5zZm9ybUZpbGVTeW5jIiwiZmlsZSIsImJhc2VDb25maWciLCJjcmVhdGVCYXNlQ29uZmlnIiwic3djT3B0aW9ucyIsImNyZWF0ZUZpbGVDb25maWciLCJjb250ZW50IiwiZnMiLCJyZWFkRmlsZVN5bmMiLCJmdWxsUGF0aCIsImVycm9yIiwiVHJhbnNmb3JtUmVzcG9uc2UiLCJFcnJvciIsIm1lc3NhZ2VzIiwiU3RyaW5nIiwiY29uZmlnIiwiU2tpcHBlZCIsInRyYW5zZm9ybWVkIiwidHJhbnNmb3JtU3luYyIsImZpbGVQYXRoIiwicmVsYXRpdmVQYXRoIiwiZXh0TmFtZSIsInBhdGgiLCJleHRuYW1lIiwiZmlsZU5hbWUiLCJyZXBsYWNlIiwiUmVnRXhwIiwiU3VjY2VzcyIsImNvZGUiLCJzb3VyY2VDb250ZW50IiwicnVuVHJhbnNmb3JtIiwiZ2V0RmlsZUNvbnRlbnQiLCJza2lwcGVkIiwib3V0QmFzZURpciIsImdldE91dERpciIsIm91dHB1dFBhdGgiLCJqb2luIiwidW5kZWZpbmVkIiwib3V0cHV0RGlyIiwiZGlybmFtZSIsInRyYW5zZm9ybSIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwib25JbmNyZW1lbnRhbEZpbGVFdmVudCIsImV2dCIsImV2ZW50TmFtZSIsImlvIiwiV2F0Y2hFdmVudHMiLCJ1bmxpbmsiLCJkZWxldGVDYWNoZWRPdXRwdXRzIiwiaXNTb3VyY2VGaWxlIiwiZnJlc2hDb250ZW50IiwiZ2V0Q29udGVudCIsImNhY2hlZCIsIm91dHB1dENhY2hlIiwiZ2V0IiwiaW52YWxpZGF0ZUNvbnRlbnRDYWNoZSIsInJlc29sdmUiLCJfZmlsZSIsInByb3RvdHlwZSIsIm5hbWUiLCJrZXlGbiIsImFyZ3MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBOEJhQTs7O2VBQUFBOzs7K0RBOUJFO2lFQUNFO3lCQUVzQjs2QkFDakI7K0JBQ0U7b0JBRUw7c0JBQ29DO2lDQUtoRDtRQUNBO2tDQUUwQjtvQ0FDSDsyQ0FDTzt3Q0FFSDs7Ozs7Ozs7Ozs7Ozs7O0FBVTNCLE1BQU1BLHNCQUNKQyxJQUFBQSxzQkFBTyxFQUFDQyxpQ0FBYSxFQUFFQywrQ0FBb0I7SUFHNUNDLGVBQThCO1FBQUNDLDZCQUFZLENBQUNDLEdBQUc7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
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCwgUHJvamVjdEZpbGVFdmVudCwgVHNjb25maWcsIFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgY2FjaGUsIGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgdHlwZSBPcHRpb25zLCB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN5bmMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJ1aWxkVGFyZ2V0LFxuXHRCdWlsZFRhcmdldHMsXG5cdHR5cGUgVHJhbnNwaWxlVGFyZ2V0LFxufSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgeyBTd2NDb25maWdGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkuanNcIjtcbmltcG9ydCB7IENhY2hlc091dHB1dHMgfSBmcm9tIFwiLi4vbWl4aW5zL2NhY2hlcy1vdXRwdXRzLm1peGluLmpzXCI7XG5pbXBvcnQgeyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB9IGZyb20gXCIuLi9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZU9wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xuXHR3b3Jrc3BhY2U/OiBXb3Jrc3BhY2U7XG5cdHByb2plY3RzPzogcmVhZG9ubHkgUHJvamVjdFtdO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djVHJhbnNwaWxlclxuXHRleHRlbmRzIG1peHdpdGgoQ2FjaGVzT3V0cHV0cywgSW5jcmVtZW50YWxUcmFuc2Zvcm0pXG5cdGltcGxlbWVudHMgVHJhbnNmb3JtZXJcbntcblx0cHVibGljIGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXSA9IFtCdWlsZFRhcmdldHMuZXM2LCBCdWlsZFRhcmdldHMuY29tbW9uanNdO1xuXHQjc3djQ29uZmlnRmFjdG9yeSA9IG5ldyBTd2NDb25maWdGYWN0b3J5KCk7XG5cdCN3b3Jrc3BhY2U/OiBXb3Jrc3BhY2U7XG5cblx0cHVibGljIHdhdGNoKHdvcmtzcGFjZTogV29ya3NwYWNlKTogdm9pZCB7XG5cdFx0dGhpcy4jd29ya3NwYWNlID0gd29ya3NwYWNlO1xuXHRcdHN1cGVyLndhdGNoKHdvcmtzcGFjZSk7XG5cdH1cblxuXHRwcml2YXRlIHdpdGhBbGlhc0NvbnRleHQob3B0aW9uczogVHJhbnNwaWxlT3B0aW9ucyA9IHt9KTogVHJhbnNwaWxlT3B0aW9ucyB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLm9wdGlvbnMsXG5cdFx0XHR3b3Jrc3BhY2U6IG9wdGlvbnMud29ya3NwYWNlID8/IHRoaXMuI3dvcmtzcGFjZSxcblx0XHR9O1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpID8gcHJvamVjdEFycmF5TGlrZSA6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvamVjdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB7IHRhcmdldHMsIGFsaWFzUGF0aHMgfSA9IHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IHRyYW5zcGlsZVRhcmdldHMgPSB0YXJnZXRzLmZpbHRlcigoYnQpID0+IGJ0ICE9PSBCdWlsZFRhcmdldHMudHlwZXMpO1xuXHRcdFx0XHRpZiAodHJhbnNwaWxlVGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGF3YWl0IChmaWxlRmlsdGVyPy4ocHJvamVjdCkgPz8gcHJvamVjdC5nZXRBbGxGaWxlcygpKTtcblx0XHRcdFx0Y29uc3QgdHNDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCk7XG5cdFx0XHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFN3Y0NvbmZpZygpO1xuXHRcdFx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0XHR0cmFuc3BpbGVUYXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1UYXJnZXQoXG5cdFx0XHRcdFx0XHRcdHNvdXJjZUZpbGVzLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHR0c0NvbmZpZyxcblx0XHRcdFx0XHRcdFx0XHR1c2VyQ29uZmlnLFxuXHRcdFx0XHRcdFx0XHRcdGFsaWFzUGF0aHMsXG5cdFx0XHRcdFx0XHRcdFx0d29ya3NwYWNlOiB0aGlzLiN3b3Jrc3BhY2UsXG5cdFx0XHRcdFx0XHRcdFx0cHJvamVjdHMsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdFx0XHRcdG9uT3V0cHV0LFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZmxhdCA9IHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0dGhpcy5jYWNoZU91dHB1dHMoZmxhdCk7XG5cdFx0cmV0dXJuIGZsYXQ7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNmb3JtRmlsZShcblx0XHRmaWxlQXJyYXlMaWtlOiBGaWxlRXhbXSB8IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVBcnJheUxpa2UpID8gZmlsZUFycmF5TGlrZSA6IFtmaWxlQXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSB0aGlzLnRyYW5zZm9ybVRhcmdldChmaWxlcywgYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHQvKipcblx0ICogU3luY2hyb25vdXMsIHNpbmdsZS1maWxlIHZhcmlhbnQgb2YgYHRyYW5zZm9ybUZpbGVgLlxuXHQgKiBSZWFkcyB0aGUgZmlsZSB3aXRoIGBmcy5yZWFkRmlsZVN5bmNgIGFuZCB0cmFuc3BpbGVzIHZpYSBgc3djLnRyYW5zZm9ybVN5bmNgLlxuXHQgKiBJbnRlbmRlZCBmb3IgY2FsbGVycyB0aGF0IGNhbm5vdCBhd2FpdCAoZS5nLiBOb2RlLmpzIGByZWdpc3Rlckhvb2tzYCBsb2FkIGhvb2spLlxuXHQgKi9cblx0cHVibGljIHRyYW5zZm9ybUZpbGVTeW5jKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IGJhc2VDb25maWcgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUJhc2VDb25maWcoXG5cdFx0XHRidWlsZFRhcmdldCxcblx0XHRcdHRoaXMud2l0aEFsaWFzQ29udGV4dChvcHRpb25zKSxcblx0XHQpO1xuXHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cblx0XHRsZXQgY29udGVudDogc3RyaW5nO1xuXHRcdHRyeSB7XG5cdFx0XHRjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUuZnVsbFBhdGgsIFwidXRmOFwiKTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1TeW5jKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybVN5bmMgcmV0dXJuZWQgbm8gcmVzdWx0XCIpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLlN1Y2Nlc3Moe1xuXHRcdFx0XHRmaWxlLFxuXHRcdFx0XHRjb2RlOiB0cmFuc2Zvcm1lZC5jb2RlLFxuXHRcdFx0XHRzb3VyY2VDb250ZW50OiBjb250ZW50LFxuXHRcdFx0XHR0YXJnZXQ6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5FcnJvcih7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBbU3RyaW5nKGVycm9yKV0sXG5cdFx0XHRcdGNvbmZpZzogc3djT3B0aW9ucyxcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdHJhbnNmb3JtVGFyZ2V0KFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM/OiBUcmFuc3BpbGVPcHRpb25zLFxuXHRcdHByb2plY3Q/OiBQcm9qZWN0LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KSB7XG5cdFx0Y29uc3QgYmFzZUNvbmZpZyA9IHRoaXMuI3N3Y0NvbmZpZ0ZhY3RvcnkuY3JlYXRlQmFzZUNvbmZpZyhcblx0XHRcdGJ1aWxkVGFyZ2V0LFxuXHRcdFx0dGhpcy53aXRoQWxpYXNDb250ZXh0KG9wdGlvbnMpLFxuXHRcdCk7XG5cdFx0cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0ZmlsZXMubWFwKChmaWxlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cdFx0XHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybShmaWxlLCBidWlsZFRhcmdldCwgc3djT3B0aW9ucywgcHJvamVjdCwgb25PdXRwdXQpO1xuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuVHJhbnNmb3JtKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHR0YXJnZXQ6IEJ1aWxkVGFyZ2V0LFxuXHRcdHN3Y09wdGlvbnM6IE9wdGlvbnMsXG5cdFx0cHJvamVjdD86IFByb2plY3QsXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgY29udGVudCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUNvbnRlbnQoZmlsZSk7XG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdGNvbnN0IHNraXBwZWQgPSBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc2tpcHBlZCk7XG5cdFx0XHRyZXR1cm4gc2tpcHBlZDtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IHByb2plY3Q/LmdldE91dERpcih0YXJnZXQpO1xuXHRcdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IG91dEJhc2VEaXIgPyBwYXRoLmpvaW4ob3V0QmFzZURpciwgZmlsZU5hbWUpIDogdW5kZWZpbmVkO1xuXHRcdFx0Y29uc3Qgb3V0cHV0RGlyID0gb3V0cHV0UGF0aCA/IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSA6IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IHRyYW5zZm9ybWVkID0gYXdhaXQgdHJhbnNmb3JtKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybSByZXR1cm5lZCBubyByZXN1bHRcIik7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHN1Y2Nlc3MgPSBUcmFuc2Zvcm1SZXNwb25zZS5TdWNjZXNzKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0Y29kZTogdHJhbnNmb3JtZWQuY29kZSxcblx0XHRcdFx0c291cmNlQ29udGVudDogY29udGVudCxcblx0XHRcdFx0dGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0b3V0cHV0RGlyLFxuXHRcdFx0XHRvdXRwdXRQYXRoLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc3VjY2Vzcyk7XG5cdFx0XHRyZXR1cm4gc3VjY2Vzcztcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y29uc3QgZmFpbHVyZSA9IFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKGZhaWx1cmUpO1xuXHRcdFx0cmV0dXJuIGZhaWx1cmU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoZXZ0OiBQcm9qZWN0RmlsZUV2ZW50KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgeyBmaWxlLCBwcm9qZWN0IH0gPSBldnQ7XG5cdFx0aWYgKGV2dC5ldmVudE5hbWUgPT09IGlvLldhdGNoRXZlbnRzLnVubGluaykge1xuXHRcdFx0dGhpcy5kZWxldGVDYWNoZWRPdXRwdXRzKGZpbGUuZnVsbFBhdGgpO1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRpZiAoIXByb2plY3QuaXNTb3VyY2VGaWxlKGZpbGUpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdGNvbnN0IGZyZXNoQ29udGVudCA9IGF3YWl0IGZpbGUuZ2V0Q29udGVudCgpO1xuXHRcdGNvbnN0IGNhY2hlZCA9IHRoaXMub3V0cHV0Q2FjaGUuZ2V0KGZpbGUuZnVsbFBhdGgpO1xuXHRcdGlmIChjYWNoZWQgIT0gbnVsbCAmJiBjYWNoZWRbMF0/LnNvdXJjZUNvbnRlbnQgPT09IGZyZXNoQ29udGVudCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHR0aGlzLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0LCAoKSA9PiBQcm9taXNlLnJlc29sdmUoW2ZpbGVdKSk7XG5cdH1cblxuXHRAaW52YWxpZGF0ZUNhY2hlKFN3Y1RyYW5zcGlsZXIucHJvdG90eXBlLmdldEZpbGVDb250ZW50LCB7XG5cdFx0bmFtZTogXCJGSUxFX0NPTlRFTlRcIixcblx0XHRrZXlGbjogKC4uLmFyZ3MpID0+IChhcmdzWzBdIGFzIEZpbGVFeCkuZnVsbFBhdGgsXG5cdH0pXG5cdHB1YmxpYyBpbnZhbGlkYXRlQ29udGVudENhY2hlKF9maWxlOiBGaWxlRXgpOiB2b2lkIHt9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiAoYXJnc1swXSBhcyBGaWxlRXgpLmZ1bGxQYXRoIH0pXG5cdHByaXZhdGUgYXN5bmMgZ2V0RmlsZUNvbnRlbnQoZmlsZTogRmlsZUV4KTogUHJvbWlzZTxzdHJpbmc+IHtcblx0XHRyZXR1cm4gYXdhaXQgZmlsZS5nZXRDb250ZW50KCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NUcmFuc3BpbGVyIiwibWl4d2l0aCIsIkNhY2hlc091dHB1dHMiLCJJbmNyZW1lbnRhbFRyYW5zZm9ybSIsImJ1aWxkVGFyZ2V0cyIsIkJ1aWxkVGFyZ2V0cyIsImVzNiIsImNvbW1vbmpzIiwiU3djQ29uZmlnRmFjdG9yeSIsIndhdGNoIiwid29ya3NwYWNlIiwid2l0aEFsaWFzQ29udGV4dCIsIm9wdGlvbnMiLCJ0cmFuc2Zvcm1Qcm9qZWN0IiwicHJvamVjdEFycmF5TGlrZSIsImZpbGVGaWx0ZXIiLCJvbk91dHB1dCIsInByb2plY3RzIiwiQXJyYXkiLCJpc0FycmF5IiwicmVzcG9uc2VzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInByb2plY3QiLCJ0YXJnZXRzIiwiYWxpYXNQYXRocyIsImdldEZvcmdlQ29uZmlndXJhdGlvbiIsInRyYW5zcGlsZVRhcmdldHMiLCJmaWx0ZXIiLCJidCIsInR5cGVzIiwibGVuZ3RoIiwic291cmNlRmlsZXMiLCJnZXRBbGxGaWxlcyIsInRzQ29uZmlnIiwiZ2V0VHNDb25maWciLCJ1c2VyQ29uZmlnIiwiZ2V0U3djQ29uZmlnIiwidGFyZ2V0IiwidHJhbnNmb3JtVGFyZ2V0IiwiZmxhdCIsImNhY2hlT3V0cHV0cyIsInRyYW5zZm9ybUZpbGUiLCJmaWxlQXJyYXlMaWtlIiwiYnVpbGRUYXJnZXQiLCJmaWxlcyIsInRyYW5zZm9ybUZpbGVTeW5jIiwiZmlsZSIsImJhc2VDb25maWciLCJjcmVhdGVCYXNlQ29uZmlnIiwic3djT3B0aW9ucyIsImNyZWF0ZUZpbGVDb25maWciLCJjb250ZW50IiwiZnMiLCJyZWFkRmlsZVN5bmMiLCJmdWxsUGF0aCIsImVycm9yIiwiVHJhbnNmb3JtUmVzcG9uc2UiLCJFcnJvciIsIm1lc3NhZ2VzIiwiU3RyaW5nIiwiY29uZmlnIiwiU2tpcHBlZCIsInRyYW5zZm9ybWVkIiwidHJhbnNmb3JtU3luYyIsImZpbGVQYXRoIiwicmVsYXRpdmVQYXRoIiwiZXh0TmFtZSIsInBhdGgiLCJleHRuYW1lIiwiZmlsZU5hbWUiLCJyZXBsYWNlIiwiUmVnRXhwIiwiU3VjY2VzcyIsImNvZGUiLCJzb3VyY2VDb250ZW50IiwicnVuVHJhbnNmb3JtIiwiZ2V0RmlsZUNvbnRlbnQiLCJza2lwcGVkIiwib3V0QmFzZURpciIsImdldE91dERpciIsIm91dHB1dFBhdGgiLCJqb2luIiwidW5kZWZpbmVkIiwib3V0cHV0RGlyIiwiZGlybmFtZSIsInRyYW5zZm9ybSIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwib25JbmNyZW1lbnRhbEZpbGVFdmVudCIsImV2dCIsImV2ZW50TmFtZSIsImlvIiwiV2F0Y2hFdmVudHMiLCJ1bmxpbmsiLCJkZWxldGVDYWNoZWRPdXRwdXRzIiwiaXNTb3VyY2VGaWxlIiwiZnJlc2hDb250ZW50IiwiZ2V0Q29udGVudCIsImNhY2hlZCIsIm91dHB1dENhY2hlIiwiZ2V0IiwiaW52YWxpZGF0ZUNvbnRlbnRDYWNoZSIsInJlc29sdmUiLCJfZmlsZSIsInByb3RvdHlwZSIsIm5hbWUiLCJrZXlGbiIsImFyZ3MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBK0JhQTs7O2VBQUFBOzs7K0RBL0JFO2lFQUNFO3lCQUVzQjs2QkFDakI7K0JBQ0U7b0JBRUw7c0JBQ29DO2lDQUtoRDtRQUNBO2tDQUMwQjtvQ0FDSDsyQ0FDTzt3Q0FFSDs7Ozs7Ozs7Ozs7Ozs7O0FBWTNCLE1BQU1BLHNCQUNKQyxJQUFBQSxzQkFBTyxFQUFDQyxpQ0FBYSxFQUFFQywrQ0FBb0I7SUFHNUNDLGVBQThCO1FBQUNDLDZCQUFZLENBQUNDLEdBQUc7UUFBRUQsNkJBQVksQ0FBQ0UsUUFBUTtLQUFDLENBQUM7SUFDL0UsQ0FBQSxnQkFBaUIsR0FBRyxJQUFJQyxrQ0FBZ0IsR0FBRztJQUMzQyxDQUFBLFNBQVUsQ0FBYTtJQUVoQkMsTUFBTUMsU0FBb0IsRUFBUTtRQUN4QyxJQUFJLENBQUMsQ0FBQSxTQUFVLEdBQUdBO1FBQ2xCLEtBQUssQ0FBQ0QsTUFBTUM7SUFDYjtJQUVRQyxpQkFBaUJDLFVBQTRCLENBQUMsQ0FBQyxFQUFvQjtRQUMxRSxPQUFPO1lBQ04sR0FBR0EsT0FBTztZQUNWRixXQUFXRSxRQUFRRixTQUFTLElBQUksSUFBSSxDQUFDLENBQUEsU0FBVTtRQUNoRDtJQUNEO0lBRUEsTUFBYUcsaUJBQ1pDLGdCQUFxQyxFQUNyQ0MsVUFBb0QsRUFDcERDLFFB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
@@ -14,4 +14,4 @@ class SwcConfig {
14
14
  }
15
15
  }
16
16
 
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy9zd2MtY29uZmlnLnR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuXG5leHBvcnQgdHlwZSBTd2NDb25maWdPcHRpb25zID0ge1xuXHRhbGlhc1BhdGhzPzogYm9vbGVhbjtcblx0dHNDb25maWc/OiBUc2NvbmZpZztcblx0dXNlckNvbmZpZz86IFN3Y0NvbmZpZztcbn07XG5cbmV4cG9ydCBjbGFzcyBTd2NDb25maWcge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogUGFydGlhbDxTd2NDb25maWc+ID0ge30pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiU3djQ29uZmlnIiwiZGF0YSIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O0FBQU4sTUFBTUE7SUFDWixZQUFtQkMsT0FBMkIsQ0FBQyxDQUFDLENBQUU7UUFDakRDLE9BQU9DLE1BQU0sQ0FBQyxJQUFJLEVBQUVGO0lBQ3JCO0FBQ0QifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy9zd2MtY29uZmlnLnR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBUc2NvbmZpZywgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5cbmV4cG9ydCB0eXBlIFN3Y0NvbmZpZ09wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xuXHQvKiogV2hlbiBzZXQsIGNvbnZlbnRpb24gYWxpYXNlcyBjb21lIGZyb20gdGhlIGZ1bGwgd29ya3NwYWNlIHBhY2thZ2UgbGlzdC4gKi9cblx0d29ya3NwYWNlPzogV29ya3NwYWNlO1xuXHQvKiogRmFsbGJhY2sgcGFja2FnZSBsaXN0IHdoZW4gYHdvcmtzcGFjZWAgaXMgbm90IHNldCAoZS5nLiBhIHRyYW5zZm9ybSBiYXRjaCkuICovXG5cdHByb2plY3RzPzogcmVhZG9ubHkgUHJvamVjdFtdO1xufTtcblxuZXhwb3J0IGNsYXNzIFN3Y0NvbmZpZyB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFN3Y0NvbmZpZz4gPSB7fSkge1xuXHRcdE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWciLCJkYXRhIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiOzs7OytCQVlhQTs7O2VBQUFBOzs7QUFBTixNQUFNQTtJQUNaLFlBQW1CQyxPQUEyQixDQUFDLENBQUMsQ0FBRTtRQUNqREMsT0FBT0MsTUFBTSxDQUFDLElBQUksRUFBRUY7SUFDckI7QUFDRCJ9
@@ -110,7 +110,8 @@ function forgeBuild(options) {
110
110
  }
111
111
  const [response] = await transpiler.transformFile(file, _buildtargettype.BuildTargets.es6, {
112
112
  aliasPaths: true,
113
- tsConfig: project ? await project.getTsConfig() : undefined
113
+ tsConfig: project ? await project.getTsConfig() : undefined,
114
+ workspace: workspace ?? undefined
114
115
  });
115
116
  if (!response || response.outcome !== "success") return null;
116
117
  const result = {
@@ -126,4 +127,4 @@ function forgeBuild(options) {
126
127
  };
127
128
  }
128
129
 
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHR9KTtcblx0XHRcdGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2Uub3V0Y29tZSAhPT0gXCJzdWNjZXNzXCIpIHJldHVybiBudWxsO1xuXG5cdFx0XHRjb25zdCByZXN1bHQgPSB7IGNvZGU6IHJlc3BvbnNlLmNvZGUsIG1hcDogbnVsbCB9O1xuXHRcdFx0dHJhbnNmb3JtQ2FjaGUuc2V0KGlkLCB7IGNvbnRlbnQ6IGNvZGUsIHJlc3VsdCB9KTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSxcblx0fTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JnZUJ1aWxkIiwiU0lMRU5UX0xFVkVMIiwiUExVR0lOX05BTUUiLCJUU19FWFRFTlNJT05TIiwib3B0aW9ucyIsImJ1aWxkQ29uZmlnIiwid29ya3NwYWNlUm9vdCIsInByb2Nlc3MiLCJjd2QiLCJsb2dMZXZlbCIsImxvZ2dlckZhY3RvcnkiLCJzY3JpYmUiLCJjb25maWd1cmUiLCJhZGFwdGVyIiwiQ29uc29sZUFkYXB0ZXIiLCJjdXN0b21MZXZlbHMiLCJzaWxlbnQiLCJsb2dnZXIiLCJza2lwQnVpbGQiLCJ0cmFuc3BpbGVyIiwiU3djVHJhbnNwaWxlciIsIndhcm1lZFByb2plY3RzIiwiU2V0IiwidHJhbnNmb3JtQ2FjaGUiLCJNYXAiLCJ3b3Jrc3BhY2UiLCJpbml0V29ya3NwYWNlIiwiZGVidWciLCJXb3Jrc3BhY2VGYWN0b3J5IiwiY3JlYXRlIiwiV29ya3NwYWNlRGVmYXVsdHMiLCJyb290RGlyIiwicHJlV2FybVByb2plY3QiLCJwcm9qZWN0IiwiaGFzIiwicHJvamVjdERpcmVjdG9yeSIsImFkZCIsInRyYW5zZm9ybVByb2plY3QiLCJ0aGVuIiwibmFtZSIsImNhdGNoIiwiZXJyIiwiZXJyb3IiLCJtZXNzYWdlIiwiZW5mb3JjZSIsImNvbmZpZ1Jlc29sdmVkIiwicmVzb2x2ZUlkIiwic291cmNlIiwiaW1wb3J0ZXIiLCJlbmRzV2l0aCIsInN0YXJ0c1dpdGgiLCJpbXBvcnRlckRpcmVjdG9yeSIsInBhdGgiLCJkaXJuYW1lIiwid2l0aG91dEV4dGVuc2lvbiIsInNsaWNlIiwiY2FuZGlkYXRlcyIsIm1hcCIsImV4dCIsInJlc29sdmUiLCJmaW5kIiwiYyIsImV4aXN0c1N5bmMiLCJ3YXRjaENoYW5nZSIsImlkIiwiZmlsZSIsIkZpbGVFeCIsImZ1bGxQYXRoIiwiZGVsZXRlIiwiaW52YWxpZGF0ZUNvbnRlbnRDYWNoZSIsInRyYW5zZm9ybSIsImNvZGUiLCJpbmNsdWRlcyIsInRlc3QiLCJmaW5kUHJvamVjdCIsImNhY2hlZCIsImdldCIsInVuZGVmaW5lZCIsImNvbnRlbnQiLCJyZXN1bHQiLCJyZXNwb25zZSIsInRyYW5zZm9ybUZpbGUiLCJCdWlsZFRhcmdldHMiLCJlczYiLCJhbGlhc1BhdGhzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsIm91dGNvbWUiLCJzZXQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0JnQkE7OztlQUFBQTs7O3dCQXhCVztpRUFDVjtzQkFFZ0I7b0JBQ1Y7d0JBQ2dCOytCQUNUO2lDQUNEO2lDQUNLOzs7Ozs7QUFFbEMsK0VBQStFO0FBQy9FLE1BQU1DLGVBQWU7QUFFckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxnQkFBZ0I7SUFBQztJQUFPO0lBQVE7Q0FBTztBQVV0QyxTQUFTSCxXQUFXSSxPQUEyQjtJQUNyRCxNQUFNQyxjQUFjRCxTQUFTQyxlQUFlO0lBQzVDLE1BQU1DLGdCQUFnQkYsU0FBU0UsaUJBQWlCQyxRQUFRQyxHQUFHO0lBQzNELE1BQU1DLFdBQVdMLFNBQVNLLFlBQVk7SUFD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
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHRcdHdvcmtzcGFjZTogd29ya3NwYWNlID8/IHVuZGVmaW5lZCxcblx0XHRcdH0pO1xuXHRcdFx0aWYgKCFyZXNwb25zZSB8fCByZXNwb25zZS5vdXRjb21lICE9PSBcInN1Y2Nlc3NcIikgcmV0dXJuIG51bGw7XG5cblx0XHRcdGNvbnN0IHJlc3VsdCA9IHsgY29kZTogcmVzcG9uc2UuY29kZSwgbWFwOiBudWxsIH07XG5cdFx0XHR0cmFuc2Zvcm1DYWNoZS5zZXQoaWQsIHsgY29udGVudDogY29kZSwgcmVzdWx0IH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHR9O1xufVxuIl0sIm5hbWVzIjpbImZvcmdlQnVpbGQiLCJTSUxFTlRfTEVWRUwiLCJQTFVHSU5fTkFNRSIsIlRTX0VYVEVOU0lPTlMiLCJvcHRpb25zIiwiYnVpbGRDb25maWciLCJ3b3Jrc3BhY2VSb290IiwicHJvY2VzcyIsImN3ZCIsImxvZ0xldmVsIiwibG9nZ2VyRmFjdG9yeSIsInNjcmliZSIsImNvbmZpZ3VyZSIsImFkYXB0ZXIiLCJDb25zb2xlQWRhcHRlciIsImN1c3RvbUxldmVscyIsInNpbGVudCIsImxvZ2dlciIsInNraXBCdWlsZCIsInRyYW5zcGlsZXIiLCJTd2NUcmFuc3BpbGVyIiwid2FybWVkUHJvamVjdHMiLCJTZXQiLCJ0cmFuc2Zvcm1DYWNoZSIsIk1hcCIsIndvcmtzcGFjZSIsImluaXRXb3Jrc3BhY2UiLCJkZWJ1ZyIsIldvcmtzcGFjZUZhY3RvcnkiLCJjcmVhdGUiLCJXb3Jrc3BhY2VEZWZhdWx0cyIsInJvb3REaXIiLCJwcmVXYXJtUHJvamVjdCIsInByb2plY3QiLCJoYXMiLCJwcm9qZWN0RGlyZWN0b3J5IiwiYWRkIiwidHJhbnNmb3JtUHJvamVjdCIsInRoZW4iLCJuYW1lIiwiY2F0Y2giLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJlbmZvcmNlIiwiY29uZmlnUmVzb2x2ZWQiLCJyZXNvbHZlSWQiLCJzb3VyY2UiLCJpbXBvcnRlciIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsImltcG9ydGVyRGlyZWN0b3J5IiwicGF0aCIsImRpcm5hbWUiLCJ3aXRob3V0RXh0ZW5zaW9uIiwic2xpY2UiLCJjYW5kaWRhdGVzIiwibWFwIiwiZXh0IiwicmVzb2x2ZSIsImZpbmQiLCJjIiwiZXhpc3RzU3luYyIsIndhdGNoQ2hhbmdlIiwiaWQiLCJmaWxlIiwiRmlsZUV4IiwiZnVsbFBhdGgiLCJkZWxldGUiLCJpbnZhbGlkYXRlQ29udGVudENhY2hlIiwidHJhbnNmb3JtIiwiY29kZSIsImluY2x1ZGVzIiwidGVzdCIsImZpbmRQcm9qZWN0IiwiY2FjaGVkIiwiZ2V0IiwidW5kZWZpbmVkIiwiY29udGVudCIsInJlc3VsdCIsInJlc3BvbnNlIiwidHJhbnNmb3JtRmlsZSIsIkJ1aWxkVGFyZ2V0cyIsImVzNiIsImFsaWFzUGF0aHMiLCJ0c0NvbmZpZyIsImdldFRzQ29uZmlnIiwib3V0Y29tZSIsInNldCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3QmdCQTs7O2VBQUFBOzs7d0JBeEJXO2lFQUNWO3NCQUVnQjtvQkFDVjt3QkFDZ0I7K0JBQ1Q7aUNBQ0Q7aUNBQ0s7Ozs7OztBQUVsQywrRUFBK0U7QUFDL0UsTUFBTUMsZUFBZTtBQUVyQixNQUFNQyxjQUFjO0FBQ3BCLE1BQU1DLGdCQUFnQjtJQUFDO0lBQU87SUFBUTtDQUFPO0FBVXRDLFNBQVNILFdBQVdJLE9BQTJCO0lBQ3JELE1BQU1DLGNBQWNELFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsZ0JBQWdCRixTQUFTRSxpQkFBaUJD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
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get buildWorkspaceAliasPaths () {
13
+ return buildWorkspaceAliasPaths;
14
+ },
15
+ get mergeAliasPaths () {
16
+ return mergeAliasPaths;
17
+ },
18
+ get resolveAliasProjects () {
19
+ return resolveAliasProjects;
20
+ }
21
+ });
22
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
23
+ function _interop_require_default(obj) {
24
+ return obj && obj.__esModule ? obj : {
25
+ default: obj
26
+ };
27
+ }
28
+ function buildWorkspaceAliasPaths(projects, baseUrl) {
29
+ const aliases = {};
30
+ const resolvedBase = _nodepath.default.resolve(baseUrl);
31
+ for (const project of projects){
32
+ const name = project.name;
33
+ if (name.length === 0) continue;
34
+ const entry = _nodepath.default.resolve(project.getSourceEntryPath());
35
+ aliases[name] = [
36
+ toPosixRelative(resolvedBase, entry)
37
+ ];
38
+ const sourceDir = _nodepath.default.dirname(entry);
39
+ aliases[`${name}/*`] = [
40
+ `${toPosixRelative(resolvedBase, sourceDir)}/*`
41
+ ];
42
+ }
43
+ return aliases;
44
+ }
45
+ function mergeAliasPaths(convention, tsconfigPaths) {
46
+ if (tsconfigPaths == null) return convention;
47
+ return {
48
+ ...convention,
49
+ ...tsconfigPaths
50
+ };
51
+ }
52
+ function resolveAliasProjects(workspace, projects) {
53
+ if (workspace != null) {
54
+ const configuration = projects?.[0]?.configuration.name ?? "debug";
55
+ return workspace.getProjects(configuration);
56
+ }
57
+ return projects ?? [];
58
+ }
59
+ function toPosixRelative(from, to) {
60
+ const relative = _nodepath.default.relative(from, to);
61
+ if (relative === "") return ".";
62
+ return relative.split(_nodepath.default.sep).join("/");
63
+ }
64
+
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UtcGFja2FnZS1hbGlhc2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5cbi8qKlxuICogQ29udmVudGlvbjogZWFjaCB3b3Jrc3BhY2UgcGFja2FnZSBuYW1lIG1hcHMgdG8gaXRzIHNvdXJjZSBlbnRyeSAoYHBhY2thZ2UuanNvbmAgbWFpbilcbiAqIGFuZCBhIGBuYW1lLypgIHN1YnBhdGggdG8gdGhhdCBlbnRyeSdzIGRpcmVjdG9yeS4gUGF0aHMgYXJlIHJlbGF0aXZlIHRvIGBiYXNlVXJsYFxuICogZm9yIFNXQyBganNjLnBhdGhzYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkV29ya3NwYWNlQWxpYXNQYXRocyhcblx0cHJvamVjdHM6IHJlYWRvbmx5IFByb2plY3RbXSxcblx0YmFzZVVybDogc3RyaW5nLFxuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHtcblx0Y29uc3QgYWxpYXNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG5cdGNvbnN0IHJlc29sdmVkQmFzZSA9IHBhdGgucmVzb2x2ZShiYXNlVXJsKTtcblxuXHRmb3IgKGNvbnN0IHByb2plY3Qgb2YgcHJvamVjdHMpIHtcblx0XHRjb25zdCBuYW1lID0gcHJvamVjdC5uYW1lO1xuXHRcdGlmIChuYW1lLmxlbmd0aCA9PT0gMCkgY29udGludWU7XG5cblx0XHRjb25zdCBlbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9qZWN0LmdldFNvdXJjZUVudHJ5UGF0aCgpKTtcblx0XHRhbGlhc2VzW25hbWVdID0gW3RvUG9zaXhSZWxhdGl2ZShyZXNvbHZlZEJhc2UsIGVudHJ5KV07XG5cblx0XHRjb25zdCBzb3VyY2VEaXIgPSBwYXRoLmRpcm5hbWUoZW50cnkpO1xuXHRcdGFsaWFzZXNbYCR7bmFtZX0vKmBdID0gW2Ake3RvUG9zaXhSZWxhdGl2ZShyZXNvbHZlZEJhc2UsIHNvdXJjZURpcil9LypgXTtcblx0fVxuXG5cdHJldHVybiBhbGlhc2VzO1xufVxuXG4vKiogYHRzY29uZmlnYCBgcGF0aHNgIG92ZXJyaWRlIGNvbnZlbnRpb24gZW50cmllcyBmb3IgdGhlIHNhbWUga2V5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQWxpYXNQYXRocyhcblx0Y29udmVudGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+LFxuXHR0c2NvbmZpZ1BhdGhzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4ge1xuXHRpZiAodHNjb25maWdQYXRocyA9PSBudWxsKSByZXR1cm4gY29udmVudGlvbjtcblx0cmV0dXJuIHsgLi4uY29udmVudGlvbiwgLi4udHNjb25maWdQYXRocyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUFsaWFzUHJvamVjdHMoXG5cdHdvcmtzcGFjZTogV29ya3NwYWNlIHwgdW5kZWZpbmVkLFxuXHRwcm9qZWN0czogcmVhZG9ubHkgUHJvamVjdFtdIHwgdW5kZWZpbmVkLFxuKTogcmVhZG9ubHkgUHJvamVjdFtdIHtcblx0aWYgKHdvcmtzcGFjZSAhPSBudWxsKSB7XG5cdFx0Y29uc3QgY29uZmlndXJhdGlvbiA9IHByb2plY3RzPy5bMF0/LmNvbmZpZ3VyYXRpb24ubmFtZSA/PyBcImRlYnVnXCI7XG5cdFx0cmV0dXJuIHdvcmtzcGFjZS5nZXRQcm9qZWN0cyhjb25maWd1cmF0aW9uKTtcblx0fVxuXHRyZXR1cm4gcHJvamVjdHMgPz8gW107XG59XG5cbmZ1bmN0aW9uIHRvUG9zaXhSZWxhdGl2ZShmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRjb25zdCByZWxhdGl2ZSA9IHBhdGgucmVsYXRpdmUoZnJvbSwgdG8pO1xuXHRpZiAocmVsYXRpdmUgPT09IFwiXCIpIHJldHVybiBcIi5cIjtcblx0cmV0dXJuIHJlbGF0aXZlLnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcbn1cbiJdLCJuYW1lcyI6WyJidWlsZFdvcmtzcGFjZUFsaWFzUGF0aHMiLCJtZXJnZUFsaWFzUGF0aHMiLCJyZXNvbHZlQWxpYXNQcm9qZWN0cyIsInByb2plY3RzIiwiYmFzZVVybCIsImFsaWFzZXMiLCJyZXNvbHZlZEJhc2UiLCJwYXRoIiwicmVzb2x2ZSIsInByb2plY3QiLCJuYW1lIiwibGVuZ3RoIiwiZW50cnkiLCJnZXRTb3VyY2VFbnRyeVBhdGgiLCJ0b1Bvc2l4UmVsYXRpdmUiLCJzb3VyY2VEaXIiLCJkaXJuYW1lIiwiY29udmVudGlvbiIsInRzY29uZmlnUGF0aHMiLCJ3b3Jrc3BhY2UiLCJjb25maWd1cmF0aW9uIiwiZ2V0UHJvamVjdHMiLCJmcm9tIiwidG8iLCJyZWxhdGl2ZSIsInNwbGl0Iiwic2VwIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFRZ0JBO2VBQUFBOztRQXNCQUM7ZUFBQUE7O1FBUUFDO2VBQUFBOzs7aUVBdENDOzs7Ozs7QUFRVixTQUFTRix5QkFDZkcsUUFBNEIsRUFDNUJDLE9BQWU7SUFFZixNQUFNQyxVQUFvQyxDQUFDO0lBQzNDLE1BQU1DLGVBQWVDLGlCQUFJLENBQUNDLE9BQU8sQ0FBQ0o7SUFFbEMsS0FBSyxNQUFNSyxXQUFXTixTQUFVO1FBQy9CLE1BQU1PLE9BQU9ELFFBQVFDLElBQUk7UUFDekIsSUFBSUEsS0FBS0MsTUFBTSxLQUFLLEdBQUc7UUFFdkIsTUFBTUMsUUFBUUwsaUJBQUksQ0FBQ0MsT0FBTyxDQUFDQyxRQUFRSSxrQkFBa0I7UUFDckRSLE9BQU8sQ0FBQ0ssS0FBSyxHQUFHO1lBQUNJLGdCQUFnQlIsY0FBY007U0FBTztRQUV0RCxNQUFNRyxZQUFZUixpQkFBSSxDQUFDUyxPQUFPLENBQUNKO1FBQy9CUCxPQUFPLENBQUMsR0FBR0ssS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHO1lBQUMsR0FBR0ksZ0JBQWdCUixjQUFjUyxXQUFXLEVBQUUsQ0FBQztTQUFDO0lBQ3pFO0lBRUEsT0FBT1Y7QUFDUjtBQUdPLFNBQVNKLGdCQUNmZ0IsVUFBb0MsRUFDcENDLGFBQW1EO0lBRW5ELElBQUlBLGlCQUFpQixNQUFNLE9BQU9EO0lBQ2xDLE9BQU87UUFBRSxHQUFHQSxVQUFVO1FBQUUsR0FBR0MsYUFBYTtJQUFDO0FBQzFDO0FBRU8sU0FBU2hCLHFCQUNmaUIsU0FBZ0MsRUFDaENoQixRQUF3QztJQUV4QyxJQUFJZ0IsYUFBYSxNQUFNO1FBQ3RCLE1BQU1DLGdCQUFnQmpCLFVBQVUsQ0FBQyxFQUFFLEVBQUVpQixjQUFjVixRQUFRO1FBQzNELE9BQU9TLFVBQVVFLFdBQVcsQ0FBQ0Q7SUFDOUI7SUFDQSxPQUFPakIsWUFBWSxFQUFFO0FBQ3RCO0FBRUEsU0FBU1csZ0JBQWdCUSxJQUFZLEVBQUVDLEVBQVU7SUFDaEQsTUFBTUMsV0FBV2pCLGlCQUFJLENBQUNpQixRQUFRLENBQUNGLE1BQU1DO0lBQ3JDLElBQUlDLGFBQWEsSUFBSSxPQUFPO0lBQzVCLE9BQU9BLFNBQVNDLEtBQUssQ0FBQ2xCLGlCQUFJLENBQUNtQixHQUFHLEVBQUVDLElBQUksQ0FBQztBQUN0QyJ9
@@ -8,6 +8,7 @@ import path from "node:path";
8
8
  import { Trace } from "@decohere/nexus/diagnostics";
9
9
  import { merge } from "@decohere/nexus/objects";
10
10
  import { ForgeError } from "../errors.js";
11
+ import { buildWorkspaceAliasPaths, mergeAliasPaths, resolveAliasProjects } from "../workspace-package-aliases.js";
11
12
  const defaultOptions = {
12
13
  jsc: {
13
14
  parser: {
@@ -32,10 +33,10 @@ export class SwcConfigFactory {
32
33
  * Creates a base config for a project+target combination, without a filename.
33
34
  * Call once per (project, target) and then use createFileConfig() per file.
34
35
  */ createBaseConfig(buildTarget, configOptions) {
35
- const { userConfig, tsConfig, aliasPaths } = configOptions;
36
+ const { userConfig, tsConfig, aliasPaths, workspace, projects } = configOptions;
36
37
  const { compilerOptions } = tsConfig ?? {};
37
- const paths = aliasPaths ? compilerOptions?.paths : undefined;
38
- const baseUrl = SwcConfigFactory.getBaseUrl(tsConfig) ?? (paths != null ? path.resolve(".") : undefined);
38
+ const paths = aliasPaths ? this.buildAliasPaths(compilerOptions?.paths, workspace, projects, this.resolveAliasBaseUrl(tsConfig, workspace)) : undefined;
39
+ const baseUrl = this.resolveAliasBaseUrl(tsConfig, workspace) ?? (paths != null ? path.resolve(".") : undefined);
39
40
  const options = {
40
41
  jsc: {
41
42
  baseUrl,
@@ -70,6 +71,21 @@ export class SwcConfigFactory {
70
71
  throw new ForgeError(`SWC config: jsc.baseUrl must be an absolute path to avoid a process crash, got: "${baseUrl}". Use path.resolve() to convert it.`);
71
72
  }
72
73
  }
74
+ /**
75
+ * Convention aliases from workspace packages, then `tsconfig` `paths` overrides.
76
+ * Empty maps are omitted so SWC is not given a useless `jsc.paths`.
77
+ */ buildAliasPaths(tsconfigPaths, workspace, projects, baseUrl) {
78
+ const resolvedBase = baseUrl ?? path.resolve(".");
79
+ const convention = buildWorkspaceAliasPaths(resolveAliasProjects(workspace, projects), resolvedBase);
80
+ const merged = mergeAliasPaths(convention, tsconfigPaths);
81
+ return Object.keys(merged).length > 0 ? merged : undefined;
82
+ }
83
+ resolveAliasBaseUrl(tsConfig, workspace) {
84
+ const fromTs = SwcConfigFactory.getBaseUrl(tsConfig);
85
+ if (fromTs != null) return fromTs;
86
+ if (workspace != null) return path.resolve(workspace.rootDir);
87
+ return undefined;
88
+ }
73
89
  /** Resolves tsconfig baseUrl to an absolute path. Returns undefined if not set. */ static getBaseUrl(tsConfig) {
74
90
  const baseUrl = tsConfig?.compilerOptions?.baseUrl;
75
91
  if (baseUrl == null) return undefined;
@@ -80,4 +96,4 @@ SwcConfigFactory = _ts_decorate([
80
96
  Trace
81
97
  ], SwcConfigFactory);
82
98
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHMgPyBjb21waWxlck9wdGlvbnM/LnBhdGhzIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJhc2VVcmwgPVxuXHRcdFx0U3djQ29uZmlnRmFjdG9yeS5nZXRCYXNlVXJsKHRzQ29uZmlnKSA/PyAocGF0aHMgIT0gbnVsbCA/IHBhdGgucmVzb2x2ZShcIi5cIikgOiB1bmRlZmluZWQpO1xuXG5cdFx0Y29uc3Qgb3B0aW9uczogT3B0aW9ucyA9IHtcblx0XHRcdGpzYzoge1xuXHRcdFx0XHRiYXNlVXJsLFxuXHRcdFx0XHRwYXRocyxcblx0XHRcdH0sXG5cdFx0XHRtb2R1bGU6IHtcblx0XHRcdFx0dHlwZTogYnVpbGRUYXJnZXQsXG5cdFx0XHR9LFxuXHRcdH07XG5cblx0XHRyZXR1cm4gbWVyZ2Uud2l0aE9wdGlvbnM8T3B0aW9ucz4oXG5cdFx0XHR7IG1lcmdlQXJyYXlzOiBmYWxzZSB9LFxuXHRcdFx0ZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0dXNlckNvbmZpZyA/PyB7fSxcblx0XHQpO1xuXHR9XG5cblx0LyoqIFN0YW1wcyBhIHBlci1maWxlIGZpbGVuYW1lIG9udG8gYSBwcmUtYnVpbHQgYmFzZSBjb25maWcuICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlQ29uZmlnKGZpbGU6IEZpbGVFeCwgYmFzZUNvbmZpZzogT3B0aW9ucyk6IE9wdGlvbnMge1xuXHRcdGNvbnN0IGNvbmZpZyA9IHsgLi4uYmFzZUNvbmZpZywgZmlsZW5hbWU6IGZpbGUuZnVsbFBhdGggfTtcblx0XHR0aGlzLnZhbGlkYXRlKGNvbmZpZyk7XG5cdFx0cmV0dXJuIGNvbmZpZztcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgU1dDIG9wdGlvbnMgYWdhaW5zdCBrbm93biBjYXVzZXMgb2YgUnVzdC9OQVBJIHByb2Nlc3MgY3Jhc2hlcy5cblx0ICogVGhyb3dzIGEgRm9yZ2VFcnJvciB3aXRoIGEgZGVzY3JpcHRpdmUgbWVzc2FnZSBpbnN0ZWFkIG9mIGxldHRpbmcgdGhlXG5cdCAqIE5BUEkgbGF5ZXIgYWJvcnQgdGhlIHByb2Nlc3MuXG5cdCAqXG5cdCAqIEtub3duIGNyYXNoIGNhdXNlczpcblx0ICogLSBganNjLmJhc2VVcmxgIHNldCB0byBhIHJlbGF0aXZlIHBhdGggKFNXQyByZXF1aXJlcyBhbiBhYnNvbHV0ZSBwYXRoKVxuXHQgKi9cblx0cHVibGljIHZhbGlkYXRlKG9wdGlvbnM6IE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gb3B0aW9ucy5qc2M/LmJhc2VVcmw7XG5cdFx0aWYgKGJhc2VVcmwgIT0gbnVsbCAmJiAhcGF0aC5pc0Fic29sdXRlKGJhc2VVcmwpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRm9yZ2VFcnJvcihcblx0XHRcdFx0YFNXQyBjb25maWc6IGpzYy5iYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgcGF0aCB0byBhdm9pZCBhIHByb2Nlc3MgY3Jhc2gsIGdvdDogXCIke2Jhc2VVcmx9XCIuIFVzZSBwYXRoLnJlc29sdmUoKSB0byBjb252ZXJ0IGl0LmAsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiVHJhY2UiLCJtZXJnZSIsIkZvcmdlRXJyb3IiLCJkZWZhdWx0T3B0aW9ucyIsImpzYyIsInBhcnNlciIsInN5bnRheCIsImRlY29yYXRvcnMiLCJ0YXJnZXQiLCJ0cmFuc2Zvcm0iLCJkZWNvcmF0b3JNZXRhZGF0YSIsImV4cGVyaW1lbnRhbCIsImtlZXBJbXBvcnRBdHRyaWJ1dGVzIiwibW9kdWxlIiwicmVzb2x2ZUZ1bGx5Iiwic291cmNlTWFwcyIsIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJjcmVhdGVCYXNlQ29uZmlnIiwiYnVpbGRUYXJnZXQiLCJjb25maWdPcHRpb25zIiwidXNlckNvbmZpZyIsInRzQ29uZmlnIiwiYWxpYXNQYXRocyIsImNvbXBpbGVyT3B0aW9ucyIsInBhdGhzIiwidW5kZWZpbmVkIiwiYmFzZVVybCIsImdldEJhc2VVcmwiLCJyZXNvbHZlIiwib3B0aW9ucyIsInR5cGUiLCJ3aXRoT3B0aW9ucyIsIm1lcmdlQXJyYXlzIiwiY3JlYXRlRmlsZUNvbmZpZyIsImZpbGUiLCJiYXNlQ29uZmlnIiwiY29uZmlnIiwiZmlsZW5hbWUiLCJmdWxsUGF0aCIsInZhbGlkYXRlIiwiaXNBYnNvbHV0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLEtBQUssUUFBUSw4QkFBOEI7QUFFcEQsU0FBU0MsS0FBSyxRQUFRLDBCQUEwQjtBQUVoRCxTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUkxQyxNQUFNQyxpQkFBaUI7SUFDdEJDLEtBQUs7UUFDSkMsUUFBUTtZQUNQQyxRQUFRO1lBQ1JDLFlBQVk7UUFDYjtRQUNBQyxRQUFRO1FBQ1JDLFdBQVc7WUFDVkMsbUJBQW1CO1FBQ3BCO1FBQ0FDLGNBQWM7WUFBRUMsc0JBQXNCO1FBQUs7SUFDNUM7SUFDQUMsUUFBUTtRQUNQQyxjQUFjO0lBQ2Y7SUFDQUMsWUFBWTtBQUNiO0FBR0EsT0FBTyxNQUFNQztJQUNaOzs7RUFHQyxHQUNELEFBQU9DLGlCQUNOQyxXQUE0QixFQUM1QkMsYUFBK0IsRUFDckI7UUFDVixNQUFNLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUUsR0FBR0g7UUFDN0MsTUFBTSxFQUFFSSxlQUFlLEVBQUUsR0FBR0YsWUFBWSxDQUFDO1FBQ3pDLE1BQU1HLFFBQVFGLGFBQWFDLGlCQUFpQkMsUUFBUUM7UUFDcEQsTUFBTUMsVUFDTFYsaUJBQWlCVyxVQUFVLENBQUNOLGFBQWNHLENBQUFBLFNBQVMsT0FBT3pCLEtBQUs2QixPQUFPLENBQUMsT0FBT0gsU0FBUTtRQUV2RixNQUFNSSxVQUFtQjtZQUN4QnpCLEtBQUs7Z0JBQ0pzQjtnQkFDQUY7WUFDRDtZQUNBWCxRQUFRO2dCQUNQaUIsTUFBTVo7WUFDUDtRQUNEO1FBRUEsT0FBT2pCLE1BQU04QixXQUFXLENBQ3ZCO1lBQUVDLGFBQWE7UUFBTSxHQUNyQjdCLGdCQUNBMEIsU0FDQVQsY0FBYyxDQUFDO0lBRWpCO0lBRUEsNkRBQTZELEdBQzdELEFBQU9hLGlCQUFpQkMsSUFBWSxFQUFFQyxVQUFtQixFQUFXO1FBQ25FLE1BQU1DLFNBQVM7WUFBRSxHQUFHRCxVQUFVO1lBQUVFLFVBQVVILEtBQUtJLFFBQVE7UUFBQztRQUN4RCxJQUFJLENBQUNDLFFBQVEsQ0FBQ0g7UUFDZCxPQUFPQTtJQUNSO0lBRUE7Ozs7Ozs7RUFPQyxHQUNELEFBQU9HLFNBQVNWLE9BQWdCLEVBQVE7UUFDdkMsTUFBTUgsVUFBVUcsUUFBUXpCLEdBQUcsRUFBRXNCO1FBQzdCLElBQUlBLFdBQVcsUUFBUSxDQUFDM0IsS0FBS3lDLFVBQVUsQ0FBQ2QsVUFBVTtZQUNqRCxNQUFNLElBQUl4QixXQUNULENBQUMsaUZBQWlGLEVBQUV3QixRQUFRLG9DQUFvQyxDQUFDO1FBRW5JO0lBQ0Q7SUFFQSxpRkFBaUYsR0FDakYsT0FBZUMsV0FBV04sUUFBOEIsRUFBc0I7UUFDN0UsTUFBTUssVUFBVUwsVUFBVUUsaUJBQWlCRztRQUMzQyxJQUFJQSxXQUFXLE1BQU0sT0FBT0Q7UUFDNUIsT0FBTzFCLEtBQUs2QixPQUFPLENBQUNGO0lBQ3JCO0FBQ0QifQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9mYWN0b3JpZXMvc3djLWNvbmZpZy5mYWN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgVHNjb25maWcgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9kaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgeyBGaWxlRXggfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2lvXCI7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvb2JqZWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIH0gZnJvbSBcIkBzd2MvY29yZVwiO1xuaW1wb3J0IHsgRm9yZ2VFcnJvciB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCB0eXBlIHsgVHJhbnNwaWxlVGFyZ2V0IH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMvc3djLWNvbmZpZy50eXBlLmpzXCI7XG5pbXBvcnQge1xuXHRidWlsZFdvcmtzcGFjZUFsaWFzUGF0aHMsXG5cdG1lcmdlQWxpYXNQYXRocyxcblx0cmVzb2x2ZUFsaWFzUHJvamVjdHMsXG59IGZyb20gXCIuLi93b3Jrc3BhY2UtcGFja2FnZS1hbGlhc2VzLmpzXCI7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRqc2M6IHtcblx0XHRwYXJzZXI6IHtcblx0XHRcdHN5bnRheDogXCJ0eXBlc2NyaXB0XCIsXG5cdFx0XHRkZWNvcmF0b3JzOiB0cnVlLFxuXHRcdH0sXG5cdFx0dGFyZ2V0OiBcImVzbmV4dFwiLFxuXHRcdHRyYW5zZm9ybToge1xuXHRcdFx0ZGVjb3JhdG9yTWV0YWRhdGE6IHRydWUsXG5cdFx0fSxcblx0XHRleHBlcmltZW50YWw6IHsga2VlcEltcG9ydEF0dHJpYnV0ZXM6IHRydWUgfSxcblx0fSxcblx0bW9kdWxlOiB7XG5cdFx0cmVzb2x2ZUZ1bGx5OiB0cnVlLFxuXHR9LFxuXHRzb3VyY2VNYXBzOiBcImlubGluZVwiLFxufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djQ29uZmlnRmFjdG9yeSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgYmFzZSBjb25maWcgZm9yIGEgcHJvamVjdCt0YXJnZXQgY29tYmluYXRpb24sIHdpdGhvdXQgYSBmaWxlbmFtZS5cblx0ICogQ2FsbCBvbmNlIHBlciAocHJvamVjdCwgdGFyZ2V0KSBhbmQgdGhlbiB1c2UgY3JlYXRlRmlsZUNvbmZpZygpIHBlciBmaWxlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUJhc2VDb25maWcoXG5cdFx0YnVpbGRUYXJnZXQ6IFRyYW5zcGlsZVRhcmdldCxcblx0XHRjb25maWdPcHRpb25zOiBTd2NDb25maWdPcHRpb25zLFxuXHQpOiBPcHRpb25zIHtcblx0XHRjb25zdCB7IHVzZXJDb25maWcsIHRzQ29uZmlnLCBhbGlhc1BhdGhzLCB3b3Jrc3BhY2UsIHByb2plY3RzIH0gPSBjb25maWdPcHRpb25zO1xuXHRcdGNvbnN0IHsgY29tcGlsZXJPcHRpb25zIH0gPSB0c0NvbmZpZyA/PyB7fTtcblx0XHRjb25zdCBwYXRocyA9IGFsaWFzUGF0aHNcblx0XHRcdD8gdGhpcy5idWlsZEFsaWFzUGF0aHMoXG5cdFx0XHRcdFx0Y29tcGlsZXJPcHRpb25zPy5wYXRocyxcblx0XHRcdFx0XHR3b3Jrc3BhY2UsXG5cdFx0XHRcdFx0cHJvamVjdHMsXG5cdFx0XHRcdFx0dGhpcy5yZXNvbHZlQWxpYXNCYXNlVXJsKHRzQ29uZmlnLCB3b3Jrc3BhY2UpLFxuXHRcdFx0XHQpXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRjb25zdCBiYXNlVXJsID1cblx0XHRcdHRoaXMucmVzb2x2ZUFsaWFzQmFzZVVybCh0c0NvbmZpZywgd29ya3NwYWNlKSA/P1xuXHRcdFx0KHBhdGhzICE9IG51bGwgPyBwYXRoLnJlc29sdmUoXCIuXCIpIDogdW5kZWZpbmVkKTtcblxuXHRcdGNvbnN0IG9wdGlvbnM6IE9wdGlvbnMgPSB7XG5cdFx0XHRqc2M6IHtcblx0XHRcdFx0YmFzZVVybCxcblx0XHRcdFx0cGF0aHMsXG5cdFx0XHR9LFxuXHRcdFx0bW9kdWxlOiB7XG5cdFx0XHRcdHR5cGU6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0fSxcblx0XHR9O1xuXG5cdFx0cmV0dXJuIG1lcmdlLndpdGhPcHRpb25zPE9wdGlvbnM+KFxuXHRcdFx0eyBtZXJnZUFycmF5czogZmFsc2UgfSxcblx0XHRcdGRlZmF1bHRPcHRpb25zLFxuXHRcdFx0b3B0aW9ucyxcblx0XHRcdHVzZXJDb25maWcgPz8ge30sXG5cdFx0KTtcblx0fVxuXG5cdC8qKiBTdGFtcHMgYSBwZXItZmlsZSBmaWxlbmFtZSBvbnRvIGEgcHJlLWJ1aWx0IGJhc2UgY29uZmlnLiAqL1xuXHRwdWJsaWMgY3JlYXRlRmlsZUNvbmZpZyhmaWxlOiBGaWxlRXgsIGJhc2VDb25maWc6IE9wdGlvbnMpOiBPcHRpb25zIHtcblx0XHRjb25zdCBjb25maWcgPSB7IC4uLmJhc2VDb25maWcsIGZpbGVuYW1lOiBmaWxlLmZ1bGxQYXRoIH07XG5cdFx0dGhpcy52YWxpZGF0ZShjb25maWcpO1xuXHRcdHJldHVybiBjb25maWc7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIFNXQyBvcHRpb25zIGFnYWluc3Qga25vd24gY2F1c2VzIG9mIFJ1c3QvTkFQSSBwcm9jZXNzIGNyYXNoZXMuXG5cdCAqIFRocm93cyBhIEZvcmdlRXJyb3Igd2l0aCBhIGRlc2NyaXB0aXZlIG1lc3NhZ2UgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZVxuXHQgKiBOQVBJIGxheWVyIGFib3J0IHRoZSBwcm9jZXNzLlxuXHQgKlxuXHQgKiBLbm93biBjcmFzaCBjYXVzZXM6XG5cdCAqIC0gYGpzYy5iYXNlVXJsYCBzZXQgdG8gYSByZWxhdGl2ZSBwYXRoIChTV0MgcmVxdWlyZXMgYW4gYWJzb2x1dGUgcGF0aClcblx0ICovXG5cdHB1YmxpYyB2YWxpZGF0ZShvcHRpb25zOiBPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgYmFzZVVybCA9IG9wdGlvbnMuanNjPy5iYXNlVXJsO1xuXHRcdGlmIChiYXNlVXJsICE9IG51bGwgJiYgIXBhdGguaXNBYnNvbHV0ZShiYXNlVXJsKSkge1xuXHRcdFx0dGhyb3cgbmV3IEZvcmdlRXJyb3IoXG5cdFx0XHRcdGBTV0MgY29uZmlnOiBqc2MuYmFzZVVybCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGggdG8gYXZvaWQgYSBwcm9jZXNzIGNyYXNoLCBnb3Q6IFwiJHtiYXNlVXJsfVwiLiBVc2UgcGF0aC5yZXNvbHZlKCkgdG8gY29udmVydCBpdC5gLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ29udmVudGlvbiBhbGlhc2VzIGZyb20gd29ya3NwYWNlIHBhY2thZ2VzLCB0aGVuIGB0c2NvbmZpZ2AgYHBhdGhzYCBvdmVycmlkZXMuXG5cdCAqIEVtcHR5IG1hcHMgYXJlIG9taXR0ZWQgc28gU1dDIGlzIG5vdCBnaXZlbiBhIHVzZWxlc3MgYGpzYy5wYXRoc2AuXG5cdCAqL1xuXHRwcml2YXRlIGJ1aWxkQWxpYXNQYXRocyhcblx0XHR0c2NvbmZpZ1BhdGhzOiBUc2NvbmZpZ1tcImNvbXBpbGVyT3B0aW9uc1wiXVtcInBhdGhzXCJdLFxuXHRcdHdvcmtzcGFjZTogU3djQ29uZmlnT3B0aW9uc1tcIndvcmtzcGFjZVwiXSxcblx0XHRwcm9qZWN0czogU3djQ29uZmlnT3B0aW9uc1tcInByb2plY3RzXCJdLFxuXHRcdGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0KTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCByZXNvbHZlZEJhc2UgPSBiYXNlVXJsID8/IHBhdGgucmVzb2x2ZShcIi5cIik7XG5cdFx0Y29uc3QgY29udmVudGlvbiA9IGJ1aWxkV29ya3NwYWNlQWxpYXNQYXRocyhcblx0XHRcdHJlc29sdmVBbGlhc1Byb2plY3RzKHdvcmtzcGFjZSwgcHJvamVjdHMpLFxuXHRcdFx0cmVzb2x2ZWRCYXNlLFxuXHRcdCk7XG5cdFx0Y29uc3QgbWVyZ2VkID0gbWVyZ2VBbGlhc1BhdGhzKFxuXHRcdFx0Y29udmVudGlvbixcblx0XHRcdHRzY29uZmlnUGF0aHMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHwgdW5kZWZpbmVkLFxuXHRcdCk7XG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKG1lcmdlZCkubGVuZ3RoID4gMCA/IG1lcmdlZCA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdHByaXZhdGUgcmVzb2x2ZUFsaWFzQmFzZVVybChcblx0XHR0c0NvbmZpZzogVHNjb25maWcgfCB1bmRlZmluZWQsXG5cdFx0d29ya3NwYWNlOiBTd2NDb25maWdPcHRpb25zW1wid29ya3NwYWNlXCJdLFxuXHQpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGZyb21UcyA9IFN3Y0NvbmZpZ0ZhY3RvcnkuZ2V0QmFzZVVybCh0c0NvbmZpZyk7XG5cdFx0aWYgKGZyb21UcyAhPSBudWxsKSByZXR1cm4gZnJvbVRzO1xuXHRcdGlmICh3b3Jrc3BhY2UgIT0gbnVsbCkgcmV0dXJuIHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2Uucm9vdERpcik7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKiBSZXNvbHZlcyB0c2NvbmZpZyBiYXNlVXJsIHRvIGFuIGFic29sdXRlIHBhdGguIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBzZXQuICovXG5cdHByaXZhdGUgc3RhdGljIGdldEJhc2VVcmwodHNDb25maWc6IFRzY29uZmlnIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBiYXNlVXJsID0gdHNDb25maWc/LmNvbXBpbGVyT3B0aW9ucz8uYmFzZVVybDtcblx0XHRpZiAoYmFzZVVybCA9PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRcdHJldHVybiBwYXRoLnJlc29sdmUoYmFzZVVybCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiVHJhY2UiLCJtZXJnZSIsIkZvcmdlRXJyb3IiLCJidWlsZFdvcmtzcGFjZUFsaWFzUGF0aHMiLCJtZXJnZUFsaWFzUGF0aHMiLCJyZXNvbHZlQWxpYXNQcm9qZWN0cyIsImRlZmF1bHRPcHRpb25zIiwianNjIiwicGFyc2VyIiwic3ludGF4IiwiZGVjb3JhdG9ycyIsInRhcmdldCIsInRyYW5zZm9ybSIsImRlY29yYXRvck1ldGFkYXRhIiwiZXhwZXJpbWVudGFsIiwia2VlcEltcG9ydEF0dHJpYnV0ZXMiLCJtb2R1bGUiLCJyZXNvbHZlRnVsbHkiLCJzb3VyY2VNYXBzIiwiU3djQ29uZmlnRmFjdG9yeSIsImNyZWF0ZUJhc2VDb25maWciLCJidWlsZFRhcmdldCIsImNvbmZpZ09wdGlvbnMiLCJ1c2VyQ29uZmlnIiwidHNDb25maWciLCJhbGlhc1BhdGhzIiwid29ya3NwYWNlIiwicHJvamVjdHMiLCJjb21waWxlck9wdGlvbnMiLCJwYXRocyIsImJ1aWxkQWxpYXNQYXRocyIsInJlc29sdmVBbGlhc0Jhc2VVcmwiLCJ1bmRlZmluZWQiLCJiYXNlVXJsIiwicmVzb2x2ZSIsIm9wdGlvbnMiLCJ0eXBlIiwid2l0aE9wdGlvbnMiLCJtZXJnZUFycmF5cyIsImNyZWF0ZUZpbGVDb25maWciLCJmaWxlIiwiYmFzZUNvbmZpZyIsImNvbmZpZyIsImZpbGVuYW1lIiwiZnVsbFBhdGgiLCJ2YWxpZGF0ZSIsImlzQWJzb2x1dGUiLCJ0c2NvbmZpZ1BhdGhzIiwicmVzb2x2ZWRCYXNlIiwiY29udmVudGlvbiIsIm1lcmdlZCIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJmcm9tVHMiLCJnZXRCYXNlVXJsIiwicm9vdERpciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsVUFB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
@@ -26,6 +26,17 @@ export class SwcTranspiler extends mixwith(CachesOutputs, IncrementalTransform)
26
26
  BuildTargets.commonjs
27
27
  ];
28
28
  #swcConfigFactory = new SwcConfigFactory();
29
+ #workspace;
30
+ watch(workspace) {
31
+ this.#workspace = workspace;
32
+ super.watch(workspace);
33
+ }
34
+ withAliasContext(options = {}) {
35
+ return {
36
+ ...options,
37
+ workspace: options.workspace ?? this.#workspace
38
+ };
39
+ }
29
40
  async transformProject(projectArrayLike, fileFilter, onOutput) {
30
41
  const projects = Array.isArray(projectArrayLike) ? projectArrayLike : [
31
42
  projectArrayLike
@@ -43,7 +54,9 @@ export class SwcTranspiler extends mixwith(CachesOutputs, IncrementalTransform)
43
54
  return this.transformTarget(sourceFiles, target, {
44
55
  tsConfig,
45
56
  userConfig,
46
- aliasPaths
57
+ aliasPaths,
58
+ workspace: this.#workspace,
59
+ projects
47
60
  }, project, onOutput);
48
61
  }));
49
62
  return responses.flat();
@@ -64,7 +77,7 @@ export class SwcTranspiler extends mixwith(CachesOutputs, IncrementalTransform)
64
77
  * Reads the file with `fs.readFileSync` and transpiles via `swc.transformSync`.
65
78
  * Intended for callers that cannot await (e.g. Node.js `registerHooks` load hook).
66
79
  */ transformFileSync(file, buildTarget, options = {}) {
67
- const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, options);
80
+ const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, this.withAliasContext(options));
68
81
  const swcOptions = this.#swcConfigFactory.createFileConfig(file, baseConfig);
69
82
  let content;
70
83
  try {
@@ -112,7 +125,7 @@ export class SwcTranspiler extends mixwith(CachesOutputs, IncrementalTransform)
112
125
  }
113
126
  }
114
127
  async transformTarget(files, buildTarget, options, project, onOutput) {
115
- const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, options ?? {});
128
+ const baseConfig = this.#swcConfigFactory.createBaseConfig(buildTarget, this.withAliasContext(options));
116
129
  return await Promise.all(files.map((file)=>{
117
130
  const swcOptions = this.#swcConfigFactory.createFileConfig(file, baseConfig);
118
131
  return this.runTransform(file, buildTarget, swcOptions, project, onOutput);
@@ -217,4 +230,4 @@ SwcTranspiler = _ts_decorate([
217
230
  Trace
218
231
  ], SwcTranspiler);
219
232
 
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgY2FjaGUsIGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgdHlwZSBPcHRpb25zLCB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN5bmMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJ1aWxkVGFyZ2V0LFxuXHRCdWlsZFRhcmdldHMsXG5cdHR5cGUgVHJhbnNwaWxlVGFyZ2V0LFxufSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3RGaWxlRXZlbnQsIFRzY29uZmlnIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5pbXBvcnQgeyBTd2NDb25maWdGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkuanNcIjtcbmltcG9ydCB7IENhY2hlc091dHB1dHMgfSBmcm9tIFwiLi4vbWl4aW5zL2NhY2hlcy1vdXRwdXRzLm1peGluLmpzXCI7XG5pbXBvcnQgeyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB9IGZyb20gXCIuLi9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZU9wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djVHJhbnNwaWxlclxuXHRleHRlbmRzIG1peHdpdGgoQ2FjaGVzT3V0cHV0cywgSW5jcmVtZW50YWxUcmFuc2Zvcm0pXG5cdGltcGxlbWVudHMgVHJhbnNmb3JtZXJcbntcblx0cHVibGljIGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXSA9IFtCdWlsZFRhcmdldHMuZXM2LCBCdWlsZFRhcmdldHMuY29tbW9uanNdO1xuXHQjc3djQ29uZmlnRmFjdG9yeSA9IG5ldyBTd2NDb25maWdGYWN0b3J5KCk7XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpID8gcHJvamVjdEFycmF5TGlrZSA6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvamVjdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB7IHRhcmdldHMsIGFsaWFzUGF0aHMgfSA9IHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IHRyYW5zcGlsZVRhcmdldHMgPSB0YXJnZXRzLmZpbHRlcigoYnQpID0+IGJ0ICE9PSBCdWlsZFRhcmdldHMudHlwZXMpO1xuXHRcdFx0XHRpZiAodHJhbnNwaWxlVGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGF3YWl0IChmaWxlRmlsdGVyPy4ocHJvamVjdCkgPz8gcHJvamVjdC5nZXRBbGxGaWxlcygpKTtcblx0XHRcdFx0Y29uc3QgdHNDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCk7XG5cdFx0XHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFN3Y0NvbmZpZygpO1xuXHRcdFx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0XHR0cmFuc3BpbGVUYXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1UYXJnZXQoXG5cdFx0XHRcdFx0XHRcdHNvdXJjZUZpbGVzLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHR0c0NvbmZpZyxcblx0XHRcdFx0XHRcdFx0XHR1c2VyQ29uZmlnLFxuXHRcdFx0XHRcdFx0XHRcdGFsaWFzUGF0aHMsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdFx0XHRcdG9uT3V0cHV0LFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZmxhdCA9IHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0dGhpcy5jYWNoZU91dHB1dHMoZmxhdCk7XG5cdFx0cmV0dXJuIGZsYXQ7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNmb3JtRmlsZShcblx0XHRmaWxlQXJyYXlMaWtlOiBGaWxlRXhbXSB8IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVBcnJheUxpa2UpID8gZmlsZUFycmF5TGlrZSA6IFtmaWxlQXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSB0aGlzLnRyYW5zZm9ybVRhcmdldChmaWxlcywgYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHQvKipcblx0ICogU3luY2hyb25vdXMsIHNpbmdsZS1maWxlIHZhcmlhbnQgb2YgYHRyYW5zZm9ybUZpbGVgLlxuXHQgKiBSZWFkcyB0aGUgZmlsZSB3aXRoIGBmcy5yZWFkRmlsZVN5bmNgIGFuZCB0cmFuc3BpbGVzIHZpYSBgc3djLnRyYW5zZm9ybVN5bmNgLlxuXHQgKiBJbnRlbmRlZCBmb3IgY2FsbGVycyB0aGF0IGNhbm5vdCBhd2FpdCAoZS5nLiBOb2RlLmpzIGByZWdpc3Rlckhvb2tzYCBsb2FkIGhvb2spLlxuXHQgKi9cblx0cHVibGljIHRyYW5zZm9ybUZpbGVTeW5jKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IGJhc2VDb25maWcgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUJhc2VDb25maWcoYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cblx0XHRsZXQgY29udGVudDogc3RyaW5nO1xuXHRcdHRyeSB7XG5cdFx0XHRjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUuZnVsbFBhdGgsIFwidXRmOFwiKTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1TeW5jKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybVN5bmMgcmV0dXJuZWQgbm8gcmVzdWx0XCIpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLlN1Y2Nlc3Moe1xuXHRcdFx0XHRmaWxlLFxuXHRcdFx0XHRjb2RlOiB0cmFuc2Zvcm1lZC5jb2RlLFxuXHRcdFx0XHRzb3VyY2VDb250ZW50OiBjb250ZW50LFxuXHRcdFx0XHR0YXJnZXQ6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5FcnJvcih7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBbU3RyaW5nKGVycm9yKV0sXG5cdFx0XHRcdGNvbmZpZzogc3djT3B0aW9ucyxcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdHJhbnNmb3JtVGFyZ2V0KFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM/OiBUcmFuc3BpbGVPcHRpb25zLFxuXHRcdHByb2plY3Q/OiBQcm9qZWN0LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KSB7XG5cdFx0Y29uc3QgYmFzZUNvbmZpZyA9IHRoaXMuI3N3Y0NvbmZpZ0ZhY3RvcnkuY3JlYXRlQmFzZUNvbmZpZyhidWlsZFRhcmdldCwgb3B0aW9ucyA/PyB7fSk7XG5cdFx0cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0ZmlsZXMubWFwKChmaWxlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cdFx0XHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybShmaWxlLCBidWlsZFRhcmdldCwgc3djT3B0aW9ucywgcHJvamVjdCwgb25PdXRwdXQpO1xuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuVHJhbnNmb3JtKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHR0YXJnZXQ6IEJ1aWxkVGFyZ2V0LFxuXHRcdHN3Y09wdGlvbnM6IE9wdGlvbnMsXG5cdFx0cHJvamVjdD86IFByb2plY3QsXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgY29udGVudCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUNvbnRlbnQoZmlsZSk7XG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdGNvbnN0IHNraXBwZWQgPSBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc2tpcHBlZCk7XG5cdFx0XHRyZXR1cm4gc2tpcHBlZDtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IHByb2plY3Q/LmdldE91dERpcih0YXJnZXQpO1xuXHRcdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IG91dEJhc2VEaXIgPyBwYXRoLmpvaW4ob3V0QmFzZURpciwgZmlsZU5hbWUpIDogdW5kZWZpbmVkO1xuXHRcdFx0Y29uc3Qgb3V0cHV0RGlyID0gb3V0cHV0UGF0aCA/IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSA6IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IHRyYW5zZm9ybWVkID0gYXdhaXQgdHJhbnNmb3JtKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybSByZXR1cm5lZCBubyByZXN1bHRcIik7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHN1Y2Nlc3MgPSBUcmFuc2Zvcm1SZXNwb25zZS5TdWNjZXNzKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0Y29kZTogdHJhbnNmb3JtZWQuY29kZSxcblx0XHRcdFx0c291cmNlQ29udGVudDogY29udGVudCxcblx0XHRcdFx0dGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0b3V0cHV0RGlyLFxuXHRcdFx0XHRvdXRwdXRQYXRoLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc3VjY2Vzcyk7XG5cdFx0XHRyZXR1cm4gc3VjY2Vzcztcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y29uc3QgZmFpbHVyZSA9IFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKGZhaWx1cmUpO1xuXHRcdFx0cmV0dXJuIGZhaWx1cmU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoZXZ0OiBQcm9qZWN0RmlsZUV2ZW50KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgeyBmaWxlLCBwcm9qZWN0IH0gPSBldnQ7XG5cdFx0aWYgKGV2dC5ldmVudE5hbWUgPT09IGlvLldhdGNoRXZlbnRzLnVubGluaykge1xuXHRcdFx0dGhpcy5kZWxldGVDYWNoZWRPdXRwdXRzKGZpbGUuZnVsbFBhdGgpO1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRpZiAoIXByb2plY3QuaXNTb3VyY2VGaWxlKGZpbGUpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdGNvbnN0IGZyZXNoQ29udGVudCA9IGF3YWl0IGZpbGUuZ2V0Q29udGVudCgpO1xuXHRcdGNvbnN0IGNhY2hlZCA9IHRoaXMub3V0cHV0Q2FjaGUuZ2V0KGZpbGUuZnVsbFBhdGgpO1xuXHRcdGlmIChjYWNoZWQgIT0gbnVsbCAmJiBjYWNoZWRbMF0/LnNvdXJjZUNvbnRlbnQgPT09IGZyZXNoQ29udGVudCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHR0aGlzLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0LCAoKSA9PiBQcm9taXNlLnJlc29sdmUoW2ZpbGVdKSk7XG5cdH1cblxuXHRAaW52YWxpZGF0ZUNhY2hlKFN3Y1RyYW5zcGlsZXIucHJvdG90eXBlLmdldEZpbGVDb250ZW50LCB7XG5cdFx0bmFtZTogXCJGSUxFX0NPTlRFTlRcIixcblx0XHRrZXlGbjogKC4uLmFyZ3MpID0+IChhcmdzWzBdIGFzIEZpbGVFeCkuZnVsbFBhdGgsXG5cdH0pXG5cdHB1YmxpYyBpbnZhbGlkYXRlQ29udGVudENhY2hlKF9maWxlOiBGaWxlRXgpOiB2b2lkIHt9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiAoYXJnc1swXSBhcyBGaWxlRXgpLmZ1bGxQYXRoIH0pXG5cdHByaXZhdGUgYXN5bmMgZ2V0RmlsZUNvbnRlbnQoZmlsZTogRmlsZUV4KTogUHJvbWlzZTxzdHJpbmc+IHtcblx0XHRyZXR1cm4gYXdhaXQgZmlsZS5nZXRDb250ZW50KCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJmcyIsInBhdGgiLCJjYWNoZSIsImludmFsaWRhdGVDYWNoZSIsIlRyYWNlIiwibWl4d2l0aCIsImlvIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtU3luYyIsIkJ1aWxkVGFyZ2V0cyIsIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJDYWNoZXNPdXRwdXRzIiwiSW5jcmVtZW50YWxUcmFuc2Zvcm0iLCJUcmFuc2Zvcm1SZXNwb25zZSIsIlN3Y1RyYW5zcGlsZXIiLCJidWlsZFRhcmdldHMiLCJlczYiLCJjb21tb25qcyIsInRyYW5zZm9ybVByb2plY3QiLCJwcm9qZWN0QXJyYXlMaWtlIiwiZmlsZUZpbHRlciIsIm9uT3V0cHV0IiwicHJvamVjdHMiLCJBcnJheSIsImlzQXJyYXkiLCJyZXNwb25zZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwicHJvamVjdCIsInRhcmdldHMiLCJhbGlhc1BhdGhzIiwiZ2V0Rm9yZ2VDb25maWd1cmF0aW9uIiwidHJhbnNwaWxlVGFyZ2V0cyIsImZpbHRlciIsImJ0IiwidHlwZXMiLCJsZW5ndGgiLCJzb3VyY2VGaWxlcyIsImdldEFsbEZpbGVzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsInVzZXJDb25maWciLCJnZXRTd2NDb25maWciLCJ0YXJnZXQiLCJ0cmFuc2Zvcm1UYXJnZXQiLCJmbGF0IiwiY2FjaGVPdXRwdXRzIiwidHJhbnNmb3JtRmlsZSIsImZpbGVBcnJheUxpa2UiLCJidWlsZFRhcmdldCIsIm9wdGlvbnMiLCJmaWxlcyIsInRyYW5zZm9ybUZpbGVTeW5jIiwiZmlsZSIsImJhc2VDb25maWciLCJjcmVhdGVCYXNlQ29uZmlnIiwic3djT3B0aW9ucyIsImNyZWF0ZUZpbGVDb25maWciLCJjb250ZW50IiwicmVhZEZpbGVTeW5jIiwiZnVsbFBhdGgiLCJlcnJvciIsIkVycm9yIiwibWVzc2FnZXMiLCJTdHJpbmciLCJjb25maWciLCJTa2lwcGVkIiwidHJhbnNmb3JtZWQiLCJmaWxlUGF0aCIsInJlbGF0aXZlUGF0aCIsImV4dE5hbWUiLCJleHRuYW1lIiwiZmlsZU5hbWUiLCJyZXBsYWNlIiwiUmVnRXhwIiwiU3VjY2VzcyIsImNvZGUiLCJzb3VyY2VDb250ZW50IiwicnVuVHJhbnNmb3JtIiwiZ2V0RmlsZUNvbnRlbnQiLCJza2lwcGVkIiwib3V0QmFzZURpciIsImdldE91dERpciIsIm91dHB1dFBhdGgiLCJqb2luIiwidW5kZWZpbmVkIiwib3V0cHV0RGlyIiwiZGlybmFtZSIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwib25JbmNyZW1lbnRhbEZpbGVFdmVudCIsImV2dCIsImV2ZW50TmFtZSIsIldhdGNoRXZlbnRzIiwidW5saW5rIiwiZGVsZXRlQ2FjaGVkT3V0cHV0cyIsImlzU291cmNlRmlsZSIsImZyZXNoQ29udGVudCIsImdldENvbnRlbnQiLCJjYWNoZWQiLCJvdXRwdXRDYWNoZSIsImdldCIsImludmFsaWRhdGVDb250ZW50Q2FjaGUiLCJyZXNvbHZlIiwiX2ZpbGUiLCJwcm90b3R5cGUiLCJuYW1lIiwia2V5Rm4iLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPQSxRQUFRLFVBQVU7QUFDekIsT0FBT0MsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLEtBQUssRUFBRUMsZUFBZSxRQUFRLDBCQUEwQjtBQUNqRSxTQUFTQyxLQUFLLFFBQVEsOEJBQThCO0FBQ3BELFNBQVNDLE9BQU8sUUFBUSxnQ0FBZ0M7QUFFeEQsU0FBU0MsRUFBRSxRQUFRLHFCQUFx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
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCwgUHJvamVjdEZpbGVFdmVudCwgVHNjb25maWcsIFdvcmtzcGFjZSB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuaW1wb3J0IHsgY2FjaGUsIGludmFsaWRhdGVDYWNoZSB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvY2FjaGluZ1wiO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tIFwiQGRlY29oZXJlL25leHVzL2RpYWdub3N0aWNzXCI7XG5pbXBvcnQgeyBtaXh3aXRoIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9leHRlbnNpYmlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IGlvIH0gZnJvbSBcIkBkZWNvaGVyZS9uZXh1cy9pb1wiO1xuaW1wb3J0IHsgdHlwZSBPcHRpb25zLCB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN5bmMgfSBmcm9tIFwiQHN3Yy9jb3JlXCI7XG5pbXBvcnQge1xuXHR0eXBlIEJ1aWxkVGFyZ2V0LFxuXHRCdWlsZFRhcmdldHMsXG5cdHR5cGUgVHJhbnNwaWxlVGFyZ2V0LFxufSBmcm9tIFwiLi4vdHlwZXMvYnVpbGQtdGFyZ2V0LnR5cGUuanNcIjtcbmltcG9ydCBcIi4uL2V4dGVuc2lvbnMvcHJvamVjdC5leHRlbnNpb25zLmpzXCI7XG5pbXBvcnQgeyBTd2NDb25maWdGYWN0b3J5IH0gZnJvbSBcIi4uL2ZhY3Rvcmllcy9zd2MtY29uZmlnLmZhY3RvcnkuanNcIjtcbmltcG9ydCB7IENhY2hlc091dHB1dHMgfSBmcm9tIFwiLi4vbWl4aW5zL2NhY2hlcy1vdXRwdXRzLm1peGluLmpzXCI7XG5pbXBvcnQgeyBJbmNyZW1lbnRhbFRyYW5zZm9ybSB9IGZyb20gXCIuLi9taXhpbnMvaW5jcmVtZW50YWwtdHJhbnNmb3JtLm1peGluLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFN3Y0NvbmZpZyB9IGZyb20gXCIuLi90eXBlcy9zd2MtY29uZmlnLnR5cGUuanNcIjtcbmltcG9ydCB7IFRyYW5zZm9ybVJlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzL3RyYW5zZm9ybS1yZXNwb25zZS5tb2RlbC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gXCIuLi90eXBlcy90cmFuc2Zvcm1lci50eXBlLmpzXCI7XG5cbmV4cG9ydCB0eXBlIFRyYW5zcGlsZU9wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xuXHR3b3Jrc3BhY2U/OiBXb3Jrc3BhY2U7XG5cdHByb2plY3RzPzogcmVhZG9ubHkgUHJvamVjdFtdO1xufTtcblxuQFRyYWNlXG5leHBvcnQgY2xhc3MgU3djVHJhbnNwaWxlclxuXHRleHRlbmRzIG1peHdpdGgoQ2FjaGVzT3V0cHV0cywgSW5jcmVtZW50YWxUcmFuc2Zvcm0pXG5cdGltcGxlbWVudHMgVHJhbnNmb3JtZXJcbntcblx0cHVibGljIGJ1aWxkVGFyZ2V0czogQnVpbGRUYXJnZXRbXSA9IFtCdWlsZFRhcmdldHMuZXM2LCBCdWlsZFRhcmdldHMuY29tbW9uanNdO1xuXHQjc3djQ29uZmlnRmFjdG9yeSA9IG5ldyBTd2NDb25maWdGYWN0b3J5KCk7XG5cdCN3b3Jrc3BhY2U/OiBXb3Jrc3BhY2U7XG5cblx0cHVibGljIHdhdGNoKHdvcmtzcGFjZTogV29ya3NwYWNlKTogdm9pZCB7XG5cdFx0dGhpcy4jd29ya3NwYWNlID0gd29ya3NwYWNlO1xuXHRcdHN1cGVyLndhdGNoKHdvcmtzcGFjZSk7XG5cdH1cblxuXHRwcml2YXRlIHdpdGhBbGlhc0NvbnRleHQob3B0aW9uczogVHJhbnNwaWxlT3B0aW9ucyA9IHt9KTogVHJhbnNwaWxlT3B0aW9ucyB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdC4uLm9wdGlvbnMsXG5cdFx0XHR3b3Jrc3BhY2U6IG9wdGlvbnMud29ya3NwYWNlID8/IHRoaXMuI3dvcmtzcGFjZSxcblx0XHR9O1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHRyYW5zZm9ybVByb2plY3QoXG5cdFx0cHJvamVjdEFycmF5TGlrZTogUHJvamVjdCB8IFByb2plY3RbXSxcblx0XHRmaWxlRmlsdGVyPzogKHByb2plY3Q6IFByb2plY3QpID0+IFByb21pc2U8RmlsZUV4W10+LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgcHJvamVjdHMgPSBBcnJheS5pc0FycmF5KHByb2plY3RBcnJheUxpa2UpID8gcHJvamVjdEFycmF5TGlrZSA6IFtwcm9qZWN0QXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdHByb2plY3RzLm1hcChhc3luYyAocHJvamVjdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB7IHRhcmdldHMsIGFsaWFzUGF0aHMgfSA9IHByb2plY3QuZ2V0Rm9yZ2VDb25maWd1cmF0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IHRyYW5zcGlsZVRhcmdldHMgPSB0YXJnZXRzLmZpbHRlcigoYnQpID0+IGJ0ICE9PSBCdWlsZFRhcmdldHMudHlwZXMpO1xuXHRcdFx0XHRpZiAodHJhbnNwaWxlVGFyZ2V0cy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzb3VyY2VGaWxlcyA9IGF3YWl0IChmaWxlRmlsdGVyPy4ocHJvamVjdCkgPz8gcHJvamVjdC5nZXRBbGxGaWxlcygpKTtcblx0XHRcdFx0Y29uc3QgdHNDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCk7XG5cdFx0XHRcdGNvbnN0IHVzZXJDb25maWcgPSBhd2FpdCBwcm9qZWN0LmdldFN3Y0NvbmZpZygpO1xuXHRcdFx0XHRjb25zdCByZXNwb25zZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcblx0XHRcdFx0XHR0cmFuc3BpbGVUYXJnZXRzLm1hcCgodGFyZ2V0KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy50cmFuc2Zvcm1UYXJnZXQoXG5cdFx0XHRcdFx0XHRcdHNvdXJjZUZpbGVzLFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHR0c0NvbmZpZyxcblx0XHRcdFx0XHRcdFx0XHR1c2VyQ29uZmlnLFxuXHRcdFx0XHRcdFx0XHRcdGFsaWFzUGF0aHMsXG5cdFx0XHRcdFx0XHRcdFx0d29ya3NwYWNlOiB0aGlzLiN3b3Jrc3BhY2UsXG5cdFx0XHRcdFx0XHRcdFx0cHJvamVjdHMsXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdHByb2plY3QsXG5cdFx0XHRcdFx0XHRcdG9uT3V0cHV0LFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KTtcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0Y29uc3QgZmxhdCA9IHJlc3BvbnNlcy5mbGF0KCk7XG5cdFx0dGhpcy5jYWNoZU91dHB1dHMoZmxhdCk7XG5cdFx0cmV0dXJuIGZsYXQ7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNmb3JtRmlsZShcblx0XHRmaWxlQXJyYXlMaWtlOiBGaWxlRXhbXSB8IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KSB7XG5cdFx0Y29uc3QgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVBcnJheUxpa2UpID8gZmlsZUFycmF5TGlrZSA6IFtmaWxlQXJyYXlMaWtlXTtcblx0XHRjb25zdCByZXNwb25zZXMgPSB0aGlzLnRyYW5zZm9ybVRhcmdldChmaWxlcywgYnVpbGRUYXJnZXQsIG9wdGlvbnMpO1xuXHRcdHJldHVybiByZXNwb25zZXM7XG5cdH1cblxuXHQvKipcblx0ICogU3luY2hyb25vdXMsIHNpbmdsZS1maWxlIHZhcmlhbnQgb2YgYHRyYW5zZm9ybUZpbGVgLlxuXHQgKiBSZWFkcyB0aGUgZmlsZSB3aXRoIGBmcy5yZWFkRmlsZVN5bmNgIGFuZCB0cmFuc3BpbGVzIHZpYSBgc3djLnRyYW5zZm9ybVN5bmNgLlxuXHQgKiBJbnRlbmRlZCBmb3IgY2FsbGVycyB0aGF0IGNhbm5vdCBhd2FpdCAoZS5nLiBOb2RlLmpzIGByZWdpc3Rlckhvb2tzYCBsb2FkIGhvb2spLlxuXHQgKi9cblx0cHVibGljIHRyYW5zZm9ybUZpbGVTeW5jKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM6IFRyYW5zcGlsZU9wdGlvbnMgPSB7fSxcblx0KTogVHJhbnNmb3JtUmVzcG9uc2Uge1xuXHRcdGNvbnN0IGJhc2VDb25maWcgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUJhc2VDb25maWcoXG5cdFx0XHRidWlsZFRhcmdldCxcblx0XHRcdHRoaXMud2l0aEFsaWFzQ29udGV4dChvcHRpb25zKSxcblx0XHQpO1xuXHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cblx0XHRsZXQgY29udGVudDogc3RyaW5nO1xuXHRcdHRyeSB7XG5cdFx0XHRjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGUuZnVsbFBhdGgsIFwidXRmOFwiKTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdHJhbnNmb3JtZWQgPSB0cmFuc2Zvcm1TeW5jKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybVN5bmMgcmV0dXJuZWQgbm8gcmVzdWx0XCIpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0cmV0dXJuIFRyYW5zZm9ybVJlc3BvbnNlLlN1Y2Nlc3Moe1xuXHRcdFx0XHRmaWxlLFxuXHRcdFx0XHRjb2RlOiB0cmFuc2Zvcm1lZC5jb2RlLFxuXHRcdFx0XHRzb3VyY2VDb250ZW50OiBjb250ZW50LFxuXHRcdFx0XHR0YXJnZXQ6IGJ1aWxkVGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdHJldHVybiBUcmFuc2Zvcm1SZXNwb25zZS5FcnJvcih7XG5cdFx0XHRcdGZpbGUsXG5cdFx0XHRcdG1lc3NhZ2VzOiBbU3RyaW5nKGVycm9yKV0sXG5cdFx0XHRcdGNvbmZpZzogc3djT3B0aW9ucyxcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgdHJhbnNmb3JtVGFyZ2V0KFxuXHRcdGZpbGVzOiBGaWxlRXhbXSxcblx0XHRidWlsZFRhcmdldDogVHJhbnNwaWxlVGFyZ2V0LFxuXHRcdG9wdGlvbnM/OiBUcmFuc3BpbGVPcHRpb25zLFxuXHRcdHByb2plY3Q/OiBQcm9qZWN0LFxuXHRcdG9uT3V0cHV0PzogKHJlc3BvbnNlOiBUcmFuc2Zvcm1SZXNwb25zZSkgPT4gdm9pZCxcblx0KSB7XG5cdFx0Y29uc3QgYmFzZUNvbmZpZyA9IHRoaXMuI3N3Y0NvbmZpZ0ZhY3RvcnkuY3JlYXRlQmFzZUNvbmZpZyhcblx0XHRcdGJ1aWxkVGFyZ2V0LFxuXHRcdFx0dGhpcy53aXRoQWxpYXNDb250ZXh0KG9wdGlvbnMpLFxuXHRcdCk7XG5cdFx0cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKFxuXHRcdFx0ZmlsZXMubWFwKChmaWxlKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHN3Y09wdGlvbnMgPSB0aGlzLiNzd2NDb25maWdGYWN0b3J5LmNyZWF0ZUZpbGVDb25maWcoZmlsZSwgYmFzZUNvbmZpZyk7XG5cdFx0XHRcdHJldHVybiB0aGlzLnJ1blRyYW5zZm9ybShmaWxlLCBidWlsZFRhcmdldCwgc3djT3B0aW9ucywgcHJvamVjdCwgb25PdXRwdXQpO1xuXHRcdFx0fSksXG5cdFx0KTtcblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuVHJhbnNmb3JtKFxuXHRcdGZpbGU6IEZpbGVFeCxcblx0XHR0YXJnZXQ6IEJ1aWxkVGFyZ2V0LFxuXHRcdHN3Y09wdGlvbnM6IE9wdGlvbnMsXG5cdFx0cHJvamVjdD86IFByb2plY3QsXG5cdFx0b25PdXRwdXQ/OiAocmVzcG9uc2U6IFRyYW5zZm9ybVJlc3BvbnNlKSA9PiB2b2lkLFxuXHQpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3BvbnNlPiB7XG5cdFx0Y29uc3QgY29udGVudCA9IGF3YWl0IHRoaXMuZ2V0RmlsZUNvbnRlbnQoZmlsZSk7XG5cdFx0aWYgKGNvbnRlbnQgPT09IFwiXCIpIHtcblx0XHRcdGNvbnN0IHNraXBwZWQgPSBUcmFuc2Zvcm1SZXNwb25zZS5Ta2lwcGVkKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFwiRmlsZSBpcyBlbXB0eVwiLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc2tpcHBlZCk7XG5cdFx0XHRyZXR1cm4gc2tpcHBlZDtcblx0XHR9XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZmlsZVBhdGggPSBmaWxlLnJlbGF0aXZlUGF0aDtcblx0XHRcdGNvbnN0IGV4dE5hbWUgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpO1xuXHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBmaWxlUGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7ZXh0TmFtZX0kYCksIFwiLmpzXCIpO1xuXHRcdFx0Y29uc3Qgb3V0QmFzZURpciA9IHByb2plY3Q/LmdldE91dERpcih0YXJnZXQpO1xuXHRcdFx0Y29uc3Qgb3V0cHV0UGF0aCA9IG91dEJhc2VEaXIgPyBwYXRoLmpvaW4ob3V0QmFzZURpciwgZmlsZU5hbWUpIDogdW5kZWZpbmVkO1xuXHRcdFx0Y29uc3Qgb3V0cHV0RGlyID0gb3V0cHV0UGF0aCA/IHBhdGguZGlybmFtZShvdXRwdXRQYXRoKSA6IHVuZGVmaW5lZDtcblx0XHRcdGNvbnN0IHRyYW5zZm9ybWVkID0gYXdhaXQgdHJhbnNmb3JtKGNvbnRlbnQsIHN3Y09wdGlvbnMpO1xuXHRcdFx0aWYgKHRyYW5zZm9ybWVkID09IG51bGwpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwic3djLnRyYW5zZm9ybSByZXR1cm5lZCBubyByZXN1bHRcIik7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHN1Y2Nlc3MgPSBUcmFuc2Zvcm1SZXNwb25zZS5TdWNjZXNzKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0Y29kZTogdHJhbnNmb3JtZWQuY29kZSxcblx0XHRcdFx0c291cmNlQ29udGVudDogY29udGVudCxcblx0XHRcdFx0dGFyZ2V0LFxuXHRcdFx0XHRmaWxlTmFtZSxcblx0XHRcdFx0b3V0cHV0RGlyLFxuXHRcdFx0XHRvdXRwdXRQYXRoLFxuXHRcdFx0XHRjb25maWc6IHN3Y09wdGlvbnMsXG5cdFx0XHRcdHByb2plY3QsXG5cdFx0XHR9KTtcblx0XHRcdG9uT3V0cHV0Py4oc3VjY2Vzcyk7XG5cdFx0XHRyZXR1cm4gc3VjY2Vzcztcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y29uc3QgZmFpbHVyZSA9IFRyYW5zZm9ybVJlc3BvbnNlLkVycm9yKHtcblx0XHRcdFx0ZmlsZSxcblx0XHRcdFx0bWVzc2FnZXM6IFtTdHJpbmcoZXJyb3IpXSxcblx0XHRcdFx0Y29uZmlnOiBzd2NPcHRpb25zLFxuXHRcdFx0XHRwcm9qZWN0LFxuXHRcdFx0fSk7XG5cdFx0XHRvbk91dHB1dD8uKGZhaWx1cmUpO1xuXHRcdFx0cmV0dXJuIGZhaWx1cmU7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIG9uSW5jcmVtZW50YWxGaWxlRXZlbnQoZXZ0OiBQcm9qZWN0RmlsZUV2ZW50KTogUHJvbWlzZTxUcmFuc2Zvcm1SZXNwb25zZVtdPiB7XG5cdFx0Y29uc3QgeyBmaWxlLCBwcm9qZWN0IH0gPSBldnQ7XG5cdFx0aWYgKGV2dC5ldmVudE5hbWUgPT09IGlvLldhdGNoRXZlbnRzLnVubGluaykge1xuXHRcdFx0dGhpcy5kZWxldGVDYWNoZWRPdXRwdXRzKGZpbGUuZnVsbFBhdGgpO1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHRpZiAoIXByb2plY3QuaXNTb3VyY2VGaWxlKGZpbGUpKSB7XG5cdFx0XHRyZXR1cm4gW107XG5cdFx0fVxuXHRcdGNvbnN0IGZyZXNoQ29udGVudCA9IGF3YWl0IGZpbGUuZ2V0Q29udGVudCgpO1xuXHRcdGNvbnN0IGNhY2hlZCA9IHRoaXMub3V0cHV0Q2FjaGUuZ2V0KGZpbGUuZnVsbFBhdGgpO1xuXHRcdGlmIChjYWNoZWQgIT0gbnVsbCAmJiBjYWNoZWRbMF0/LnNvdXJjZUNvbnRlbnQgPT09IGZyZXNoQ29udGVudCkge1xuXHRcdFx0cmV0dXJuIFtdO1xuXHRcdH1cblx0XHR0aGlzLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0cmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0LCAoKSA9PiBQcm9taXNlLnJlc29sdmUoW2ZpbGVdKSk7XG5cdH1cblxuXHRAaW52YWxpZGF0ZUNhY2hlKFN3Y1RyYW5zcGlsZXIucHJvdG90eXBlLmdldEZpbGVDb250ZW50LCB7XG5cdFx0bmFtZTogXCJGSUxFX0NPTlRFTlRcIixcblx0XHRrZXlGbjogKC4uLmFyZ3MpID0+IChhcmdzWzBdIGFzIEZpbGVFeCkuZnVsbFBhdGgsXG5cdH0pXG5cdHB1YmxpYyBpbnZhbGlkYXRlQ29udGVudENhY2hlKF9maWxlOiBGaWxlRXgpOiB2b2lkIHt9XG5cblx0QGNhY2hlKHsgbmFtZTogXCJGSUxFX0NPTlRFTlRcIiwga2V5Rm46ICguLi5hcmdzKSA9PiAoYXJnc1swXSBhcyBGaWxlRXgpLmZ1bGxQYXRoIH0pXG5cdHByaXZhdGUgYXN5bmMgZ2V0RmlsZUNvbnRlbnQoZmlsZTogRmlsZUV4KTogUHJvbWlzZTxzdHJpbmc+IHtcblx0XHRyZXR1cm4gYXdhaXQgZmlsZS5nZXRDb250ZW50KCk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJmcyIsInBhdGgiLCJjYWNoZSIsImludmFsaWRhdGVDYWNoZSIsIlRyYWNlIiwibWl4d2l0aCIsImlvIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtU3luYyIsIkJ1aWxkVGFyZ2V0cyIsIlN3Y0NvbmZpZ0ZhY3RvcnkiLCJDYWNoZXNPdXRwdXRzIiwiSW5jcmVtZW50YWxUcmFuc2Zvcm0iLCJUcmFuc2Zvcm1SZXNwb25zZSIsIlN3Y1RyYW5zcGlsZXIiLCJidWlsZFRhcmdldHMiLCJlczYiLCJjb21tb25qcyIsIndhdGNoIiwid29ya3NwYWNlIiwid2l0aEFsaWFzQ29udGV4dCIsIm9wdGlvbnMiLCJ0cmFuc2Zvcm1Qcm9qZWN0IiwicHJvamVjdEFycmF5TGlrZSIsImZpbGVGaWx0ZXIiLCJvbk91dHB1dCIsInByb2plY3RzIiwiQXJyYXkiLCJpc0FycmF5IiwicmVzcG9uc2VzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsInByb2plY3QiLCJ0YXJnZXRzIiwiYWxpYXNQYXRocyIsImdldEZvcmdlQ29uZmlndXJhdGlvbiIsInRyYW5zcGlsZVRhcmdldHMiLCJmaWx0ZXIiLCJidCIsInR5cGVzIiwibGVuZ3RoIiwic291cmNlRmlsZXMiLCJnZXRBbGxGaWxlcyIsInRzQ29uZmlnIiwiZ2V0VHNDb25maWciLCJ1c2VyQ29uZmlnIiwiZ2V0U3djQ29uZmlnIiwidGFyZ2V0IiwidHJhbnNmb3JtVGFyZ2V0IiwiZmxhdCIsImNhY2hlT3V0cHV0cyIsInRyYW5zZm9ybUZpbGUiLCJmaWxlQXJyYXlMaWtlIiwiYnVpbGRUYXJnZXQiLCJmaWxlcyIsInRyYW5zZm9ybUZpbGVTeW5jIiwiZmlsZSIsImJhc2VDb25maWciLCJjcmVhdGVCYXNlQ29uZmlnIiwic3djT3B0aW9ucyIsImNyZWF0ZUZpbGVDb25maWciLCJjb250ZW50IiwicmVhZEZpbGVTeW5jIiwiZnVsbFBhdGgiLCJlcnJvciIsIkVycm9yIiwibWVzc2FnZXMiLCJTdHJpbmciLCJjb25maWciLCJTa2lwcGVkIiwidHJhbnNmb3JtZWQiLCJmaWxlUGF0aCIsInJlbGF0aXZlUGF0aCIsImV4dE5hbWUiLCJleHRuYW1lIiwiZmlsZU5hbWUiLCJyZXBsYWNlIiwiUmVnRXhwIiwiU3VjY2VzcyIsImNvZGUiLCJzb3VyY2VDb250ZW50IiwicnVuVHJhbnNmb3JtIiwiZ2V0RmlsZUNvbnRlbnQiLCJza2lwcGVkIiwib3V0QmFzZURpciIsImdldE91dERpciIsIm91dHB1dFBhdGgiLCJqb2luIiwidW5kZWZpbmVkIiwib3V0cHV0RGlyIiwiZGlybmFtZSIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwib25JbmNyZW1lbnRhbEZpbGVFdmVudCIsImV2dCIsImV2ZW50TmFtZSIsIldhdGNoRXZlbnRzIiwidW5saW5rIiwiZGVsZXRlQ2FjaGVkT3V0cHV0cyIsImlzU291cmNlRmlsZSIsImZyZXNoQ29udGVudCIsImdldENvbnRlbnQiLCJjYWNoZWQiLCJvdXRwdXRDYWNoZSIsImdldCIsImludmFsaWRhdGVDb250ZW50Q2FjaGUiLCJyZXNvbHZlIiwiX2ZpbGUiLCJwcm90b3R5cGUiLCJuYW1lIiwia2V5Rm4iLCJhcmdzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPQSxRQUFRLFVBQVU7QUFDekIsT0FBT0MsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLEtBQUssRUFBRUMsZUFBZSxRQUFRLDBCQUEwQjtBQUNqRSxTQUFTQyxLQUFLLFFBQVEsOEJBQThCO0FBQ3BELFNBQVNDLE9BQU8sUUFBUSxnQ0FBZ0M7QUFFeEQsU0FBU0MsRUFBRSxRQUFRLHFCQUFxQjtBQUN4QyxTQUF1QkMsU0FBUyxFQUFFQyxhQUFhLFFBQVEsWUFBWTtBQUNuRSxTQUVDQyxZQUFZLFFBRU4sZ0NBQWdDO0FBQ3ZDLE9BQU8sc0NBQXNDO0FBQzdDLFNBQVNDLGdCQUFnQixRQUFRLHFDQUFxQztBQUN0RSxTQUFTQyxhQUFhLFFBQVEsb0NBQW9DO0FBQ2xFLFNBQVNDLG9CQUFvQixRQUFRLDJDQUEyQztBQUVoRixTQUFTQyxpQkFBaUIsUUFBUSx1Q0FBdUM7QUFZekUsT0FBTyxNQUFNQyxzQkFDSlQsUUFBUU0sZUFBZUM7SUFHeEJHLGVBQThCO1FBQUNOLGFBQWFPLEdBQUc7UUFBRVAsYUFBYVEsUUFBUTtLQUFDLENBQUM7SUFDL0UsQ0FBQSxnQkFBaUIsR0FBRyxJQUFJUCxtQkFBbUI7SUFDM0MsQ0FB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
@@ -4,4 +4,4 @@ export class SwcConfig {
4
4
  }
5
5
  }
6
6
 
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy9zd2MtY29uZmlnLnR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUc2NvbmZpZyB9IGZyb20gXCJAZGVjb2hlcmUvbWVzaFwiO1xuXG5leHBvcnQgdHlwZSBTd2NDb25maWdPcHRpb25zID0ge1xuXHRhbGlhc1BhdGhzPzogYm9vbGVhbjtcblx0dHNDb25maWc/OiBUc2NvbmZpZztcblx0dXNlckNvbmZpZz86IFN3Y0NvbmZpZztcbn07XG5cbmV4cG9ydCBjbGFzcyBTd2NDb25maWcge1xuXHRwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogUGFydGlhbDxTd2NDb25maWc+ID0ge30pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuXHR9XG59XG4iXSwibmFtZXMiOlsiU3djQ29uZmlnIiwiZGF0YSIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxNQUFNQTtJQUNaLFlBQW1CQyxPQUEyQixDQUFDLENBQUMsQ0FBRTtRQUNqREMsT0FBT0MsTUFBTSxDQUFDLElBQUksRUFBRUY7SUFDckI7QUFDRCJ9
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy90eXBlcy9zd2MtY29uZmlnLnR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBUc2NvbmZpZywgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5cbmV4cG9ydCB0eXBlIFN3Y0NvbmZpZ09wdGlvbnMgPSB7XG5cdGFsaWFzUGF0aHM/OiBib29sZWFuO1xuXHR0c0NvbmZpZz86IFRzY29uZmlnO1xuXHR1c2VyQ29uZmlnPzogU3djQ29uZmlnO1xuXHQvKiogV2hlbiBzZXQsIGNvbnZlbnRpb24gYWxpYXNlcyBjb21lIGZyb20gdGhlIGZ1bGwgd29ya3NwYWNlIHBhY2thZ2UgbGlzdC4gKi9cblx0d29ya3NwYWNlPzogV29ya3NwYWNlO1xuXHQvKiogRmFsbGJhY2sgcGFja2FnZSBsaXN0IHdoZW4gYHdvcmtzcGFjZWAgaXMgbm90IHNldCAoZS5nLiBhIHRyYW5zZm9ybSBiYXRjaCkuICovXG5cdHByb2plY3RzPzogcmVhZG9ubHkgUHJvamVjdFtdO1xufTtcblxuZXhwb3J0IGNsYXNzIFN3Y0NvbmZpZyB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBQYXJ0aWFsPFN3Y0NvbmZpZz4gPSB7fSkge1xuXHRcdE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG5cdH1cbn1cbiJdLCJuYW1lcyI6WyJTd2NDb25maWciLCJkYXRhIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFZQSxPQUFPLE1BQU1BO0lBQ1osWUFBbUJDLE9BQTJCLENBQUMsQ0FBQyxDQUFFO1FBQ2pEQyxPQUFPQyxNQUFNLENBQUMsSUFBSSxFQUFFRjtJQUNyQjtBQUNEIn0=
@@ -95,7 +95,8 @@ export function forgeBuild(options) {
95
95
  }
96
96
  const [response] = await transpiler.transformFile(file, BuildTargets.es6, {
97
97
  aliasPaths: true,
98
- tsConfig: project ? await project.getTsConfig() : undefined
98
+ tsConfig: project ? await project.getTsConfig() : undefined,
99
+ workspace: workspace ?? undefined
99
100
  });
100
101
  if (!response || response.outcome !== "success") return null;
101
102
  const result = {
@@ -111,4 +112,4 @@ export function forgeBuild(options) {
111
112
  };
112
113
  }
113
114
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHR9KTtcblx0XHRcdGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2Uub3V0Y29tZSAhPT0gXCJzdWNjZXNzXCIpIHJldHVybiBudWxsO1xuXG5cdFx0XHRjb25zdCByZXN1bHQgPSB7IGNvZGU6IHJlc3BvbnNlLmNvZGUsIG1hcDogbnVsbCB9O1xuXHRcdFx0dHJhbnNmb3JtQ2FjaGUuc2V0KGlkLCB7IGNvbnRlbnQ6IGNvZGUsIHJlc3VsdCB9KTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fSxcblx0fTtcbn1cbiJdLCJuYW1lcyI6WyJleGlzdHNTeW5jIiwicGF0aCIsIldvcmtzcGFjZUZhY3RvcnkiLCJGaWxlRXgiLCJDb25zb2xlQWRhcHRlciIsInNjcmliZSIsIlN3Y1RyYW5zcGlsZXIiLCJCdWlsZFRhcmdldHMiLCJXb3Jrc3BhY2VEZWZhdWx0cyIsIlNJTEVOVF9MRVZFTCIsIlBMVUdJTl9OQU1FIiwiVFNfRVhURU5TSU9OUyIsImZvcmdlQnVpbGQiLCJvcHRpb25zIiwiYnVpbGRDb25maWciLCJ3b3Jrc3BhY2VSb290IiwicHJvY2VzcyIsImN3ZCIsImxvZ0xldmVsIiwibG9nZ2VyRmFjdG9yeSIsImNvbmZpZ3VyZSIsImFkYXB0ZXIiLCJjdXN0b21MZXZlbHMiLCJzaWxlbnQiLCJsb2dnZXIiLCJza2lwQnVpbGQiLCJ0cmFuc3BpbGVyIiwid2FybWVkUHJvamVjdHMiLCJTZXQiLCJ0cmFuc2Zvcm1DYWNoZSIsIk1hcCIsIndvcmtzcGFjZSIsImluaXRXb3Jrc3BhY2UiLCJkZWJ1ZyIsImNyZWF0ZSIsInJvb3REaXIiLCJwcmVXYXJtUHJvamVjdCIsInByb2plY3QiLCJoYXMiLCJwcm9qZWN0RGlyZWN0b3J5IiwiYWRkIiwidHJhbnNmb3JtUHJvamVjdCIsInRoZW4iLCJuYW1lIiwiY2F0Y2giLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJlbmZvcmNlIiwiY29uZmlnUmVzb2x2ZWQiLCJyZXNvbHZlSWQiLCJzb3VyY2UiLCJpbXBvcnRlciIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsImltcG9ydGVyRGlyZWN0b3J5IiwiZGlybmFtZSIsIndpdGhvdXRFeHRlbnNpb24iLCJzbGljZSIsImNhbmRpZGF0ZXMiLCJtYXAiLCJleHQiLCJyZXNvbHZlIiwiZmluZCIsImMiLCJ3YXRjaENoYW5nZSIsImlkIiwiZmlsZSIsImZ1bGxQYXRoIiwiZGVsZXRlIiwiaW52YWxpZGF0ZUNvbnRlbnRDYWNoZSIsInRyYW5zZm9ybSIsImNvZGUiLCJpbmNsdWRlcyIsInRlc3QiLCJmaW5kUHJvamVjdCIsImNhY2hlZCIsImdldCIsInVuZGVmaW5lZCIsImNvbnRlbnQiLCJyZXN1bHQiLCJyZXNwb25zZSIsInRyYW5zZm9ybUZpbGUiLCJlczYiLCJhbGlhc1BhdGhzIiwidHNDb25maWciLCJnZXRUc0NvbmZpZyIsIm91dGNvbWUiLCJzZXQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxVQUFVO0FBQ3JDLE9BQU9DLFVBQVUsWUFBWTtBQUU3QixTQUFTQyxnQkFBZ0IsUUFBUSxpQkFBaUI7QUFDbEQsU0FBU0MsTUFBTSxRQUFRLHFCQUFxQjtBQUM1QyxTQUFTQyxjQUFjLEVBQUVDLE1BQU0sUUFBUSxtQkFBbUI7QUFDMUQsU0FBU0MsYUFBYSxRQUFRLGdDQUFnQztBQUM5RCxTQUFTQyxZQUFZLFFBQVEsZ0NBQWdDO0FBQzdELFNBQVNDLGlCQUFpQixRQUFRLHlCQUF5QjtBQUUzRCwrRUFBK0U7QUFDL0UsTUFBTUMsZUFBZTtBQUVyQixNQUFNQyxjQUFjO0FBQ3BCLE1BQU1D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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy92aXRlc3QvZm9yZ2UtYnVpbGQucGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0LCBXb3Jrc3BhY2UgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IFdvcmtzcGFjZUZhY3RvcnkgfSBmcm9tIFwiQGRlY29oZXJlL21lc2hcIjtcbmltcG9ydCB7IEZpbGVFeCB9IGZyb20gXCJAZGVjb2hlcmUvbmV4dXMvaW9cIjtcbmltcG9ydCB7IENvbnNvbGVBZGFwdGVyLCBzY3JpYmUgfSBmcm9tIFwiQGRlY29oZXJlL3NjcmliZVwiO1xuaW1wb3J0IHsgU3djVHJhbnNwaWxlciB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zd2MtdHJhbnNwaWxlci5qc1wiO1xuaW1wb3J0IHsgQnVpbGRUYXJnZXRzIH0gZnJvbSBcIi4uL3R5cGVzL2J1aWxkLXRhcmdldC50eXBlLmpzXCI7XG5pbXBvcnQgeyBXb3Jrc3BhY2VEZWZhdWx0cyB9IGZyb20gXCIuLi93b3Jrc3BhY2UuY29uZmlnLmpzXCI7XG5cbi8vIEFib3ZlIGZhdGFsICg2MCkgc28gYWxsIHN0YW5kYXJkIGxldmVscyBhcmUgbm9vcGVkIHdoZW4gbG9nTGV2ZWwgaXMgXCJzaWxlbnRcIlxuY29uc3QgU0lMRU5UX0xFVkVMID0gOTk5O1xuXG5jb25zdCBQTFVHSU5fTkFNRSA9IFwiZm9yZ2Utdml0ZXN0LXNvdXJjZVwiO1xuY29uc3QgVFNfRVhURU5TSU9OUyA9IFtcIi50c1wiLCBcIi50c3hcIiwgXCIubXRzXCJdO1xuXG5leHBvcnQgdHlwZSBGb3JnZUJ1aWxkT3B0aW9ucyA9IHtcblx0YnVpbGRDb25maWc/OiBzdHJpbmc7XG5cdGxvZ0xldmVsPzogc3RyaW5nO1xuXHR3b3Jrc3BhY2VSb290Pzogc3RyaW5nO1xuXHQvKiogU2tpcCB0aGUgYnVpbGQgcHJlLXdhcm0gZW50aXJlbHkgKGUuZy4gd2hlbiBhIHByZS1idWlsdCBhcnRpZmFjdCBpcyBhbHJlYWR5IG9uIGRpc2spLiAqL1xuXHRza2lwQnVpbGQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmdlQnVpbGQob3B0aW9ucz86IEZvcmdlQnVpbGRPcHRpb25zKSB7XG5cdGNvbnN0IGJ1aWxkQ29uZmlnID0gb3B0aW9ucz8uYnVpbGRDb25maWcgPz8gXCJkZWJ1Z1wiO1xuXHRjb25zdCB3b3Jrc3BhY2VSb290ID0gb3B0aW9ucz8ud29ya3NwYWNlUm9vdCA/PyBwcm9jZXNzLmN3ZCgpO1xuXHRjb25zdCBsb2dMZXZlbCA9IG9wdGlvbnM/LmxvZ0xldmVsID8/IFwiaW5mb1wiO1xuXHRjb25zdCBsb2dnZXJGYWN0b3J5ID0gc2NyaWJlLmNvbmZpZ3VyZSh7XG5cdFx0YWRhcHRlcjogbmV3IENvbnNvbGVBZGFwdGVyKCksXG5cdFx0b3B0aW9uczogeyBsb2dMZXZlbCwgY3VzdG9tTGV2ZWxzOiB7IHNpbGVudDogU0lMRU5UX0xFVkVMIH0gfSxcblx0fSk7XG5cdGNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoUExVR0lOX05BTUUpO1xuXG5cdGNvbnN0IHNraXBCdWlsZCA9IG9wdGlvbnM/LnNraXBCdWlsZCA/PyBmYWxzZTtcblxuXHRjb25zdCB0cmFuc3BpbGVyID0gbmV3IFN3Y1RyYW5zcGlsZXIoKTtcblx0Y29uc3Qgd2FybWVkUHJvamVjdHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblx0Y29uc3QgdHJhbnNmb3JtQ2FjaGUgPSBuZXcgTWFwPFxuXHRcdHN0cmluZyxcblx0XHR7IGNvbnRlbnQ6IHN0cmluZzsgcmVzdWx0OiB7IGNvZGU6IHN0cmluZzsgbWFwOiBudWxsIH0gfVxuXHQ+KCk7XG5cblx0bGV0IHdvcmtzcGFjZTogV29ya3NwYWNlIHwgbnVsbCA9IG51bGw7XG5cblx0Y29uc3QgaW5pdFdvcmtzcGFjZSA9IGFzeW5jICgpID0+IHtcblx0XHRpZiAod29ya3NwYWNlICE9PSBudWxsKSByZXR1cm47XG5cdFx0bG9nZ2VyLmRlYnVnKFxuXHRcdFx0YExvYWRpbmcgRm9yZ2Ugd29ya3NwYWNlIChidWlsZENvbmZpZzogJHtidWlsZENvbmZpZ30sIHdvcmtzcGFjZVJvb3Q6ICR7d29ya3NwYWNlUm9vdH0pYCxcblx0XHQpO1xuXHRcdHdvcmtzcGFjZSA9IGF3YWl0IFdvcmtzcGFjZUZhY3RvcnkuY3JlYXRlKHtcblx0XHRcdC4uLldvcmtzcGFjZURlZmF1bHRzLFxuXHRcdFx0cm9vdERpcjogd29ya3NwYWNlUm9vdCxcblx0XHR9KTtcblx0fTtcblxuXHRjb25zdCBwcmVXYXJtUHJvamVjdCA9IChwcm9qZWN0OiBQcm9qZWN0KSA9PiB7XG5cdFx0aWYgKHdhcm1lZFByb2plY3RzLmhhcyhwcm9qZWN0LnByb2plY3REaXJlY3RvcnkpKSByZXR1cm47XG5cdFx0d2FybWVkUHJvamVjdHMuYWRkKHByb2plY3QucHJvamVjdERpcmVjdG9yeSk7XG5cdFx0dm9pZCB0cmFuc3BpbGVyXG5cdFx0XHQudHJhbnNmb3JtUHJvamVjdChwcm9qZWN0KVxuXHRcdFx0LnRoZW4oKCkgPT4gbG9nZ2VyLmRlYnVnKGBQcmUtd2FybSBjb21wbGV0ZSBmb3IgJHtwcm9qZWN0Lm5hbWV9YCkpXG5cdFx0XHQuY2F0Y2goKGVycjogRXJyb3IpID0+XG5cdFx0XHRcdGxvZ2dlci5lcnJvcihgUHJlLXdhcm0gZXJyb3IgZm9yICR7cHJvamVjdC5uYW1lfTogJHtlcnIubWVzc2FnZX1gKSxcblx0XHRcdCk7XG5cdH07XG5cblx0cmV0dXJuIHtcblx0XHRuYW1lOiBQTFVHSU5fTkFNRSxcblx0XHRlbmZvcmNlOiBcInByZVwiIGFzIGNvbnN0LFxuXHRcdGNvbmZpZ1Jlc29sdmVkKCk6IHZvaWQge1xuXHRcdFx0bG9nZ2VyLmRlYnVnKFwiUGx1Z2luIGxvYWRlZFwiKTtcblx0XHR9LFxuXHRcdHJlc29sdmVJZChzb3VyY2U6IHN0cmluZywgaW1wb3J0ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IG51bGwge1xuXHRcdFx0aWYgKGltcG9ydGVyICE9IG51bGwgJiYgc291cmNlLmVuZHNXaXRoKFwiLmpzXCIpICYmIHNvdXJjZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuXHRcdFx0XHRjb25zdCBpbXBvcnRlckRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShpbXBvcnRlcik7XG5cdFx0XHRcdGNvbnN0IHdpdGhvdXRFeHRlbnNpb24gPSBzb3VyY2Uuc2xpY2UoMCwgLTMpO1xuXHRcdFx0XHRjb25zdCBjYW5kaWRhdGVzID0gVFNfRVhURU5TSU9OUy5tYXAoKGV4dCkgPT5cblx0XHRcdFx0XHRwYXRoLnJlc29sdmUoaW1wb3J0ZXJEaXJlY3RvcnksIGAke3dpdGhvdXRFeHRlbnNpb259JHtleHR9YCksXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0cmV0dXJuIGNhbmRpZGF0ZXMuZmluZCgoYykgPT4gZXhpc3RzU3luYyhjKSkgPz8gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSxcblx0XHR3YXRjaENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0XHRjb25zdCBmaWxlID0gbmV3IEZpbGVFeCh7IGZ1bGxQYXRoOiBpZCB9KTtcblx0XHRcdHRyYW5zZm9ybUNhY2hlLmRlbGV0ZShpZCk7XG5cdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0fSxcblx0XHRhc3luYyB0cmFuc2Zvcm0oXG5cdFx0XHRjb2RlOiBzdHJpbmcsXG5cdFx0XHRpZDogc3RyaW5nLFxuXHRcdCk6IFByb21pc2U8eyBjb2RlOiBzdHJpbmc7IG1hcDogc3RyaW5nIHwgbnVsbCB9IHwgbnVsbD4ge1xuXHRcdFx0aWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpIHx8ICEvWy5dKHRzfHRzeHxtdHN8Y3RzKSQvLnRlc3QoaWQpKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRhd2FpdCBpbml0V29ya3NwYWNlKCk7XG5cdFx0XHRjb25zdCBwcm9qZWN0ID0gYXdhaXQgd29ya3NwYWNlPy5maW5kUHJvamVjdChpZCwgYnVpbGRDb25maWcpO1xuXG5cdFx0XHRpZiAocHJvamVjdCAhPSBudWxsICYmICFza2lwQnVpbGQpIHtcblx0XHRcdFx0cHJlV2FybVByb2plY3QocHJvamVjdCk7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGNhY2hlZCA9IHRyYW5zZm9ybUNhY2hlLmdldChpZCk7XG5cdFx0XHRpZiAoY2FjaGVkICE9PSB1bmRlZmluZWQgJiYgY2FjaGVkLmNvbnRlbnQgPT09IGNvZGUpIHtcblx0XHRcdFx0cmV0dXJuIGNhY2hlZC5yZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGZpbGUgPSBuZXcgRmlsZUV4KHsgZnVsbFBhdGg6IGlkLCBjb250ZW50OiBjb2RlIH0pO1xuXHRcdFx0aWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdC8vIENvbnRlbnQgY2hhbmdlZCBmb3IgYSBwcmV2aW91c2x5LXNlZW4gZmlsZSDigJQgaW52YWxpZGF0ZSB0aGUgdHJhbnNwaWxlcidzXG5cdFx0XHRcdC8vIEZJTEVfQ09OVEVOVCBjYWNoZSBzbyB0aGUgZnJlc2ggY29udGVudCBmcm9tIFZpdGUgaXMgdXNlZC5cblx0XHRcdFx0Ly8gVGhlIFZTIENvZGUgVml0ZXN0IGV4dGVuc2lvbiBkaXNhYmxlcyBWaXRlJ3MgY2hva2lkYXIgd2F0Y2hlclxuXHRcdFx0XHQvLyAoc2VydmVyLndhdGNoOiBudWxsKSBhbmQgZHJpdmVzIHJlLXJ1bnMgdmlhIHZpdGVzdC53YXRjaGVyLm9uRmlsZUNoYW5nZSgpLFxuXHRcdFx0XHQvLyBieXBhc3Npbmcgd2F0Y2hDaGFuZ2UgZW50aXJlbHkg4oCUIHNvIHdlIGNhbm5vdCByZWx5IG9uIHdhdGNoQ2hhbmdlIGFsb25lLlxuXHRcdFx0XHR0cmFuc3BpbGVyLmludmFsaWRhdGVDb250ZW50Q2FjaGUoZmlsZSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBbcmVzcG9uc2VdID0gYXdhaXQgdHJhbnNwaWxlci50cmFuc2Zvcm1GaWxlKGZpbGUsIEJ1aWxkVGFyZ2V0cy5lczYsIHtcblx0XHRcdFx0YWxpYXNQYXRoczogdHJ1ZSxcblx0XHRcdFx0dHNDb25maWc6IHByb2plY3QgPyBhd2FpdCBwcm9qZWN0LmdldFRzQ29uZmlnKCkgOiB1bmRlZmluZWQsXG5cdFx0XHRcdHdvcmtzcGFjZTogd29ya3NwYWNlID8/IHVuZGVmaW5lZCxcblx0XHRcdH0pO1xuXHRcdFx0aWYgKCFyZXNwb25zZSB8fCByZXNwb25zZS5vdXRjb21lICE9PSBcInN1Y2Nlc3NcIikgcmV0dXJuIG51bGw7XG5cblx0XHRcdGNvbnN0IHJlc3VsdCA9IHsgY29kZTogcmVzcG9uc2UuY29kZSwgbWFwOiBudWxsIH07XG5cdFx0XHR0cmFuc2Zvcm1DYWNoZS5zZXQoaWQsIHsgY29udGVudDogY29kZSwgcmVzdWx0IH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHR9O1xufVxuIl0sIm5hbWVzIjpbImV4aXN0c1N5bmMiLCJwYXRoIiwiV29ya3NwYWNlRmFjdG9yeSIsIkZpbGVFeCIsIkNvbnNvbGVBZGFwdGVyIiwic2NyaWJlIiwiU3djVHJhbnNwaWxlciIsIkJ1aWxkVGFyZ2V0cyIsIldvcmtzcGFjZURlZmF1bHRzIiwiU0lMRU5UX0xFVkVMIiwiUExVR0lOX05BTUUiLCJUU19FWFRFTlNJT05TIiwiZm9yZ2VCdWlsZCIsIm9wdGlvbnMiLCJidWlsZENvbmZpZyIsIndvcmtzcGFjZVJvb3QiLCJwcm9jZXNzIiwiY3dkIiwibG9nTGV2ZWwiLCJsb2dnZXJGYWN0b3J5IiwiY29uZmlndXJlIiwiYWRhcHRlciIsImN1c3RvbUxldmVscyIsInNpbGVudCIsImxvZ2dlciIsInNraXBCdWlsZCIsInRyYW5zcGlsZXIiLCJ3YXJtZWRQcm9qZWN0cyIsIlNldCIsInRyYW5zZm9ybUNhY2hlIiwiTWFwIiwid29ya3NwYWNlIiwiaW5pdFdvcmtzcGFjZSIsImRlYnVnIiwiY3JlYXRlIiwicm9vdERpciIsInByZVdhcm1Qcm9qZWN0IiwicHJvamVjdCIsImhhcyIsInByb2plY3REaXJlY3RvcnkiLCJhZGQiLCJ0cmFuc2Zvcm1Qcm9qZWN0IiwidGhlbiIsIm5hbWUiLCJjYXRjaCIsImVyciIsImVycm9yIiwibWVzc2FnZSIsImVuZm9yY2UiLCJjb25maWdSZXNvbHZlZCIsInJlc29sdmVJZCIsInNvdXJjZSIsImltcG9ydGVyIiwiZW5kc1dpdGgiLCJzdGFydHNXaXRoIiwiaW1wb3J0ZXJEaXJlY3RvcnkiLCJkaXJuYW1lIiwid2l0aG91dEV4dGVuc2lvbiIsInNsaWNlIiwiY2FuZGlkYXRlcyIsIm1hcCIsImV4dCIsInJlc29sdmUiLCJmaW5kIiwiYyIsIndhdGNoQ2hhbmdlIiwiaWQiLCJmaWxlIiwiZnVsbFBhdGgiLCJkZWxldGUiLCJpbnZhbGlkYXRlQ29udGVudENhY2hlIiwidHJhbnNmb3JtIiwiY29kZSIsImluY2x1ZGVzIiwidGVzdCIsImZpbmRQcm9qZWN0IiwiY2FjaGVkIiwiZ2V0IiwidW5kZWZpbmVkIiwiY29udGVudCIsInJlc3VsdCIsInJlc3BvbnNlIiwidHJhbnNmb3JtRmlsZSIsImVzNiIsImFsaWFzUGF0aHMiLCJ0c0NvbmZpZyIsImdldFRzQ29uZmlnIiwib3V0Y29tZSIsInNldCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLFVBQVU7QUFDckMsT0FBT0MsVUFBVSxZQUFZO0FBRTdCLFNBQVNDLGdCQUFnQixRQUFRLGlCQUFpQjtBQUNsRCxTQUFTQyxNQUFNLFFBQVEscUJBQXFCO0FBQzVDLFNBQVNDLGNBQWMsRUFBRUMsTUFBTSxRQUFRLG1CQUFtQjtBQUMxRCxTQUFTQyxhQUFhLFFBQVEsZ0NBQWdDO0FBQzlELFNBQVNDLFlBQVksUUFBUSxnQ0FBZ0M7QUFDN0QsU0FBU0MsaUJBQWlCLFFBQVEseUJBQXlCO0FBRTNELCtFQUErRTtB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
@@ -0,0 +1,43 @@
1
+ import path from "node:path";
2
+ /**
3
+ * Convention: each workspace package name maps to its source entry (`package.json` main)
4
+ * and a `name/*` subpath to that entry's directory. Paths are relative to `baseUrl`
5
+ * for SWC `jsc.paths`.
6
+ */ export function buildWorkspaceAliasPaths(projects, baseUrl) {
7
+ const aliases = {};
8
+ const resolvedBase = path.resolve(baseUrl);
9
+ for (const project of projects){
10
+ const name = project.name;
11
+ if (name.length === 0) continue;
12
+ const entry = path.resolve(project.getSourceEntryPath());
13
+ aliases[name] = [
14
+ toPosixRelative(resolvedBase, entry)
15
+ ];
16
+ const sourceDir = path.dirname(entry);
17
+ aliases[`${name}/*`] = [
18
+ `${toPosixRelative(resolvedBase, sourceDir)}/*`
19
+ ];
20
+ }
21
+ return aliases;
22
+ }
23
+ /** `tsconfig` `paths` override convention entries for the same key. */ export function mergeAliasPaths(convention, tsconfigPaths) {
24
+ if (tsconfigPaths == null) return convention;
25
+ return {
26
+ ...convention,
27
+ ...tsconfigPaths
28
+ };
29
+ }
30
+ export function resolveAliasProjects(workspace, projects) {
31
+ if (workspace != null) {
32
+ const configuration = projects?.[0]?.configuration.name ?? "debug";
33
+ return workspace.getProjects(configuration);
34
+ }
35
+ return projects ?? [];
36
+ }
37
+ function toPosixRelative(from, to) {
38
+ const relative = path.relative(from, to);
39
+ if (relative === "") return ".";
40
+ return relative.split(path.sep).join("/");
41
+ }
42
+
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2RlY29oZXJlL2RlY29oZXJlL3Byb2plY3RzL2ZvcmdlL3NyYy93b3Jrc3BhY2UtcGFja2FnZS1hbGlhc2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCwgV29ya3NwYWNlIH0gZnJvbSBcIkBkZWNvaGVyZS9tZXNoXCI7XG5cbi8qKlxuICogQ29udmVudGlvbjogZWFjaCB3b3Jrc3BhY2UgcGFja2FnZSBuYW1lIG1hcHMgdG8gaXRzIHNvdXJjZSBlbnRyeSAoYHBhY2thZ2UuanNvbmAgbWFpbilcbiAqIGFuZCBhIGBuYW1lLypgIHN1YnBhdGggdG8gdGhhdCBlbnRyeSdzIGRpcmVjdG9yeS4gUGF0aHMgYXJlIHJlbGF0aXZlIHRvIGBiYXNlVXJsYFxuICogZm9yIFNXQyBganNjLnBhdGhzYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkV29ya3NwYWNlQWxpYXNQYXRocyhcblx0cHJvamVjdHM6IHJlYWRvbmx5IFByb2plY3RbXSxcblx0YmFzZVVybDogc3RyaW5nLFxuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+IHtcblx0Y29uc3QgYWxpYXNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG5cdGNvbnN0IHJlc29sdmVkQmFzZSA9IHBhdGgucmVzb2x2ZShiYXNlVXJsKTtcblxuXHRmb3IgKGNvbnN0IHByb2plY3Qgb2YgcHJvamVjdHMpIHtcblx0XHRjb25zdCBuYW1lID0gcHJvamVjdC5uYW1lO1xuXHRcdGlmIChuYW1lLmxlbmd0aCA9PT0gMCkgY29udGludWU7XG5cblx0XHRjb25zdCBlbnRyeSA9IHBhdGgucmVzb2x2ZShwcm9qZWN0LmdldFNvdXJjZUVudHJ5UGF0aCgpKTtcblx0XHRhbGlhc2VzW25hbWVdID0gW3RvUG9zaXhSZWxhdGl2ZShyZXNvbHZlZEJhc2UsIGVudHJ5KV07XG5cblx0XHRjb25zdCBzb3VyY2VEaXIgPSBwYXRoLmRpcm5hbWUoZW50cnkpO1xuXHRcdGFsaWFzZXNbYCR7bmFtZX0vKmBdID0gW2Ake3RvUG9zaXhSZWxhdGl2ZShyZXNvbHZlZEJhc2UsIHNvdXJjZURpcil9LypgXTtcblx0fVxuXG5cdHJldHVybiBhbGlhc2VzO1xufVxuXG4vKiogYHRzY29uZmlnYCBgcGF0aHNgIG92ZXJyaWRlIGNvbnZlbnRpb24gZW50cmllcyBmb3IgdGhlIHNhbWUga2V5LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQWxpYXNQYXRocyhcblx0Y29udmVudGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+LFxuXHR0c2NvbmZpZ1BhdGhzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gfCB1bmRlZmluZWQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4ge1xuXHRpZiAodHNjb25maWdQYXRocyA9PSBudWxsKSByZXR1cm4gY29udmVudGlvbjtcblx0cmV0dXJuIHsgLi4uY29udmVudGlvbiwgLi4udHNjb25maWdQYXRocyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUFsaWFzUHJvamVjdHMoXG5cdHdvcmtzcGFjZTogV29ya3NwYWNlIHwgdW5kZWZpbmVkLFxuXHRwcm9qZWN0czogcmVhZG9ubHkgUHJvamVjdFtdIHwgdW5kZWZpbmVkLFxuKTogcmVhZG9ubHkgUHJvamVjdFtdIHtcblx0aWYgKHdvcmtzcGFjZSAhPSBudWxsKSB7XG5cdFx0Y29uc3QgY29uZmlndXJhdGlvbiA9IHByb2plY3RzPy5bMF0/LmNvbmZpZ3VyYXRpb24ubmFtZSA/PyBcImRlYnVnXCI7XG5cdFx0cmV0dXJuIHdvcmtzcGFjZS5nZXRQcm9qZWN0cyhjb25maWd1cmF0aW9uKTtcblx0fVxuXHRyZXR1cm4gcHJvamVjdHMgPz8gW107XG59XG5cbmZ1bmN0aW9uIHRvUG9zaXhSZWxhdGl2ZShmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRjb25zdCByZWxhdGl2ZSA9IHBhdGgucmVsYXRpdmUoZnJvbSwgdG8pO1xuXHRpZiAocmVsYXRpdmUgPT09IFwiXCIpIHJldHVybiBcIi5cIjtcblx0cmV0dXJuIHJlbGF0aXZlLnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwiYnVpbGRXb3Jrc3BhY2VBbGlhc1BhdGhzIiwicHJvamVjdHMiLCJiYXNlVXJsIiwiYWxpYXNlcyIsInJlc29sdmVkQmFzZSIsInJlc29sdmUiLCJwcm9qZWN0IiwibmFtZSIsImxlbmd0aCIsImVudHJ5IiwiZ2V0U291cmNlRW50cnlQYXRoIiwidG9Qb3NpeFJlbGF0aXZlIiwic291cmNlRGlyIiwiZGlybmFtZSIsIm1lcmdlQWxpYXNQYXRocyIsImNvbnZlbnRpb24iLCJ0c2NvbmZpZ1BhdGhzIiwicmVzb2x2ZUFsaWFzUHJvamVjdHMiLCJ3b3Jrc3BhY2UiLCJjb25maWd1cmF0aW9uIiwiZ2V0UHJvamVjdHMiLCJmcm9tIiwidG8iLCJyZWxhdGl2ZSIsInNwbGl0Iiwic2VwIiwiam9pbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsVUFBVSxZQUFZO0FBRzdCOzs7O0NBSUMsR0FDRCxPQUFPLFNBQVNDLHlCQUNmQyxRQUE0QixFQUM1QkMsT0FBZTtJQUVmLE1BQU1DLFVBQW9DLENBQUM7SUFDM0MsTUFBTUMsZUFBZUwsS0FBS00sT0FBTyxDQUFDSDtJQUVsQyxLQUFLLE1BQU1JLFdBQVdMLFNBQVU7UUFDL0IsTUFBTU0sT0FBT0QsUUFBUUMsSUFBSTtRQUN6QixJQUFJQSxLQUFLQyxNQUFNLEtBQUssR0FBRztRQUV2QixNQUFNQyxRQUFRVixLQUFLTSxPQUFPLENBQUNDLFFBQVFJLGtCQUFrQjtRQUNyRFAsT0FBTyxDQUFDSSxLQUFLLEdBQUc7WUFBQ0ksZ0JBQWdCUCxjQUFjSztTQUFPO1FBRXRELE1BQU1HLFlBQVliLEtBQUtjLE9BQU8sQ0FBQ0o7UUFDL0JOLE9BQU8sQ0FBQyxHQUFHSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUc7WUFBQyxHQUFHSSxnQkFBZ0JQLGNBQWNRLFdBQVcsRUFBRSxDQUFDO1NBQUM7SUFDekU7SUFFQSxPQUFPVDtBQUNSO0FBRUEscUVBQXFFLEdBQ3JFLE9BQU8sU0FBU1csZ0JBQ2ZDLFVBQW9DLEVBQ3BDQyxhQUFtRDtJQUVuRCxJQUFJQSxpQkFBaUIsTUFBTSxPQUFPRDtJQUNsQyxPQUFPO1FBQUUsR0FBR0EsVUFBVTtRQUFFLEdBQUdDLGFBQWE7SUFBQztBQUMxQztBQUVBLE9BQU8sU0FBU0MscUJBQ2ZDLFNBQWdDLEVBQ2hDakIsUUFBd0M7SUFFeEMsSUFBSWlCLGFBQWEsTUFBTTtRQUN0QixNQUFNQyxnQkFBZ0JsQixVQUFVLENBQUMsRUFBRSxFQUFFa0IsY0FBY1osUUFBUTtRQUMzRCxPQUFPVyxVQUFVRSxXQUFXLENBQUNEO0lBQzlCO0lBQ0EsT0FBT2xCLFlBQVksRUFBRTtBQUN0QjtBQUVBLFNBQVNVLGdCQUFnQlUsSUFBWSxFQUFFQyxFQUFVO0lBQ2hELE1BQU1DLFdBQVd4QixLQUFLd0IsUUFBUSxDQUFDRixNQUFNQztJQUNyQyxJQUFJQyxhQUFhLElBQUksT0FBTztJQUM1QixPQUFPQSxTQUFTQyxLQUFLLENBQUN6QixLQUFLMEIsR0FBRyxFQUFFQyxJQUFJLENBQUM7QUFDdEMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decohere/forge",
3
- "version": "0.0.1-dev.59",
3
+ "version": "0.0.1-dev.61",
4
4
  "description": "TypeScript monorepo build system — zero config, fast compilation, streamlined developer workflow",
5
5
  "keywords": [
6
6
  "typescript",
@@ -29,10 +29,10 @@
29
29
  "test": "echo \"Error: no test specified\" && exit 1"
30
30
  },
31
31
  "dependencies": {
32
- "@decohere/crucible": "0.0.1-dev.59",
33
- "@decohere/mesh": "0.0.1-dev.59",
34
- "@decohere/nexus": "0.0.1-dev.59",
35
- "@decohere/scribe": "0.0.1-dev.59",
32
+ "@decohere/crucible": "0.0.1-dev.61",
33
+ "@decohere/mesh": "0.0.1-dev.61",
34
+ "@decohere/nexus": "0.0.1-dev.61",
35
+ "@decohere/scribe": "0.0.1-dev.61",
36
36
  "@swc/core": "^1.11.11",
37
37
  "async": "^3.2.6",
38
38
  "parse-imports": "^2.2.1",
@@ -19,6 +19,12 @@ export declare class SwcConfigFactory {
19
19
  * - `jsc.baseUrl` set to a relative path (SWC requires an absolute path)
20
20
  */
21
21
  validate(options: Options): void;
22
+ /**
23
+ * Convention aliases from workspace packages, then `tsconfig` `paths` overrides.
24
+ * Empty maps are omitted so SWC is not given a useless `jsc.paths`.
25
+ */
26
+ private buildAliasPaths;
27
+ private resolveAliasBaseUrl;
22
28
  /** Resolves tsconfig baseUrl to an absolute path. Returns undefined if not set. */
23
29
  private static getBaseUrl;
24
30
  }
@@ -1,8 +1,7 @@
1
- import type { Project } from "@decohere/mesh";
1
+ import type { Project, ProjectFileEvent, Tsconfig, Workspace } from "@decohere/mesh";
2
2
  import type { FileEx } from "@decohere/nexus/io";
3
3
  import { type BuildTarget, type TranspileTarget } from "../types/build-target.type.js";
4
4
  import "../extensions/project.extensions.js";
5
- import type { ProjectFileEvent, Tsconfig } from "@decohere/mesh";
6
5
  import { CachesOutputs } from "../mixins/caches-outputs.mixin.js";
7
6
  import { IncrementalTransform } from "../mixins/incremental-transform.mixin.js";
8
7
  import type { SwcConfig } from "../types/swc-config.type.js";
@@ -12,11 +11,15 @@ export type TranspileOptions = {
12
11
  aliasPaths?: boolean;
13
12
  tsConfig?: Tsconfig;
14
13
  userConfig?: SwcConfig;
14
+ workspace?: Workspace;
15
+ projects?: readonly Project[];
15
16
  };
16
17
  declare const SwcTranspiler_base: abstract new (...args: unknown[]) => CachesOutputs & IncrementalTransform;
17
18
  export declare class SwcTranspiler extends SwcTranspiler_base implements Transformer {
18
19
  #private;
19
20
  buildTargets: BuildTarget[];
21
+ watch(workspace: Workspace): void;
22
+ private withAliasContext;
20
23
  transformProject(projectArrayLike: Project | Project[], fileFilter?: (project: Project) => Promise<FileEx[]>, onOutput?: (response: TransformResponse) => void): Promise<TransformResponse[]>;
21
24
  transformFile(fileArrayLike: FileEx[] | FileEx, buildTarget: TranspileTarget, options?: TranspileOptions): Promise<TransformResponse[]>;
22
25
  /**
@@ -1,8 +1,12 @@
1
- import type { Tsconfig } from "@decohere/mesh";
1
+ import type { Project, Tsconfig, Workspace } from "@decohere/mesh";
2
2
  export type SwcConfigOptions = {
3
3
  aliasPaths?: boolean;
4
4
  tsConfig?: Tsconfig;
5
5
  userConfig?: SwcConfig;
6
+ /** When set, convention aliases come from the full workspace package list. */
7
+ workspace?: Workspace;
8
+ /** Fallback package list when `workspace` is not set (e.g. a transform batch). */
9
+ projects?: readonly Project[];
6
10
  };
7
11
  export declare class SwcConfig {
8
12
  constructor(data?: Partial<SwcConfig>);
@@ -0,0 +1,10 @@
1
+ import type { Project, Workspace } from "@decohere/mesh";
2
+ /**
3
+ * Convention: each workspace package name maps to its source entry (`package.json` main)
4
+ * and a `name/*` subpath to that entry's directory. Paths are relative to `baseUrl`
5
+ * for SWC `jsc.paths`.
6
+ */
7
+ export declare function buildWorkspaceAliasPaths(projects: readonly Project[], baseUrl: string): Record<string, string[]>;
8
+ /** `tsconfig` `paths` override convention entries for the same key. */
9
+ export declare function mergeAliasPaths(convention: Record<string, string[]>, tsconfigPaths: Record<string, string[]> | undefined): Record<string, string[]>;
10
+ export declare function resolveAliasProjects(workspace: Workspace | undefined, projects: readonly Project[] | undefined): readonly Project[];