@mnaoumov/typescript-dev-toolkit 3.4.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,6 +79,8 @@ var import_typescript = require('typescript');
79
79
  var import_npm = require('./npm.cjs');
80
80
  var import_repo_paths = require('./repo-paths.cjs');
81
81
  const DEFAULT_VALIDATE_DEPENDENCIES_FOLDERS = [import_repo_paths.RepoPaths.DistLib, "bin"];
82
+ const ELECTRON_BUILTIN_PACKAGE_NAMES = /* @__PURE__ */ new Set(["electron", "original-fs"]);
83
+ const NODE_SCHEME = "node:";
82
84
  const DECLARATION_FILE_PATTERN = /\.d\.(?:cts|mts|ts)$/u;
83
85
  const SCANNED_FILE_PATTERN = /\.(?:cjs|cts|js|mjs|mts|ts)$/u;
84
86
  const TYPES_SCOPE = "@types/";
@@ -129,12 +131,13 @@ function getImportSpecifiers(sourceText) {
129
131
  return importedFiles.map((importedFile) => importedFile.fileName);
130
132
  }
131
133
  function getPackageName(specifier) {
132
- if (specifier.startsWith(".") || specifier.startsWith("/") || (0, import_node_module.isBuiltin)(specifier)) {
134
+ if (specifier.startsWith(".") || specifier.startsWith("/") || specifier.startsWith(NODE_SCHEME) || (0, import_node_module.isBuiltin)(specifier)) {
133
135
  return null;
134
136
  }
135
137
  const segments = specifier.split("/");
136
138
  const segmentCount = specifier.startsWith("@") ? SCOPED_PACKAGE_NAME_SEGMENT_COUNT : 1;
137
- return segments.slice(0, segmentCount).join("/");
139
+ const packageName = segments.slice(0, segmentCount).join("/");
140
+ return ELECTRON_BUILTIN_PACKAGE_NAMES.has(packageName) ? null : packageName;
138
141
  }
139
142
  function getTypesPackageName(packageName) {
140
143
  return TYPES_SCOPE + packageName.replace(/^@/u, "").replace("/", "__");
@@ -144,4 +147,4 @@ function getTypesPackageName(packageName) {
144
147
  DEFAULT_VALIDATE_DEPENDENCIES_FOLDERS,
145
148
  validateDependencies
146
149
  });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0ZS1kZXBlbmRlbmNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEZhaWxzIHRoZSBidWlsZCB3aGVuIHRoZSBwdWJsaXNoZWQgb3V0cHV0IGltcG9ydHMgYSBwYWNrYWdlIHRoYXQgYHBhY2thZ2UuanNvbmAgZG9lcyBub3QgaW5zdGFsbCBmb3IgYSBjb25zdW1lci5cbiAqXG4gKiBFdmVyeSBiYXJlIHNwZWNpZmllciBpbiB0aGUgc2Nhbm5lZCBmb2xkZXJzIChgZGlzdC9saWJgIGFuZCBgYmluYCBieSBkZWZhdWx0LCBjb2RlIGFuZCBkZWNsYXJhdGlvbnMsIEVTTSBhbmRcbiAqIENvbW1vbkpTKSBtdXN0IG5hbWUgYSBwYWNrYWdlIGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCwgdGhlIHBhY2thZ2UgaXRzZWxmLFxuICogb3IgYSBOb2RlIGJ1aWx0aW47IGEgZGVjbGFyYXRpb24gZmlsZSdzIGltcG9ydCBtYXkgYWxzbyBiZSBzZXJ2ZWQgYnkgdGhlIHBhY2thZ2UncyBgQHR5cGVzYCBvbmUuIEEgcGFja2FnZSBpblxuICogYGRldkRlcGVuZGVuY2llc2Agb25seSBpcyBwcmVzZW50IGluIHRoZSBwYWNrYWdlJ3Mgb3duIHJlcG9zaXRvcnkgYW5kIGFic2VudCBmcm9tIGFcbiAqIGNvbnN1bWVyJ3MgaW5zdGFsbCwgc28gbm90aGluZyB0aGVyZSBmYWlscywgYW5kIHRoZSBjb25zdW1lciBnZXRzIGBDYW5ub3QgZmluZCBtb2R1bGVgLlxuICovXG5cbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIHJlYWRkaXIsXG4gIHJlYWRGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgaXNCdWlsdGluIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHtcbiAgam9pbixcbiAgcmVsYXRpdmVcbn0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwcmVQcm9jZXNzRmlsZSB9IGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuL25wbS50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFRoZSBmb2xkZXJzIHtAbGluayB2YWxpZGF0ZURlcGVuZGVuY2llc30gc2NhbnMgd2hlbiBub25lIGFyZSBnaXZlbi5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVkFMSURBVEVfREVQRU5ERU5DSUVTX0ZPTERFUlM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1JlcG9QYXRocy5EaXN0TGliLCAnYmluJ107XG5cbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTiA9IC9cXC5kXFwuKD86Y3RzfG10c3x0cykkL3U7XG5jb25zdCBTQ0FOTkVEX0ZJTEVfUEFUVEVSTiA9IC9cXC4oPzpjanN8Y3RzfGpzfG1qc3xtdHN8dHMpJC91O1xuY29uc3QgVFlQRVNfU0NPUEUgPSAnQHR5cGVzLyc7XG5jb25zdCBTQ09QRURfUEFDS0FHRV9OQU1FX1NFR01FTlRfQ09VTlQgPSAyO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayB2YWxpZGF0ZURlcGVuZGVuY2llc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVEZXBlbmRlbmNpZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2xkZXJzIHRvIHNjYW4sIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyLiBBIGZvbGRlciB0aGF0IGRvZXMgbm90IGV4aXN0IGlzIHNraXBwZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHtAbGluayBERUZBVUxUX1ZBTElEQVRFX0RFUEVOREVOQ0lFU19GT0xERVJTfVxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVycz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENoZWNrcyB0aGF0IGV2ZXJ5IGJhcmUgaW1wb3J0IGluIHRoZSBwdWJsaXNoZWQgb3V0cHV0IG5hbWVzIGEgcGFja2FnZSBhIGNvbnN1bWVyIGluc3RhbGxzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgY29udHJvbGxpbmcgd2hpY2ggZm9sZGVycyBhcmUgc2Nhbm5lZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBldmVyeSBpbXBvcnQgaXMgZGVjbGFyZWQuXG4gKiBAdGhyb3dzIElmIGFueSBpbXBvcnQgbmFtZXMgYSBwYWNrYWdlIHRoYXQgaXMgbm90IGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCxcbiAqIHRoZSBwYWNrYWdlIGl0c2VsZiwgb3IgYSBOb2RlIGJ1aWx0aW4uIFRoZSBlcnJvciBsaXN0cyBlYWNoIG9mZmVuZGluZyBmaWxlIGFuZCBzcGVjaWZpZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZURlcGVuZGVuY2llcyhvcHRpb25zOiBWYWxpZGF0ZURlcGVuZGVuY2llc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290ID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24ocm9vdCk7XG4gIGNvbnN0IGluc3RhbGxlZFBhY2thZ2VOYW1lcyA9IG5ldyBTZXQoW1xuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyA/PyB7fSksXG4gICAgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24ub3B0aW9uYWxEZXBlbmRlbmNpZXMgPz8ge30pLFxuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXMgPz8ge30pXG4gIF0pO1xuICBpZiAocGFja2FnZUpzb24ubmFtZSkge1xuICAgIGluc3RhbGxlZFBhY2thZ2VOYW1lcy5hZGQocGFja2FnZUpzb24ubmFtZSk7XG4gIH1cblxuICBjb25zdCB1bmRlY2xhcmVkSW1wb3J0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmb2xkZXIgb2Ygb3B0aW9ucy5mb2xkZXJzID8/IERFRkFVTFRfVkFMSURBVEVfREVQRU5ERU5DSUVTX0ZPTERFUlMpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGVQYXRoIG9mIGF3YWl0IGdldEZpbGVQYXRocyhqb2luKHJvb3QsIGZvbGRlcikpKSB7XG4gICAgICBjb25zdCBpc0RlY2xhcmF0aW9uRmlsZSA9IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGVQYXRoKTtcbiAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGdldEltcG9ydFNwZWNpZmllcnMoYXdhaXQgcmVhZEZpbGUoZmlsZVBhdGgsICd1dGYtOCcpKSkge1xuICAgICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IGdldFBhY2thZ2VOYW1lKHNwZWNpZmllcik7XG4gICAgICAgIGlmIChwYWNrYWdlTmFtZSA9PT0gbnVsbCB8fCBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKHBhY2thZ2VOYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlY2xhcmF0aW9uRmlsZSAmJiBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKGdldFR5cGVzUGFja2FnZU5hbWUocGFja2FnZU5hbWUpKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHVuZGVjbGFyZWRJbXBvcnRzLnB1c2goYCR7cmVsYXRpdmUocm9vdCwgZmlsZVBhdGgpLnJlcGxhY2VBbGwoJ1xcXFwnLCAnLycpfTogJHtzcGVjaWZpZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZGVjbGFyZWRJbXBvcnRzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHB1Ymxpc2hlZCBvdXRwdXQgaW1wb3J0cyBwYWNrYWdlcyB0aGF0IGFyZSBub3QgaW4gZGVwZW5kZW5jaWVzLCBvcHRpb25hbERlcGVuZGVuY2llcyBvciBwZWVyRGVwZW5kZW5jaWVzOlxcbiR7dW5kZWNsYXJlZEltcG9ydHMuam9pbignXFxuJyl9YFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0cyB0aGUgc2Nhbm5lZCBmaWxlcyB1bmRlciBhIGZvbGRlciwgcmVjdXJzaXZlbHkuXG4gKlxuICogQHBhcmFtIGZvbGRlciAtIFRoZSBhYnNvbHV0ZSBmb2xkZXIgcGF0aC5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRocyBvZiB0aGUgc2Nhbm5lZCBmaWxlcywgb3Igbm9uZSB3aGVuIHRoZSBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldEZpbGVQYXRocyhmb2xkZXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgaWYgKCFleGlzdHNTeW5jKGZvbGRlcikpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgcmVhZGRpcihmb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICByZXR1cm4gZW50cmllc1xuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSAmJiBTQ0FOTkVEX0ZJTEVfUEFUVEVSTi50ZXN0KGVudHJ5Lm5hbWUpKVxuICAgIC5tYXAoKGVudHJ5KSA9PiBqb2luKGVudHJ5LnBhcmVudFBhdGgsIGVudHJ5Lm5hbWUpKVxuICAgIC5zb3J0KCk7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIG1vZHVsZSBzcGVjaWZpZXJzIGEgc291cmNlIGZpbGUgaW1wb3J0cywgcmVxdWlyZXMgb3IgcmVmZXJlbmNlcywgaWdub3Jpbmcgc3RyaW5ncyBhbmQgY29tbWVudHMuXG4gKlxuICogQHBhcmFtIHNvdXJjZVRleHQgLSBUaGUgc291cmNlIHRleHQuXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlIHNwZWNpZmllcnMuXG4gKi9cbmZ1bmN0aW9uIGdldEltcG9ydFNwZWNpZmllcnMoc291cmNlVGV4dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCB7IGltcG9ydGVkRmlsZXMgfSA9IHByZVByb2Nlc3NGaWxlKHNvdXJjZVRleHQsIHRydWUsIHRydWUpO1xuICByZXR1cm4gaW1wb3J0ZWRGaWxlcy5tYXAoKGltcG9ydGVkRmlsZSkgPT4gaW1wb3J0ZWRGaWxlLmZpbGVOYW1lKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwYWNrYWdlIGEgYmFyZSBzcGVjaWZpZXIgbmFtZXMuXG4gKlxuICogQHBhcmFtIHNwZWNpZmllciAtIFRoZSBtb2R1bGUgc3BlY2lmaWVyLlxuICogQHJldHVybnMgVGhlIHBhY2thZ2UgbmFtZSwgb3IgYG51bGxgIGZvciBhIHJlbGF0aXZlIG9yIGFic29sdXRlIHBhdGggb3IgYSBOb2RlIGJ1aWx0aW4uXG4gKi9cbmZ1bmN0aW9uIGdldFBhY2thZ2VOYW1lKHNwZWNpZmllcjogc3RyaW5nKTogbnVsbCB8IHN0cmluZyB7XG4gIGlmIChzcGVjaWZpZXIuc3RhcnRzV2l0aCgnLicpIHx8IHNwZWNpZmllci5zdGFydHNXaXRoKCcvJykgfHwgaXNCdWlsdGluKHNwZWNpZmllcikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHNlZ21lbnRzID0gc3BlY2lmaWVyLnNwbGl0KCcvJyk7XG4gIGNvbnN0IHNlZ21lbnRDb3VudCA9IHNwZWNpZmllci5zdGFydHNXaXRoKCdAJykgPyBTQ09QRURfUEFDS0FHRV9OQU1FX1NFR01FTlRfQ09VTlQgOiAxO1xuICByZXR1cm4gc2VnbWVudHMuc2xpY2UoMCwgc2VnbWVudENvdW50KS5qb2luKCcvJyk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgRGVmaW5pdGVseVR5cGVkIHBhY2thZ2UgdGhhdCBkZWNsYXJlcyBhIHBhY2thZ2UncyB0eXBlcywgd2hpY2ggaXMgd2hhdCBhIGRlY2xhcmF0aW9uIGZpbGUncyBpbXBvcnQgb2ZcbiAqIHRoYXQgcGFja2FnZSByZXNvbHZlcyB0byB3aGVuIHRoZSBwYWNrYWdlIHNoaXBzIG5vIHR5cGVzIG9mIGl0cyBvd24gKGBlc3RyZWVgIOKGkiBgQHR5cGVzL2VzdHJlZWAsXG4gKiBgQHNjb3BlL25hbWVgIOKGkiBgQHR5cGVzL3Njb3BlX19uYW1lYCkuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VOYW1lIC0gVGhlIHBhY2thZ2UgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBgQHR5cGVzYCBwYWNrYWdlIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGdldFR5cGVzUGFja2FnZU5hbWUocGFja2FnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBUWVBFU19TQ09QRSArIHBhY2thZ2VOYW1lLnJlcGxhY2UoL15AL3UsICcnKS5yZXBsYWNlKCcvJywgJ19fJyk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLHFCQUEyQjtBQUMzQixzQkFHTztBQUNQLHlCQUEwQjtBQUMxQix1QkFHTztBQUNQLDBCQUFvQjtBQUNwQix3QkFBK0I7QUFFL0IsaUJBQWdDO0FBQ2hDLHdCQUEwQjtBQUtuQixNQUFNLHdDQUEyRCxDQUFDLDRCQUFVLFNBQVMsS0FBSztBQUVqRyxNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLHVCQUF1QjtBQUM3QixNQUFNLGNBQWM7QUFDcEIsTUFBTSxvQ0FBb0M7QUFzQjFDLGVBQXNCLHFCQUFxQixVQUF1QyxDQUFDLEdBQWtCO0FBQ25HLFFBQU0sT0FBTyxvQkFBQUEsUUFBUSxJQUFJO0FBQ3pCLFFBQU0sY0FBYyxV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
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0ZS1kZXBlbmRlbmNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEZhaWxzIHRoZSBidWlsZCB3aGVuIHRoZSBwdWJsaXNoZWQgb3V0cHV0IGltcG9ydHMgYSBwYWNrYWdlIHRoYXQgYHBhY2thZ2UuanNvbmAgZG9lcyBub3QgaW5zdGFsbCBmb3IgYSBjb25zdW1lci5cbiAqXG4gKiBFdmVyeSBiYXJlIHNwZWNpZmllciBpbiB0aGUgc2Nhbm5lZCBmb2xkZXJzIChgZGlzdC9saWJgIGFuZCBgYmluYCBieSBkZWZhdWx0LCBjb2RlIGFuZCBkZWNsYXJhdGlvbnMsIEVTTSBhbmRcbiAqIENvbW1vbkpTKSBtdXN0IG5hbWUgYSBwYWNrYWdlIGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCwgdGhlIHBhY2thZ2UgaXRzZWxmLFxuICogb3IgYSBidWlsdGluIChhbnkgYG5vZGU6YCBzcGVjaWZpZXIsIE5vZGUncyBvd24sIGFuZCBFbGVjdHJvbidzIGBlbGVjdHJvbmAgYW5kIGBvcmlnaW5hbC1mc2ApOyBhIGRlY2xhcmF0aW9uXG4gKiBmaWxlJ3MgaW1wb3J0IG1heSBhbHNvIGJlIHNlcnZlZCBieSB0aGUgcGFja2FnZSdzIGBAdHlwZXNgIG9uZS4gQSBwYWNrYWdlIGluXG4gKiBgZGV2RGVwZW5kZW5jaWVzYCBvbmx5IGlzIHByZXNlbnQgaW4gdGhlIHBhY2thZ2UncyBvd24gcmVwb3NpdG9yeSBhbmQgYWJzZW50IGZyb20gYVxuICogY29uc3VtZXIncyBpbnN0YWxsLCBzbyBub3RoaW5nIHRoZXJlIGZhaWxzLCBhbmQgdGhlIGNvbnN1bWVyIGdldHMgYENhbm5vdCBmaW5kIG1vZHVsZWAuXG4gKi9cblxuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgcmVhZGRpcixcbiAgcmVhZEZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBpc0J1aWx0aW4gfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZVxufSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7IHByZVByb2Nlc3NGaWxlIH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IHJlYWRQYWNrYWdlSnNvbiB9IGZyb20gJy4vbnBtLnRzJztcbmltcG9ydCB7IFJlcG9QYXRocyB9IGZyb20gJy4vcmVwby1wYXRocy50cyc7XG5cbi8qKlxuICogVGhlIGZvbGRlcnMge0BsaW5rIHZhbGlkYXRlRGVwZW5kZW5jaWVzfSBzY2FucyB3aGVuIG5vbmUgYXJlIGdpdmVuLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9WQUxJREFURV9ERVBFTkRFTkNJRVNfRk9MREVSUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbUmVwb1BhdGhzLkRpc3RMaWIsICdiaW4nXTtcblxuLyoqXG4gKiBUaGUgbW9kdWxlcyBFbGVjdHJvbiBwcm92aWRlcyB0byBpdHMgb3duIHByb2Nlc3Nlcywgd2hpY2ggbm8gcGFja2FnZSBpbnN0YWxsczogTm9kZSdzIGBpc0J1aWx0aW5gIGRvZXMgbm90IGtub3cgdGhlbS5cbiAqIGBlbGVjdHJvbmAgYWxzbyBjb3ZlcnMgaXRzIGBlbGVjdHJvbi9tYWluYCwgYGVsZWN0cm9uL3JlbmRlcmVyYCBhbmQgYGVsZWN0cm9uL2NvbW1vbmAgc3VicGF0aHMuXG4gKi9cbmNvbnN0IEVMRUNUUk9OX0JVSUxUSU5fUEFDS0FHRV9OQU1FUzogUmVhZG9ubHlTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoWydlbGVjdHJvbicsICdvcmlnaW5hbC1mcyddKTtcbmNvbnN0IE5PREVfU0NIRU1FID0gJ25vZGU6JztcbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTiA9IC9cXC5kXFwuKD86Y3RzfG10c3x0cykkL3U7XG5jb25zdCBTQ0FOTkVEX0ZJTEVfUEFUVEVSTiA9IC9cXC4oPzpjanN8Y3RzfGpzfG1qc3xtdHN8dHMpJC91O1xuY29uc3QgVFlQRVNfU0NPUEUgPSAnQHR5cGVzLyc7XG5jb25zdCBTQ09QRURfUEFDS0FHRV9OQU1FX1NFR01FTlRfQ09VTlQgPSAyO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayB2YWxpZGF0ZURlcGVuZGVuY2llc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVEZXBlbmRlbmNpZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2xkZXJzIHRvIHNjYW4sIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyLiBBIGZvbGRlciB0aGF0IGRvZXMgbm90IGV4aXN0IGlzIHNraXBwZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHtAbGluayBERUZBVUxUX1ZBTElEQVRFX0RFUEVOREVOQ0lFU19GT0xERVJTfVxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVycz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENoZWNrcyB0aGF0IGV2ZXJ5IGJhcmUgaW1wb3J0IGluIHRoZSBwdWJsaXNoZWQgb3V0cHV0IG5hbWVzIGEgcGFja2FnZSBhIGNvbnN1bWVyIGluc3RhbGxzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgY29udHJvbGxpbmcgd2hpY2ggZm9sZGVycyBhcmUgc2Nhbm5lZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBldmVyeSBpbXBvcnQgaXMgZGVjbGFyZWQuXG4gKiBAdGhyb3dzIElmIGFueSBpbXBvcnQgbmFtZXMgYSBwYWNrYWdlIHRoYXQgaXMgbm90IGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCxcbiAqIHRoZSBwYWNrYWdlIGl0c2VsZiwgb3IgYSBOb2RlIGJ1aWx0aW4uIFRoZSBlcnJvciBsaXN0cyBlYWNoIG9mZmVuZGluZyBmaWxlIGFuZCBzcGVjaWZpZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZURlcGVuZGVuY2llcyhvcHRpb25zOiBWYWxpZGF0ZURlcGVuZGVuY2llc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290ID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24ocm9vdCk7XG4gIGNvbnN0IGluc3RhbGxlZFBhY2thZ2VOYW1lcyA9IG5ldyBTZXQoW1xuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyA/PyB7fSksXG4gICAgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24ub3B0aW9uYWxEZXBlbmRlbmNpZXMgPz8ge30pLFxuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXMgPz8ge30pXG4gIF0pO1xuICBpZiAocGFja2FnZUpzb24ubmFtZSkge1xuICAgIGluc3RhbGxlZFBhY2thZ2VOYW1lcy5hZGQocGFja2FnZUpzb24ubmFtZSk7XG4gIH1cblxuICBjb25zdCB1bmRlY2xhcmVkSW1wb3J0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmb2xkZXIgb2Ygb3B0aW9ucy5mb2xkZXJzID8/IERFRkFVTFRfVkFMSURBVEVfREVQRU5ERU5DSUVTX0ZPTERFUlMpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGVQYXRoIG9mIGF3YWl0IGdldEZpbGVQYXRocyhqb2luKHJvb3QsIGZvbGRlcikpKSB7XG4gICAgICBjb25zdCBpc0RlY2xhcmF0aW9uRmlsZSA9IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGVQYXRoKTtcbiAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGdldEltcG9ydFNwZWNpZmllcnMoYXdhaXQgcmVhZEZpbGUoZmlsZVBhdGgsICd1dGYtOCcpKSkge1xuICAgICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IGdldFBhY2thZ2VOYW1lKHNwZWNpZmllcik7XG4gICAgICAgIGlmIChwYWNrYWdlTmFtZSA9PT0gbnVsbCB8fCBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKHBhY2thZ2VOYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlY2xhcmF0aW9uRmlsZSAmJiBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKGdldFR5cGVzUGFja2FnZU5hbWUocGFja2FnZU5hbWUpKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHVuZGVjbGFyZWRJbXBvcnRzLnB1c2goYCR7cmVsYXRpdmUocm9vdCwgZmlsZVBhdGgpLnJlcGxhY2VBbGwoJ1xcXFwnLCAnLycpfTogJHtzcGVjaWZpZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZGVjbGFyZWRJbXBvcnRzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHB1Ymxpc2hlZCBvdXRwdXQgaW1wb3J0cyBwYWNrYWdlcyB0aGF0IGFyZSBub3QgaW4gZGVwZW5kZW5jaWVzLCBvcHRpb25hbERlcGVuZGVuY2llcyBvciBwZWVyRGVwZW5kZW5jaWVzOlxcbiR7dW5kZWNsYXJlZEltcG9ydHMuam9pbignXFxuJyl9YFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0cyB0aGUgc2Nhbm5lZCBmaWxlcyB1bmRlciBhIGZvbGRlciwgcmVjdXJzaXZlbHkuXG4gKlxuICogQHBhcmFtIGZvbGRlciAtIFRoZSBhYnNvbHV0ZSBmb2xkZXIgcGF0aC5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRocyBvZiB0aGUgc2Nhbm5lZCBmaWxlcywgb3Igbm9uZSB3aGVuIHRoZSBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldEZpbGVQYXRocyhmb2xkZXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgaWYgKCFleGlzdHNTeW5jKGZvbGRlcikpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgcmVhZGRpcihmb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICByZXR1cm4gZW50cmllc1xuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSAmJiBTQ0FOTkVEX0ZJTEVfUEFUVEVSTi50ZXN0KGVudHJ5Lm5hbWUpKVxuICAgIC5tYXAoKGVudHJ5KSA9PiBqb2luKGVudHJ5LnBhcmVudFBhdGgsIGVudHJ5Lm5hbWUpKVxuICAgIC5zb3J0KCk7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIG1vZHVsZSBzcGVjaWZpZXJzIGEgc291cmNlIGZpbGUgaW1wb3J0cywgcmVxdWlyZXMgb3IgcmVmZXJlbmNlcywgaWdub3Jpbmcgc3RyaW5ncyBhbmQgY29tbWVudHMuXG4gKlxuICogQHBhcmFtIHNvdXJjZVRleHQgLSBUaGUgc291cmNlIHRleHQuXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlIHNwZWNpZmllcnMuXG4gKi9cbmZ1bmN0aW9uIGdldEltcG9ydFNwZWNpZmllcnMoc291cmNlVGV4dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCB7IGltcG9ydGVkRmlsZXMgfSA9IHByZVByb2Nlc3NGaWxlKHNvdXJjZVRleHQsIHRydWUsIHRydWUpO1xuICByZXR1cm4gaW1wb3J0ZWRGaWxlcy5tYXAoKGltcG9ydGVkRmlsZSkgPT4gaW1wb3J0ZWRGaWxlLmZpbGVOYW1lKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwYWNrYWdlIGEgYmFyZSBzcGVjaWZpZXIgbmFtZXMuXG4gKlxuICogQHBhcmFtIHNwZWNpZmllciAtIFRoZSBtb2R1bGUgc3BlY2lmaWVyLlxuICogQHJldHVybnMgVGhlIHBhY2thZ2UgbmFtZSwgb3IgYG51bGxgIGZvciBhIHJlbGF0aXZlIG9yIGFic29sdXRlIHBhdGgsIGEgYnVpbHRpbiBvZiBOb2RlIG9yIEVsZWN0cm9uLCBvciBhbnlcbiAqIGBub2RlOmAtc2NoZW1lIHNwZWNpZmllcjogbm8gcGFja2FnZSBuYW1lIGNhbiBzdGFydCB3aXRoIGBub2RlOmAsIGFuZCBFbGVjdHJvbidzIGBub2RlOm9yaWdpbmFsLWZzYCBpcyBvbmUgTm9kZSdzIG93blxuICogbGlzdCBsYWNrcy5cbiAqL1xuZnVuY3Rpb24gZ2V0UGFja2FnZU5hbWUoc3BlY2lmaWVyOiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKFxuICAgIHNwZWNpZmllci5zdGFydHNXaXRoKCcuJykgfHwgc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSB8fCBzcGVjaWZpZXIuc3RhcnRzV2l0aChOT0RFX1NDSEVNRSkgfHwgaXNCdWlsdGluKHNwZWNpZmllcilcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBzZWdtZW50cyA9IHNwZWNpZmllci5zcGxpdCgnLycpO1xuICBjb25zdCBzZWdtZW50Q291bnQgPSBzcGVjaWZpZXIuc3RhcnRzV2l0aCgnQCcpID8gU0NPUEVEX1BBQ0tBR0VfTkFNRV9TRUdNRU5UX0NPVU5UIDogMTtcbiAgY29uc3QgcGFja2FnZU5hbWUgPSBzZWdtZW50cy5zbGljZSgwLCBzZWdtZW50Q291bnQpLmpvaW4oJy8nKTtcbiAgcmV0dXJuIEVMRUNUUk9OX0JVSUxUSU5fUEFDS0FHRV9OQU1FUy5oYXMocGFja2FnZU5hbWUpID8gbnVsbCA6IHBhY2thZ2VOYW1lO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIERlZmluaXRlbHlUeXBlZCBwYWNrYWdlIHRoYXQgZGVjbGFyZXMgYSBwYWNrYWdlJ3MgdHlwZXMsIHdoaWNoIGlzIHdoYXQgYSBkZWNsYXJhdGlvbiBmaWxlJ3MgaW1wb3J0IG9mXG4gKiB0aGF0IHBhY2thZ2UgcmVzb2x2ZXMgdG8gd2hlbiB0aGUgcGFja2FnZSBzaGlwcyBubyB0eXBlcyBvZiBpdHMgb3duIChgZXN0cmVlYCDihpIgYEB0eXBlcy9lc3RyZWVgLFxuICogYEBzY29wZS9uYW1lYCDihpIgYEB0eXBlcy9zY29wZV9fbmFtZWApLlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTmFtZSAtIFRoZSBwYWNrYWdlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYEB0eXBlc2AgcGFja2FnZSBuYW1lLlxuICovXG5mdW5jdGlvbiBnZXRUeXBlc1BhY2thZ2VOYW1lKHBhY2thZ2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gVFlQRVNfU0NPUEUgKyBwYWNrYWdlTmFtZS5yZXBsYWNlKC9eQC91LCAnJykucmVwbGFjZSgnLycsICdfXycpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxxQkFBMkI7QUFDM0Isc0JBR087QUFDUCx5QkFBMEI7QUFDMUIsdUJBR087QUFDUCwwQkFBb0I7QUFDcEIsd0JBQStCO0FBRS9CLGlCQUFnQztBQUNoQyx3QkFBMEI7QUFLbkIsTUFBTSx3Q0FBMkQsQ0FBQyw0QkFBVSxTQUFTLEtBQUs7QUFNakcsTUFBTSxpQ0FBc0Qsb0JBQUksSUFBSSxDQUFDLFlBQVksYUFBYSxDQUFDO0FBQy9GLE1BQU0sY0FBYztBQUNwQixNQUFNLDJCQUEyQjtBQUNqQyxNQUFNLHVCQUF1QjtBQUM3QixNQUFNLGNBQWM7QUFDcEIsTUFBTSxvQ0FBb0M7QUFzQjFDLGVBQXNCLHFCQUFxQixVQUF1QyxDQUFDLEdBQWtCO0FBQ25HLFFBQU0sT0FBTyxvQkFBQUEsUUFBUSxJQUFJO0FBQ3pCLFFBQU0sY0FBYyxVQUFNLDRCQUFnQixJQUFJO0FBQzlDLFFBQU0sd0JBQXdCLG9CQUFJLElBQUk7QUFBQSxJQUNwQyxHQUFHLE9BQU8sS0FBSyxZQUFZLGdCQUFnQixDQUFDLENBQUM7QUFB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
@@ -6,7 +6,8 @@
6
6
  *
7
7
  * Every bare specifier in the scanned folders (`dist/lib` and `bin` by default, code and declarations, ESM and
8
8
  * CommonJS) must name a package in `dependencies`, `optionalDependencies` or `peerDependencies`, the package itself,
9
- * or a Node builtin; a declaration file's import may also be served by the package's `@types` one. A package in
9
+ * or a builtin (any `node:` specifier, Node's own, and Electron's `electron` and `original-fs`); a declaration
10
+ * file's import may also be served by the package's `@types` one. A package in
10
11
  * `devDependencies` only is present in the package's own repository and absent from a
11
12
  * consumer's install, so nothing there fails, and the consumer gets `Cannot find module`.
12
13
  */
@@ -6,7 +6,8 @@
6
6
  *
7
7
  * Every bare specifier in the scanned folders (`dist/lib` and `bin` by default, code and declarations, ESM and
8
8
  * CommonJS) must name a package in `dependencies`, `optionalDependencies` or `peerDependencies`, the package itself,
9
- * or a Node builtin; a declaration file's import may also be served by the package's `@types` one. A package in
9
+ * or a builtin (any `node:` specifier, Node's own, and Electron's `electron` and `original-fs`); a declaration
10
+ * file's import may also be served by the package's `@types` one. A package in
10
11
  * `devDependencies` only is present in the package's own repository and absent from a
11
12
  * consumer's install, so nothing there fails, and the consumer gets `Cannot find module`.
12
13
  */
@@ -51,6 +51,8 @@ import { preProcessFile } from "typescript";
51
51
  import { readPackageJson } from "./npm.mjs";
52
52
  import { RepoPaths } from "./repo-paths.mjs";
53
53
  const DEFAULT_VALIDATE_DEPENDENCIES_FOLDERS = [RepoPaths.DistLib, "bin"];
54
+ const ELECTRON_BUILTIN_PACKAGE_NAMES = /* @__PURE__ */ new Set(["electron", "original-fs"]);
55
+ const NODE_SCHEME = "node:";
54
56
  const DECLARATION_FILE_PATTERN = /\.d\.(?:cts|mts|ts)$/u;
55
57
  const SCANNED_FILE_PATTERN = /\.(?:cjs|cts|js|mjs|mts|ts)$/u;
56
58
  const TYPES_SCOPE = "@types/";
@@ -101,12 +103,13 @@ function getImportSpecifiers(sourceText) {
101
103
  return importedFiles.map((importedFile) => importedFile.fileName);
102
104
  }
103
105
  function getPackageName(specifier) {
104
- if (specifier.startsWith(".") || specifier.startsWith("/") || isBuiltin(specifier)) {
106
+ if (specifier.startsWith(".") || specifier.startsWith("/") || specifier.startsWith(NODE_SCHEME) || isBuiltin(specifier)) {
105
107
  return null;
106
108
  }
107
109
  const segments = specifier.split("/");
108
110
  const segmentCount = specifier.startsWith("@") ? SCOPED_PACKAGE_NAME_SEGMENT_COUNT : 1;
109
- return segments.slice(0, segmentCount).join("/");
111
+ const packageName = segments.slice(0, segmentCount).join("/");
112
+ return ELECTRON_BUILTIN_PACKAGE_NAMES.has(packageName) ? null : packageName;
110
113
  }
111
114
  function getTypesPackageName(packageName) {
112
115
  return TYPES_SCOPE + packageName.replace(/^@/u, "").replace("/", "__");
@@ -115,4 +118,4 @@ export {
115
118
  DEFAULT_VALIDATE_DEPENDENCIES_FOLDERS,
116
119
  validateDependencies
117
120
  };
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0ZS1kZXBlbmRlbmNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEZhaWxzIHRoZSBidWlsZCB3aGVuIHRoZSBwdWJsaXNoZWQgb3V0cHV0IGltcG9ydHMgYSBwYWNrYWdlIHRoYXQgYHBhY2thZ2UuanNvbmAgZG9lcyBub3QgaW5zdGFsbCBmb3IgYSBjb25zdW1lci5cbiAqXG4gKiBFdmVyeSBiYXJlIHNwZWNpZmllciBpbiB0aGUgc2Nhbm5lZCBmb2xkZXJzIChgZGlzdC9saWJgIGFuZCBgYmluYCBieSBkZWZhdWx0LCBjb2RlIGFuZCBkZWNsYXJhdGlvbnMsIEVTTSBhbmRcbiAqIENvbW1vbkpTKSBtdXN0IG5hbWUgYSBwYWNrYWdlIGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCwgdGhlIHBhY2thZ2UgaXRzZWxmLFxuICogb3IgYSBOb2RlIGJ1aWx0aW47IGEgZGVjbGFyYXRpb24gZmlsZSdzIGltcG9ydCBtYXkgYWxzbyBiZSBzZXJ2ZWQgYnkgdGhlIHBhY2thZ2UncyBgQHR5cGVzYCBvbmUuIEEgcGFja2FnZSBpblxuICogYGRldkRlcGVuZGVuY2llc2Agb25seSBpcyBwcmVzZW50IGluIHRoZSBwYWNrYWdlJ3Mgb3duIHJlcG9zaXRvcnkgYW5kIGFic2VudCBmcm9tIGFcbiAqIGNvbnN1bWVyJ3MgaW5zdGFsbCwgc28gbm90aGluZyB0aGVyZSBmYWlscywgYW5kIHRoZSBjb25zdW1lciBnZXRzIGBDYW5ub3QgZmluZCBtb2R1bGVgLlxuICovXG5cbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIHJlYWRkaXIsXG4gIHJlYWRGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgaXNCdWlsdGluIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHtcbiAgam9pbixcbiAgcmVsYXRpdmVcbn0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5pbXBvcnQgeyBwcmVQcm9jZXNzRmlsZSB9IGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICcuL25wbS50cyc7XG5pbXBvcnQgeyBSZXBvUGF0aHMgfSBmcm9tICcuL3JlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFRoZSBmb2xkZXJzIHtAbGluayB2YWxpZGF0ZURlcGVuZGVuY2llc30gc2NhbnMgd2hlbiBub25lIGFyZSBnaXZlbi5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVkFMSURBVEVfREVQRU5ERU5DSUVTX0ZPTERFUlM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1JlcG9QYXRocy5EaXN0TGliLCAnYmluJ107XG5cbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTiA9IC9cXC5kXFwuKD86Y3RzfG10c3x0cykkL3U7XG5jb25zdCBTQ0FOTkVEX0ZJTEVfUEFUVEVSTiA9IC9cXC4oPzpjanN8Y3RzfGpzfG1qc3xtdHN8dHMpJC91O1xuY29uc3QgVFlQRVNfU0NPUEUgPSAnQHR5cGVzLyc7XG5jb25zdCBTQ09QRURfUEFDS0FHRV9OQU1FX1NFR01FTlRfQ09VTlQgPSAyO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayB2YWxpZGF0ZURlcGVuZGVuY2llc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVEZXBlbmRlbmNpZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2xkZXJzIHRvIHNjYW4sIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyLiBBIGZvbGRlciB0aGF0IGRvZXMgbm90IGV4aXN0IGlzIHNraXBwZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHtAbGluayBERUZBVUxUX1ZBTElEQVRFX0RFUEVOREVOQ0lFU19GT0xERVJTfVxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVycz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENoZWNrcyB0aGF0IGV2ZXJ5IGJhcmUgaW1wb3J0IGluIHRoZSBwdWJsaXNoZWQgb3V0cHV0IG5hbWVzIGEgcGFja2FnZSBhIGNvbnN1bWVyIGluc3RhbGxzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgY29udHJvbGxpbmcgd2hpY2ggZm9sZGVycyBhcmUgc2Nhbm5lZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBldmVyeSBpbXBvcnQgaXMgZGVjbGFyZWQuXG4gKiBAdGhyb3dzIElmIGFueSBpbXBvcnQgbmFtZXMgYSBwYWNrYWdlIHRoYXQgaXMgbm90IGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCxcbiAqIHRoZSBwYWNrYWdlIGl0c2VsZiwgb3IgYSBOb2RlIGJ1aWx0aW4uIFRoZSBlcnJvciBsaXN0cyBlYWNoIG9mZmVuZGluZyBmaWxlIGFuZCBzcGVjaWZpZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZURlcGVuZGVuY2llcyhvcHRpb25zOiBWYWxpZGF0ZURlcGVuZGVuY2llc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290ID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24ocm9vdCk7XG4gIGNvbnN0IGluc3RhbGxlZFBhY2thZ2VOYW1lcyA9IG5ldyBTZXQoW1xuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyA/PyB7fSksXG4gICAgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24ub3B0aW9uYWxEZXBlbmRlbmNpZXMgPz8ge30pLFxuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXMgPz8ge30pXG4gIF0pO1xuICBpZiAocGFja2FnZUpzb24ubmFtZSkge1xuICAgIGluc3RhbGxlZFBhY2thZ2VOYW1lcy5hZGQocGFja2FnZUpzb24ubmFtZSk7XG4gIH1cblxuICBjb25zdCB1bmRlY2xhcmVkSW1wb3J0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmb2xkZXIgb2Ygb3B0aW9ucy5mb2xkZXJzID8/IERFRkFVTFRfVkFMSURBVEVfREVQRU5ERU5DSUVTX0ZPTERFUlMpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGVQYXRoIG9mIGF3YWl0IGdldEZpbGVQYXRocyhqb2luKHJvb3QsIGZvbGRlcikpKSB7XG4gICAgICBjb25zdCBpc0RlY2xhcmF0aW9uRmlsZSA9IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGVQYXRoKTtcbiAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGdldEltcG9ydFNwZWNpZmllcnMoYXdhaXQgcmVhZEZpbGUoZmlsZVBhdGgsICd1dGYtOCcpKSkge1xuICAgICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IGdldFBhY2thZ2VOYW1lKHNwZWNpZmllcik7XG4gICAgICAgIGlmIChwYWNrYWdlTmFtZSA9PT0gbnVsbCB8fCBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKHBhY2thZ2VOYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlY2xhcmF0aW9uRmlsZSAmJiBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKGdldFR5cGVzUGFja2FnZU5hbWUocGFja2FnZU5hbWUpKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHVuZGVjbGFyZWRJbXBvcnRzLnB1c2goYCR7cmVsYXRpdmUocm9vdCwgZmlsZVBhdGgpLnJlcGxhY2VBbGwoJ1xcXFwnLCAnLycpfTogJHtzcGVjaWZpZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZGVjbGFyZWRJbXBvcnRzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHB1Ymxpc2hlZCBvdXRwdXQgaW1wb3J0cyBwYWNrYWdlcyB0aGF0IGFyZSBub3QgaW4gZGVwZW5kZW5jaWVzLCBvcHRpb25hbERlcGVuZGVuY2llcyBvciBwZWVyRGVwZW5kZW5jaWVzOlxcbiR7dW5kZWNsYXJlZEltcG9ydHMuam9pbignXFxuJyl9YFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0cyB0aGUgc2Nhbm5lZCBmaWxlcyB1bmRlciBhIGZvbGRlciwgcmVjdXJzaXZlbHkuXG4gKlxuICogQHBhcmFtIGZvbGRlciAtIFRoZSBhYnNvbHV0ZSBmb2xkZXIgcGF0aC5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRocyBvZiB0aGUgc2Nhbm5lZCBmaWxlcywgb3Igbm9uZSB3aGVuIHRoZSBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldEZpbGVQYXRocyhmb2xkZXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgaWYgKCFleGlzdHNTeW5jKGZvbGRlcikpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgcmVhZGRpcihmb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICByZXR1cm4gZW50cmllc1xuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSAmJiBTQ0FOTkVEX0ZJTEVfUEFUVEVSTi50ZXN0KGVudHJ5Lm5hbWUpKVxuICAgIC5tYXAoKGVudHJ5KSA9PiBqb2luKGVudHJ5LnBhcmVudFBhdGgsIGVudHJ5Lm5hbWUpKVxuICAgIC5zb3J0KCk7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIG1vZHVsZSBzcGVjaWZpZXJzIGEgc291cmNlIGZpbGUgaW1wb3J0cywgcmVxdWlyZXMgb3IgcmVmZXJlbmNlcywgaWdub3Jpbmcgc3RyaW5ncyBhbmQgY29tbWVudHMuXG4gKlxuICogQHBhcmFtIHNvdXJjZVRleHQgLSBUaGUgc291cmNlIHRleHQuXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlIHNwZWNpZmllcnMuXG4gKi9cbmZ1bmN0aW9uIGdldEltcG9ydFNwZWNpZmllcnMoc291cmNlVGV4dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCB7IGltcG9ydGVkRmlsZXMgfSA9IHByZVByb2Nlc3NGaWxlKHNvdXJjZVRleHQsIHRydWUsIHRydWUpO1xuICByZXR1cm4gaW1wb3J0ZWRGaWxlcy5tYXAoKGltcG9ydGVkRmlsZSkgPT4gaW1wb3J0ZWRGaWxlLmZpbGVOYW1lKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwYWNrYWdlIGEgYmFyZSBzcGVjaWZpZXIgbmFtZXMuXG4gKlxuICogQHBhcmFtIHNwZWNpZmllciAtIFRoZSBtb2R1bGUgc3BlY2lmaWVyLlxuICogQHJldHVybnMgVGhlIHBhY2thZ2UgbmFtZSwgb3IgYG51bGxgIGZvciBhIHJlbGF0aXZlIG9yIGFic29sdXRlIHBhdGggb3IgYSBOb2RlIGJ1aWx0aW4uXG4gKi9cbmZ1bmN0aW9uIGdldFBhY2thZ2VOYW1lKHNwZWNpZmllcjogc3RyaW5nKTogbnVsbCB8IHN0cmluZyB7XG4gIGlmIChzcGVjaWZpZXIuc3RhcnRzV2l0aCgnLicpIHx8IHNwZWNpZmllci5zdGFydHNXaXRoKCcvJykgfHwgaXNCdWlsdGluKHNwZWNpZmllcikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHNlZ21lbnRzID0gc3BlY2lmaWVyLnNwbGl0KCcvJyk7XG4gIGNvbnN0IHNlZ21lbnRDb3VudCA9IHNwZWNpZmllci5zdGFydHNXaXRoKCdAJykgPyBTQ09QRURfUEFDS0FHRV9OQU1FX1NFR01FTlRfQ09VTlQgOiAxO1xuICByZXR1cm4gc2VnbWVudHMuc2xpY2UoMCwgc2VnbWVudENvdW50KS5qb2luKCcvJyk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgRGVmaW5pdGVseVR5cGVkIHBhY2thZ2UgdGhhdCBkZWNsYXJlcyBhIHBhY2thZ2UncyB0eXBlcywgd2hpY2ggaXMgd2hhdCBhIGRlY2xhcmF0aW9uIGZpbGUncyBpbXBvcnQgb2ZcbiAqIHRoYXQgcGFja2FnZSByZXNvbHZlcyB0byB3aGVuIHRoZSBwYWNrYWdlIHNoaXBzIG5vIHR5cGVzIG9mIGl0cyBvd24gKGBlc3RyZWVgIOKGkiBgQHR5cGVzL2VzdHJlZWAsXG4gKiBgQHNjb3BlL25hbWVgIOKGkiBgQHR5cGVzL3Njb3BlX19uYW1lYCkuXG4gKlxuICogQHBhcmFtIHBhY2thZ2VOYW1lIC0gVGhlIHBhY2thZ2UgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBgQHR5cGVzYCBwYWNrYWdlIG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGdldFR5cGVzUGFja2FnZU5hbWUocGFja2FnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBUWVBFU19TQ09QRSArIHBhY2thZ2VOYW1lLnJlcGxhY2UoL15AL3UsICcnKS5yZXBsYWNlKCcvJywgJ19fJyk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsU0FBUyxrQkFBa0I7QUFDM0I7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGlCQUFpQjtBQUMxQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLE9BQU8sYUFBYTtBQUNwQixTQUFTLHNCQUFzQjtBQUUvQixTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLGlCQUFpQjtBQUtuQixNQUFNLHdDQUEyRCxDQUFDLFVBQVUsU0FBUyxLQUFLO0FBRWpHLE1BQU0sMkJBQTJCO0FBQ2pDLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0sY0FBYztBQUNwQixNQUFNLG9DQUFvQztBQXNCMUMsZUFBc0IscUJBQXFCLFVBQXVDLENBQUMsR0FBa0I7QUFDbkcsUUFBTSxPQUFPLFFBQVEsSUFBSTtBQUN6QixR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
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0ZS1kZXBlbmRlbmNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEZhaWxzIHRoZSBidWlsZCB3aGVuIHRoZSBwdWJsaXNoZWQgb3V0cHV0IGltcG9ydHMgYSBwYWNrYWdlIHRoYXQgYHBhY2thZ2UuanNvbmAgZG9lcyBub3QgaW5zdGFsbCBmb3IgYSBjb25zdW1lci5cbiAqXG4gKiBFdmVyeSBiYXJlIHNwZWNpZmllciBpbiB0aGUgc2Nhbm5lZCBmb2xkZXJzIChgZGlzdC9saWJgIGFuZCBgYmluYCBieSBkZWZhdWx0LCBjb2RlIGFuZCBkZWNsYXJhdGlvbnMsIEVTTSBhbmRcbiAqIENvbW1vbkpTKSBtdXN0IG5hbWUgYSBwYWNrYWdlIGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCwgdGhlIHBhY2thZ2UgaXRzZWxmLFxuICogb3IgYSBidWlsdGluIChhbnkgYG5vZGU6YCBzcGVjaWZpZXIsIE5vZGUncyBvd24sIGFuZCBFbGVjdHJvbidzIGBlbGVjdHJvbmAgYW5kIGBvcmlnaW5hbC1mc2ApOyBhIGRlY2xhcmF0aW9uXG4gKiBmaWxlJ3MgaW1wb3J0IG1heSBhbHNvIGJlIHNlcnZlZCBieSB0aGUgcGFja2FnZSdzIGBAdHlwZXNgIG9uZS4gQSBwYWNrYWdlIGluXG4gKiBgZGV2RGVwZW5kZW5jaWVzYCBvbmx5IGlzIHByZXNlbnQgaW4gdGhlIHBhY2thZ2UncyBvd24gcmVwb3NpdG9yeSBhbmQgYWJzZW50IGZyb20gYVxuICogY29uc3VtZXIncyBpbnN0YWxsLCBzbyBub3RoaW5nIHRoZXJlIGZhaWxzLCBhbmQgdGhlIGNvbnN1bWVyIGdldHMgYENhbm5vdCBmaW5kIG1vZHVsZWAuXG4gKi9cblxuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHtcbiAgcmVhZGRpcixcbiAgcmVhZEZpbGVcbn0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5pbXBvcnQgeyBpc0J1aWx0aW4gfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQge1xuICBqb2luLFxuICByZWxhdGl2ZVxufSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcbmltcG9ydCB7IHByZVByb2Nlc3NGaWxlIH0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IHJlYWRQYWNrYWdlSnNvbiB9IGZyb20gJy4vbnBtLnRzJztcbmltcG9ydCB7IFJlcG9QYXRocyB9IGZyb20gJy4vcmVwby1wYXRocy50cyc7XG5cbi8qKlxuICogVGhlIGZvbGRlcnMge0BsaW5rIHZhbGlkYXRlRGVwZW5kZW5jaWVzfSBzY2FucyB3aGVuIG5vbmUgYXJlIGdpdmVuLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9WQUxJREFURV9ERVBFTkRFTkNJRVNfRk9MREVSUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbUmVwb1BhdGhzLkRpc3RMaWIsICdiaW4nXTtcblxuLyoqXG4gKiBUaGUgbW9kdWxlcyBFbGVjdHJvbiBwcm92aWRlcyB0byBpdHMgb3duIHByb2Nlc3Nlcywgd2hpY2ggbm8gcGFja2FnZSBpbnN0YWxsczogTm9kZSdzIGBpc0J1aWx0aW5gIGRvZXMgbm90IGtub3cgdGhlbS5cbiAqIGBlbGVjdHJvbmAgYWxzbyBjb3ZlcnMgaXRzIGBlbGVjdHJvbi9tYWluYCwgYGVsZWN0cm9uL3JlbmRlcmVyYCBhbmQgYGVsZWN0cm9uL2NvbW1vbmAgc3VicGF0aHMuXG4gKi9cbmNvbnN0IEVMRUNUUk9OX0JVSUxUSU5fUEFDS0FHRV9OQU1FUzogUmVhZG9ubHlTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoWydlbGVjdHJvbicsICdvcmlnaW5hbC1mcyddKTtcbmNvbnN0IE5PREVfU0NIRU1FID0gJ25vZGU6JztcbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTiA9IC9cXC5kXFwuKD86Y3RzfG10c3x0cykkL3U7XG5jb25zdCBTQ0FOTkVEX0ZJTEVfUEFUVEVSTiA9IC9cXC4oPzpjanN8Y3RzfGpzfG1qc3xtdHN8dHMpJC91O1xuY29uc3QgVFlQRVNfU0NPUEUgPSAnQHR5cGVzLyc7XG5jb25zdCBTQ09QRURfUEFDS0FHRV9OQU1FX1NFR01FTlRfQ09VTlQgPSAyO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayB2YWxpZGF0ZURlcGVuZGVuY2llc30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGVEZXBlbmRlbmNpZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2xkZXJzIHRvIHNjYW4sIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZm9sZGVyLiBBIGZvbGRlciB0aGF0IGRvZXMgbm90IGV4aXN0IGlzIHNraXBwZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHtAbGluayBERUZBVUxUX1ZBTElEQVRFX0RFUEVOREVOQ0lFU19GT0xERVJTfVxuICAgKi9cbiAgcmVhZG9ubHkgZm9sZGVycz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENoZWNrcyB0aGF0IGV2ZXJ5IGJhcmUgaW1wb3J0IGluIHRoZSBwdWJsaXNoZWQgb3V0cHV0IG5hbWVzIGEgcGFja2FnZSBhIGNvbnN1bWVyIGluc3RhbGxzLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgY29udHJvbGxpbmcgd2hpY2ggZm9sZGVycyBhcmUgc2Nhbm5lZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBldmVyeSBpbXBvcnQgaXMgZGVjbGFyZWQuXG4gKiBAdGhyb3dzIElmIGFueSBpbXBvcnQgbmFtZXMgYSBwYWNrYWdlIHRoYXQgaXMgbm90IGluIGBkZXBlbmRlbmNpZXNgLCBgb3B0aW9uYWxEZXBlbmRlbmNpZXNgIG9yIGBwZWVyRGVwZW5kZW5jaWVzYCxcbiAqIHRoZSBwYWNrYWdlIGl0c2VsZiwgb3IgYSBOb2RlIGJ1aWx0aW4uIFRoZSBlcnJvciBsaXN0cyBlYWNoIG9mZmVuZGluZyBmaWxlIGFuZCBzcGVjaWZpZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZURlcGVuZGVuY2llcyhvcHRpb25zOiBWYWxpZGF0ZURlcGVuZGVuY2llc09wdGlvbnMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByb290ID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkUGFja2FnZUpzb24ocm9vdCk7XG4gIGNvbnN0IGluc3RhbGxlZFBhY2thZ2VOYW1lcyA9IG5ldyBTZXQoW1xuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLmRlcGVuZGVuY2llcyA/PyB7fSksXG4gICAgLi4uT2JqZWN0LmtleXMocGFja2FnZUpzb24ub3B0aW9uYWxEZXBlbmRlbmNpZXMgPz8ge30pLFxuICAgIC4uLk9iamVjdC5rZXlzKHBhY2thZ2VKc29uLnBlZXJEZXBlbmRlbmNpZXMgPz8ge30pXG4gIF0pO1xuICBpZiAocGFja2FnZUpzb24ubmFtZSkge1xuICAgIGluc3RhbGxlZFBhY2thZ2VOYW1lcy5hZGQocGFja2FnZUpzb24ubmFtZSk7XG4gIH1cblxuICBjb25zdCB1bmRlY2xhcmVkSW1wb3J0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmb2xkZXIgb2Ygb3B0aW9ucy5mb2xkZXJzID8/IERFRkFVTFRfVkFMSURBVEVfREVQRU5ERU5DSUVTX0ZPTERFUlMpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGVQYXRoIG9mIGF3YWl0IGdldEZpbGVQYXRocyhqb2luKHJvb3QsIGZvbGRlcikpKSB7XG4gICAgICBjb25zdCBpc0RlY2xhcmF0aW9uRmlsZSA9IERFQ0xBUkFUSU9OX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGVQYXRoKTtcbiAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIGdldEltcG9ydFNwZWNpZmllcnMoYXdhaXQgcmVhZEZpbGUoZmlsZVBhdGgsICd1dGYtOCcpKSkge1xuICAgICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IGdldFBhY2thZ2VOYW1lKHNwZWNpZmllcik7XG4gICAgICAgIGlmIChwYWNrYWdlTmFtZSA9PT0gbnVsbCB8fCBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKHBhY2thZ2VOYW1lKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0RlY2xhcmF0aW9uRmlsZSAmJiBpbnN0YWxsZWRQYWNrYWdlTmFtZXMuaGFzKGdldFR5cGVzUGFja2FnZU5hbWUocGFja2FnZU5hbWUpKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHVuZGVjbGFyZWRJbXBvcnRzLnB1c2goYCR7cmVsYXRpdmUocm9vdCwgZmlsZVBhdGgpLnJlcGxhY2VBbGwoJ1xcXFwnLCAnLycpfTogJHtzcGVjaWZpZXJ9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHVuZGVjbGFyZWRJbXBvcnRzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIHB1Ymxpc2hlZCBvdXRwdXQgaW1wb3J0cyBwYWNrYWdlcyB0aGF0IGFyZSBub3QgaW4gZGVwZW5kZW5jaWVzLCBvcHRpb25hbERlcGVuZGVuY2llcyBvciBwZWVyRGVwZW5kZW5jaWVzOlxcbiR7dW5kZWNsYXJlZEltcG9ydHMuam9pbignXFxuJyl9YFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0cyB0aGUgc2Nhbm5lZCBmaWxlcyB1bmRlciBhIGZvbGRlciwgcmVjdXJzaXZlbHkuXG4gKlxuICogQHBhcmFtIGZvbGRlciAtIFRoZSBhYnNvbHV0ZSBmb2xkZXIgcGF0aC5cbiAqIEByZXR1cm5zIFRoZSBhYnNvbHV0ZSBwYXRocyBvZiB0aGUgc2Nhbm5lZCBmaWxlcywgb3Igbm9uZSB3aGVuIHRoZSBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldEZpbGVQYXRocyhmb2xkZXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgaWYgKCFleGlzdHNTeW5jKGZvbGRlcikpIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgcmVhZGRpcihmb2xkZXIsIHsgcmVjdXJzaXZlOiB0cnVlLCB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICByZXR1cm4gZW50cmllc1xuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5pc0ZpbGUoKSAmJiBTQ0FOTkVEX0ZJTEVfUEFUVEVSTi50ZXN0KGVudHJ5Lm5hbWUpKVxuICAgIC5tYXAoKGVudHJ5KSA9PiBqb2luKGVudHJ5LnBhcmVudFBhdGgsIGVudHJ5Lm5hbWUpKVxuICAgIC5zb3J0KCk7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIG1vZHVsZSBzcGVjaWZpZXJzIGEgc291cmNlIGZpbGUgaW1wb3J0cywgcmVxdWlyZXMgb3IgcmVmZXJlbmNlcywgaWdub3Jpbmcgc3RyaW5ncyBhbmQgY29tbWVudHMuXG4gKlxuICogQHBhcmFtIHNvdXJjZVRleHQgLSBUaGUgc291cmNlIHRleHQuXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlIHNwZWNpZmllcnMuXG4gKi9cbmZ1bmN0aW9uIGdldEltcG9ydFNwZWNpZmllcnMoc291cmNlVGV4dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCB7IGltcG9ydGVkRmlsZXMgfSA9IHByZVByb2Nlc3NGaWxlKHNvdXJjZVRleHQsIHRydWUsIHRydWUpO1xuICByZXR1cm4gaW1wb3J0ZWRGaWxlcy5tYXAoKGltcG9ydGVkRmlsZSkgPT4gaW1wb3J0ZWRGaWxlLmZpbGVOYW1lKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwYWNrYWdlIGEgYmFyZSBzcGVjaWZpZXIgbmFtZXMuXG4gKlxuICogQHBhcmFtIHNwZWNpZmllciAtIFRoZSBtb2R1bGUgc3BlY2lmaWVyLlxuICogQHJldHVybnMgVGhlIHBhY2thZ2UgbmFtZSwgb3IgYG51bGxgIGZvciBhIHJlbGF0aXZlIG9yIGFic29sdXRlIHBhdGgsIGEgYnVpbHRpbiBvZiBOb2RlIG9yIEVsZWN0cm9uLCBvciBhbnlcbiAqIGBub2RlOmAtc2NoZW1lIHNwZWNpZmllcjogbm8gcGFja2FnZSBuYW1lIGNhbiBzdGFydCB3aXRoIGBub2RlOmAsIGFuZCBFbGVjdHJvbidzIGBub2RlOm9yaWdpbmFsLWZzYCBpcyBvbmUgTm9kZSdzIG93blxuICogbGlzdCBsYWNrcy5cbiAqL1xuZnVuY3Rpb24gZ2V0UGFja2FnZU5hbWUoc3BlY2lmaWVyOiBzdHJpbmcpOiBudWxsIHwgc3RyaW5nIHtcbiAgaWYgKFxuICAgIHNwZWNpZmllci5zdGFydHNXaXRoKCcuJykgfHwgc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSB8fCBzcGVjaWZpZXIuc3RhcnRzV2l0aChOT0RFX1NDSEVNRSkgfHwgaXNCdWlsdGluKHNwZWNpZmllcilcbiAgKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBzZWdtZW50cyA9IHNwZWNpZmllci5zcGxpdCgnLycpO1xuICBjb25zdCBzZWdtZW50Q291bnQgPSBzcGVjaWZpZXIuc3RhcnRzV2l0aCgnQCcpID8gU0NPUEVEX1BBQ0tBR0VfTkFNRV9TRUdNRU5UX0NPVU5UIDogMTtcbiAgY29uc3QgcGFja2FnZU5hbWUgPSBzZWdtZW50cy5zbGljZSgwLCBzZWdtZW50Q291bnQpLmpvaW4oJy8nKTtcbiAgcmV0dXJuIEVMRUNUUk9OX0JVSUxUSU5fUEFDS0FHRV9OQU1FUy5oYXMocGFja2FnZU5hbWUpID8gbnVsbCA6IHBhY2thZ2VOYW1lO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIERlZmluaXRlbHlUeXBlZCBwYWNrYWdlIHRoYXQgZGVjbGFyZXMgYSBwYWNrYWdlJ3MgdHlwZXMsIHdoaWNoIGlzIHdoYXQgYSBkZWNsYXJhdGlvbiBmaWxlJ3MgaW1wb3J0IG9mXG4gKiB0aGF0IHBhY2thZ2UgcmVzb2x2ZXMgdG8gd2hlbiB0aGUgcGFja2FnZSBzaGlwcyBubyB0eXBlcyBvZiBpdHMgb3duIChgZXN0cmVlYCDihpIgYEB0eXBlcy9lc3RyZWVgLFxuICogYEBzY29wZS9uYW1lYCDihpIgYEB0eXBlcy9zY29wZV9fbmFtZWApLlxuICpcbiAqIEBwYXJhbSBwYWNrYWdlTmFtZSAtIFRoZSBwYWNrYWdlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYEB0eXBlc2AgcGFja2FnZSBuYW1lLlxuICovXG5mdW5jdGlvbiBnZXRUeXBlc1BhY2thZ2VOYW1lKHBhY2thZ2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gVFlQRVNfU0NPUEUgKyBwYWNrYWdlTmFtZS5yZXBsYWNlKC9eQC91LCAnJykucmVwbGFjZSgnLycsICdfXycpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFDMUI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxPQUFPLGFBQWE7QUFDcEIsU0FBUyxzQkFBc0I7QUFFL0IsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyxpQkFBaUI7QUFLbkIsTUFBTSx3Q0FBMkQsQ0FBQyxVQUFVLFNBQVMsS0FBSztBQU1qRyxNQUFNLGlDQUFzRCxvQkFBSSxJQUFJLENBQUMsWUFBWSxhQUFhLENBQUM7QUFDL0YsTUFBTSxjQUFjO0FBQ3BCLE1BQU0sMkJBQTJCO0FBQ2pDLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0sY0FBYztBQUNwQixNQUFNLG9DQUFvQztBQXNCMUMsZUFBc0IscUJBQXFCLFVBQXVDLENBQUMsR0FBa0I7QUFDbkcsUUFBTSxPQUFPLFFBQVEsSUFBSTtBQUN6QixRQUFNLGNBQWMsTUFBTSxnQkFBZ0IsSUFBSTtBQUM5QyxRQUFNLHdCQUF3QixvQkFBSSxJQUFJO0FBQUEsSUFDcEMsR0FBRyxPQUFPLEtBQUssWUFBWSxnQkFBZ0IsQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnaoumov/typescript-dev-toolkit",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "Generic TypeScript project tooling: build, lint, format, spellcheck, test, gate and release scripts.",
5
5
  "keywords": [
6
6
  "typescript",