@astrojs/ts-plugin 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.turbo/turbo-build.log +5 -2
  2. package/CHANGELOG.md +16 -0
  3. package/LICENSE +36 -0
  4. package/README.md +1 -1
  5. package/dist/astro-snapshots.js +48 -47
  6. package/dist/astro-sys.js +22 -35
  7. package/dist/astro2tsx.js +17 -41
  8. package/dist/index.js +38 -39
  9. package/dist/language-service/completions.js +42 -42
  10. package/dist/language-service/definition.js +22 -40
  11. package/dist/language-service/diagnostics.js +15 -18
  12. package/dist/language-service/file-references.js +52 -0
  13. package/dist/language-service/find-references.js +20 -38
  14. package/dist/language-service/implementation.js +18 -37
  15. package/dist/language-service/index.js +26 -42
  16. package/dist/language-service/line-column-offset.js +44 -0
  17. package/dist/language-service/rename.js +24 -37
  18. package/dist/logger.js +18 -5
  19. package/dist/module-loader.js +28 -22
  20. package/dist/project-astro-files.js +125 -0
  21. package/dist/utils.js +34 -19
  22. package/dist/workers/TSXService.js +39 -0
  23. package/dist/workers/TSXWorker.js +9 -0
  24. package/package.json +36 -27
  25. package/src/astro-snapshots.ts +270 -291
  26. package/src/astro-sys.ts +22 -22
  27. package/src/astro2tsx.ts +5 -50
  28. package/src/index.ts +49 -60
  29. package/src/language-service/completions.ts +56 -64
  30. package/src/language-service/definition.ts +35 -42
  31. package/src/language-service/diagnostics.ts +32 -33
  32. package/src/language-service/file-references.ts +31 -0
  33. package/src/language-service/find-references.ts +67 -76
  34. package/src/language-service/implementation.ts +27 -34
  35. package/src/language-service/index.ts +17 -32
  36. package/src/language-service/line-column-offset.ts +21 -0
  37. package/src/language-service/rename.ts +38 -48
  38. package/src/logger.ts +32 -36
  39. package/src/module-loader.ts +124 -124
  40. package/src/project-astro-files.ts +130 -0
  41. package/src/utils.ts +54 -45
  42. package/src/workers/TSXService.ts +11 -0
  43. package/src/workers/TSXWorker.ts +8 -0
  44. package/test/fixtures/MyAstroComponent.astro +5 -0
  45. package/test/fixtures/script.ts +9 -0
  46. package/test/fixtures/tsconfig.json +3 -0
  47. package/test/runTest.js +41 -0
  48. package/test/suite/extension.test.js +68 -0
  49. package/test/suite/index.js +38 -0
  50. package/test/tsconfig.json +14 -0
  51. package/test/utils.js +65 -0
  52. package/tsconfig.json +2 -1
  53. package/dist/source-mapper.js +0 -114
  54. package/src/source-mapper.ts +0 -123
@@ -1,2 +1,5 @@
1
- @astrojs/ts-plugin:build: cache hit, replaying output fd40d6ff4c3b0885
2
- @astrojs/ts-plugin:build: $ astro-scripts build "src/**/*.ts"
1
+ @astrojs/ts-plugin:build: cache hit, replaying output 8078155e876ab96c
2
+ @astrojs/ts-plugin:build:
3
+ @astrojs/ts-plugin:build: > @astrojs/ts-plugin@0.4.0 build /home/runner/work/language-tools/language-tools/packages/ts-plugin
4
+ @astrojs/ts-plugin:build: > astro-scripts build "src/**/*.ts"
5
+ @astrojs/ts-plugin:build:
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @astrojs/ts-plugin
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c8cdef9: Improved support for `.astro` imports inside JavaScript/TypeScript files:
8
+ - Added support for finding file references inside Astro files
9
+ - Added support for path completions for .astro, .md and .mdx files
10
+ - Fixed cases where our TypeScript plugin would fail to load under certain circumstance
11
+ - Fixed certain cases where Go to definition / implementation would fail
12
+
13
+ ## 0.3.0
14
+
15
+ ### Minor Changes
16
+
17
+ - b66ae70: Update the VS Code extension to use a bundled version of the language server for better performance and compatibility with running the extension in the web
18
+
3
19
  ## 0.2.1
4
20
 
5
21
  ### Patch Changes
package/LICENSE ADDED
@@ -0,0 +1,36 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 The Astro Technology Company
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ """
24
+
25
+ This license applies to code originating from the https://github.com/sveltejs/language-tools repository,
26
+ which has provided an extremely solid foundation for us to build upon:
27
+
28
+ Copyright (c) 2020-Present [these people](https://github.com/sveltejs/language-tools/graphs/contributors)
29
+
30
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
31
+
32
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
33
+
34
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+
36
+ """
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # @astrojs/ts-plugin
2
2
 
3
- Work in progress TypeScript plugin adding support for `.astro` imports with proper typing
3
+ Work in progress TypeScript plugin adding support for `.astro` imports in `.ts` files
@@ -1,53 +1,46 @@
1
- var __create = Object.create;
1
+ "use strict";
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
8
+ __defProp(target, name, { get: all[name], enumerable: true });
11
9
  };
12
- var __reExport = (target, module2, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && key !== "default")
16
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
15
  }
18
- return target;
16
+ return to;
19
17
  };
20
- var __toModule = (module2) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
22
- };
23
- __markAsModule(exports);
24
- __export(exports, {
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var astro_snapshots_exports = {};
20
+ __export(astro_snapshots_exports, {
25
21
  AstroSnapshot: () => AstroSnapshot,
26
22
  AstroSnapshotManager: () => AstroSnapshotManager
27
23
  });
28
- var import_astro2tsx = __toModule(require("./astro2tsx.js"));
29
- var import_source_mapper = __toModule(require("./source-mapper.js"));
30
- var import_utils = __toModule(require("./utils.js"));
24
+ module.exports = __toCommonJS(astro_snapshots_exports);
25
+ var import_trace_mapping = require("@jridgewell/trace-mapping");
26
+ var import_astro2tsx = require("./astro2tsx.js");
27
+ var import_utils = require("./utils.js");
31
28
  class AstroSnapshot {
32
- constructor(typescript, fileName, astroCode, mapper, logger, isTsFile) {
29
+ constructor(typescript, fileName, astroCode, traceMap, logger) {
33
30
  this.typescript = typescript;
34
31
  this.fileName = fileName;
35
32
  this.astroCode = astroCode;
36
- this.mapper = mapper;
33
+ this.traceMap = traceMap;
37
34
  this.logger = logger;
38
- this.isTsFile = isTsFile;
39
35
  this.convertInternalCodePositions = false;
40
36
  }
41
- update(astroCode, mapper) {
37
+ update(astroCode, traceMap) {
42
38
  this.astroCode = astroCode;
43
- this.mapper = mapper;
39
+ this.traceMap = traceMap;
44
40
  this.lineOffsets = void 0;
45
41
  this.log("Updated Snapshot");
46
42
  }
47
43
  getOriginalTextSpan(textSpan) {
48
- if (!(0, import_utils.isNoTextSpanInGeneratedCode)(this.getText(), textSpan)) {
49
- return null;
50
- }
51
44
  const start = this.getOriginalOffset(textSpan.start);
52
45
  if (start === -1) {
53
46
  return null;
@@ -64,15 +57,15 @@ class AstroSnapshot {
64
57
  this.toggleMappingMode(true);
65
58
  const lineOffset = this.scriptInfo.positionToLineOffset(generatedOffset);
66
59
  this.debug("try convert offset", generatedOffset, "/", lineOffset);
67
- const original = this.mapper.getOriginalPosition({
68
- line: lineOffset.line - 1,
69
- character: lineOffset.offset - 1
60
+ const original = (0, import_trace_mapping.originalPositionFor)(this.traceMap, {
61
+ line: lineOffset.line,
62
+ column: lineOffset.offset
70
63
  });
71
64
  this.toggleMappingMode(false);
72
- if (original.line === -1) {
65
+ if (!original.line) {
73
66
  return -1;
74
67
  }
75
- const originalOffset = this.scriptInfo.lineOffsetToPosition(original.line + 1, original.character + 1);
68
+ const originalOffset = this.scriptInfo.lineOffsetToPosition(original.line, original.column);
76
69
  this.debug("converted offset to", original, "/", originalOffset);
77
70
  return originalOffset;
78
71
  }
@@ -87,17 +80,17 @@ class AstroSnapshot {
87
80
  }
88
81
  const lineOffset = this.positionAt(position);
89
82
  this.debug("positionToLineOffset for original code", position, lineOffset);
90
- return {line: lineOffset.line + 1, offset: lineOffset.character + 1};
83
+ return { line: lineOffset.line + 1, offset: lineOffset.character + 1 };
91
84
  };
92
85
  const lineOffsetToPosition = scriptInfo.lineOffsetToPosition.bind(scriptInfo);
93
86
  scriptInfo.lineOffsetToPosition = (line, offset) => {
94
87
  if (this.convertInternalCodePositions) {
95
88
  const position2 = lineOffsetToPosition(line, offset);
96
- this.debug("lineOffsetToPosition for generated code", {line, offset}, position2);
89
+ this.debug("lineOffsetToPosition for generated code", { line, offset }, position2);
97
90
  return position2;
98
91
  }
99
- const position = this.offsetAt({line: line - 1, character: offset - 1});
100
- this.debug("lineOffsetToPosition for original code", {line, offset}, position);
92
+ const position = this.offsetAt({ line: line - 1, character: offset - 1 });
93
+ this.debug("lineOffsetToPosition for original code", { line, offset }, position);
101
94
  return position;
102
95
  };
103
96
  this.scriptInfo = scriptInfo;
@@ -109,7 +102,7 @@ class AstroSnapshot {
109
102
  let low = 0;
110
103
  let high = lineOffsets.length;
111
104
  if (high === 0) {
112
- return {line: 0, character: offset};
105
+ return { line: 0, character: offset };
113
106
  }
114
107
  while (low < high) {
115
108
  const mid = Math.floor((low + high) / 2);
@@ -120,7 +113,7 @@ class AstroSnapshot {
120
113
  }
121
114
  }
122
115
  const line = low - 1;
123
- return {line, character: offset - lineOffsets[line]};
116
+ return { line, character: offset - lineOffsets[line] };
124
117
  }
125
118
  offsetAt(position) {
126
119
  const lineOffsets = this.getLineOffsets();
@@ -183,7 +176,7 @@ class AstroSnapshotManager {
183
176
  this.typescript = typescript;
184
177
  this.projectService = projectService;
185
178
  this.logger = logger;
186
- this.snapshots = new Map();
179
+ this.snapshots = /* @__PURE__ */ new Map();
187
180
  this.patchProjectServiceReadFile();
188
181
  }
189
182
  get(fileName) {
@@ -193,7 +186,10 @@ class AstroSnapshotManager {
193
186
  if (this.snapshots.has(fileName)) {
194
187
  return this.snapshots.get(fileName);
195
188
  }
196
- const scriptInfo = this.projectService.getOrCreateScriptInfoForNormalizedPath(this.typescript.server.toNormalizedPath(fileName), false);
189
+ const scriptInfo = this.projectService.getOrCreateScriptInfoForNormalizedPath(
190
+ this.typescript.server.toNormalizedPath(fileName),
191
+ false
192
+ );
197
193
  if (!scriptInfo) {
198
194
  this.logger.log("Was not able get snapshot for", fileName);
199
195
  return;
@@ -219,16 +215,21 @@ class AstroSnapshotManager {
219
215
  this.logger.debug("Read Astro file:", path);
220
216
  const astroCode = readFile(path) || "";
221
217
  try {
222
- const isTsFile = true;
223
- const result = (0, import_astro2tsx.astro2tsx)(astroCode, {
224
- filename: path.split("/").pop(),
225
- isTsFile
226
- });
218
+ const result = (0, import_astro2tsx.astro2tsx)(astroCode, path);
227
219
  const existingSnapshot = this.snapshots.get(path);
228
220
  if (existingSnapshot) {
229
- existingSnapshot.update(astroCode, new import_source_mapper.SourceMapper(result.map.mappings));
221
+ existingSnapshot.update(astroCode, new import_trace_mapping.TraceMap(result.map));
230
222
  } else {
231
- this.snapshots.set(path, new AstroSnapshot(this.typescript, path, astroCode, new import_source_mapper.SourceMapper(result.map.mappings), this.logger, isTsFile));
223
+ this.snapshots.set(
224
+ path,
225
+ new AstroSnapshot(
226
+ this.typescript,
227
+ path,
228
+ astroCode,
229
+ new import_trace_mapping.TraceMap(result.map),
230
+ this.logger
231
+ )
232
+ );
232
233
  }
233
234
  this.logger.log("Successfully read Astro file contents of", path);
234
235
  return result.code;
@@ -247,4 +248,4 @@ class AstroSnapshotManager {
247
248
  AstroSnapshot,
248
249
  AstroSnapshotManager
249
250
  });
250
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzdHJvLXNuYXBzaG90cy50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsdUJBQTBCO0FBRzFCLDJCQUE2QjtBQUM3QixtQkFBNkQ7QUFFdEQsb0JBQW9CO0FBQUEsRUFLdkIsWUFDWSxZQUNBLFVBQ0EsV0FDQSxRQUNBLFFBQ1EsVUFDbEI7QUFOVTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ1E7QUFSWix3Q0FBK0I7QUFBQTtBQUFBLEVBV3ZDLE9BQU8sV0FBbUIsUUFBc0I7QUFDNUMsU0FBSyxZQUFZO0FBQ2pCLFNBQUssU0FBUztBQUNkLFNBQUssY0FBYztBQUNuQixTQUFLLElBQUk7QUFBQTtBQUFBLEVBR2Isb0JBQW9CLFVBQTJDO0FBQzNELFFBQUksQ0FBQyw4Q0FBNEIsS0FBSyxXQUFXLFdBQVc7QUFDeEQsYUFBTztBQUFBO0FBR1gsVUFBTSxRQUFRLEtBQUssa0JBQWtCLFNBQVM7QUFDOUMsUUFBSSxVQUFVLElBQUk7QUFDZCxhQUFPO0FBQUE7QUFJWCxXQUFPO0FBQUEsTUFDSDtBQUFBLE1BQ0EsUUFBUSxTQUFTO0FBQUE7QUFBQTtBQUFBLEVBSXpCLGtCQUFrQixpQkFBeUI7QUFDdkMsUUFBSSxDQUFDLEtBQUssWUFBWTtBQUNsQixhQUFPO0FBQUE7QUFHWCxTQUFLLGtCQUFrQjtBQUN2QixVQUFNLGFBQWEsS0FBSyxXQUFXLHFCQUFxQjtBQUN4RCxTQUFLLE1BQU0sc0JBQXNCLGlCQUFpQixLQUFLO0FBQ3ZELFVBQU0sV0FBVyxLQUFLLE9BQU8sb0JBQW9CO0FBQUEsTUFDN0MsTUFBTSxXQUFXLE9BQU87QUFBQSxNQUN4QixXQUFXLFdBQVcsU0FBUztBQUFBO0FBRW5DLFNBQUssa0JBQWtCO0FBQ3ZCLFFBQUksU0FBUyxTQUFTLElBQUk7QUFDdEIsYUFBTztBQUFBO0FBR1gsVUFBTSxpQkFBaUIsS0FBSyxXQUFXLHFCQUNuQyxTQUFT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
251
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzdHJvLXNuYXBzaG90cy50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJCQUFnRTtBQUVoRSx1QkFBMEI7QUFFMUIsbUJBQWdDO0FBRXpCLE1BQU0sY0FBYztBQUFBLEVBSzFCLFlBQ1MsWUFDQSxVQUNBLFdBQ0EsVUFDQSxRQUNQO0FBTE87QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBULFNBQVEsK0JBQStCO0FBQUEsRUFRcEM7QUFBQSxFQUVILE9BQU8sV0FBbUIsVUFBb0I7QUFDN0MsU0FBSyxZQUFZO0FBQ2pCLFNBQUssV0FBVztBQUNoQixTQUFLLGNBQWM7QUFDbkIsU0FBSyxJQUFJLGtCQUFrQjtBQUFBLEVBQzVCO0FBQUEsRUFFQSxvQkFBb0IsVUFBMkM7QUFDOUQsVUFBTSxRQUFRLEtBQUssa0JBQWtCLFNBQVMsS0FBSztBQUNuRCxRQUFJLFVBQVUsSUFBSTtBQUNqQixhQUFPO0FBQUEsSUFDUjtBQUdBLFdBQU87QUFBQSxNQUNOO0FBQUEsTUFDQSxRQUFRLFNBQVM7QUFBQSxJQUNsQjtBQUFBLEVBQ0Q7QUFBQSxFQUVBLGtCQUFrQixpQkFBeUI7QUFDMUMsUUFBSSxDQUFDLEtBQUssWUFBWTtBQUNyQixhQUFPO0FBQUEsSUFDUjtBQUVBLFNBQUssa0JBQWtCLElBQUk7QUFDM0IsVUFBTSxhQUFhLEtBQUssV0FBVyxxQkFBcUIsZUFBZTtBQUN2RSxTQUFLLE1BQU0sc0JBQXNCLGlCQUFpQixLQUFLLFVBQVU7QUFDakUsVUFBTSxlQUFXLDBDQUFvQixLQUFLLFVBQVU7QUFBQSxNQUNuRCxNQUFNLFdBQVc7QUFBQSxNQUNqQixRQUFRLFdBQVc7QUFBQSxJQUNwQixDQUFDO0FBQ0QsU0FBSyxrQkFBa0IsS0FBSztBQUU1QixRQUFJLENBQUMsU0FBUyxNQUFNO0FBQ25CLGFBQU87QUFBQSxJQUNSO0FBRUEsVUFBTSxpQkFBaUIsS0FBSyxX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RUEsT0FBTyxVQUE2QztBQUNuRCxRQUFJLEtBQUssVUFBVSxJQUFJLFFBQVEsR0FBRztBQUNqQyxhQUFPLEtBQUssVUFBVSxJQUFJLFFBQVE7QUFBQSxJQUNuQztBQUdBLFVBQU0sYUFBYSxLQUFLLGVBQWU7QUFBQSxNQUN0QyxLQUFLLFdBQVcsT0FBTyxpQkFBaUIsUUFBUTtBQUFBLE1BQ2hEO0FBQUEsSUFDRDtBQUNBLFFBQUksQ0FBQyxZQUFZO0FBQ2hCLFdBQUssT0FBTyxJQUFJLGlDQUFpQyxRQUFRO0FBQ3pEO0FBQUEsSUFDRDtBQUVBLFFBQUk7QUFDSCxpQkFBVyxZQUFZO0FBQUEsSUFDeEIsU0FBUyxHQUFQO0FBQ0QsV0FBSyxPQUFPLElBQUksMkJBQTJCLFFBQVE7QUFBQSxJQUNwRDtBQUNBLFVBQU0sV0FBVyxLQUFLLFVBQVUsSUFBSSxRQUFRO0FBQzVDLFFBQUksQ0FBQyxVQUFVO0FBQ2QsV0FBSyxPQUFPLElBQUkseUVBQXlFLFFBQVE7QUFDakc7QUFBQSxJQUNEO0FBQ0EsYUFBUyxzQkFBc0IsVUFBVTtBQUN6QyxTQUFLLFVBQVUsSUFBSSxVQUFVLFFBQVE7QUFDckMsV0FBTztBQUFBLEVBQ1I7QUFBQSxFQUVRLDhCQUE4QjtBQUNyQyxVQUFNLFdBQVcsS0FBSyxlQUFlLEtBQUs7QUFDMUMsU0FBSyxlQUFlLEtBQUssV0FBVyxDQUFDLFNBQWlCO0FBQ3JELGNBQUksOEJBQWdCLElBQUksR0FBRztBQUMxQixhQUFLLE9BQU8sTUFBTSxvQkFBb0IsSUFBSTtBQUMxQyxjQUFNLFlBQVksU0FBUyxJQUFJLEtBQUs7QUFDcEMsWUFBSTtBQUNILGdCQUFNLGFBQVMsNEJBQVUsV0FBVyxJQUFJO0FBQ3hDLGdCQUFNLG1CQUFtQixLQUFLLFVBQVUsSUFBSSxJQUFJO0FBQ2hELGNBQUksa0JBQWtCO0FBQ3JCLDZCQUFpQixPQUFPLFdBQVcsSUFBSSw4QkFBUyxPQUFPLEdBQXVCLENBQUM7QUFBQSxVQUNoRixPQUFPO0FBQ04saUJBQUssVUFBVTtBQUFBLGNBQ2Q7QUFBQSxjQUNBLElBQUk7QUFBQSxnQkFDSCxLQUFLO0FBQUEsZ0JBQ0w7QUFBQSxnQkFDQTtBQUFBLGdCQUNBLElBQUksOEJBQVMsT0FBTyxHQUF1QjtBQUFBLGdCQUMzQyxLQUFLO0FBQUEsY0FDTjtBQUFBLFlBQ0Q7QUFBQSxVQUNEO0FBQ0EsZUFBSyxPQUFPLElBQUksNENBQTRDLElBQUk7QUFDaEUsaUJBQU8sT0FBTztBQUFBLFFBQ2YsU0FBUyxHQUFQO0FBQ0QsZUFBSyxPQUFPLElBQUksNkJBQTZCLElBQUk7QUFDakQsZUFBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBQUEsUUFDOUI7QUFBQSxNQUNELE9BQU87QUFDTixlQUFPLFNBQVMsSUFBSTtBQUFBLE1BQ3JCO0FBQUEsSUFDRDtBQUFBLEVBQ0Q7QUFDRDsiLAogICJuYW1lcyI6IFsibGluZU9mZnNldCIsICJwb3NpdGlvbiJdCn0K
package/dist/astro-sys.js CHANGED
@@ -1,50 +1,37 @@
1
+ "use strict";
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
6
  var __getProtoOf = Object.getPrototypeOf;
9
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
25
8
  var __export = (target, all) => {
26
9
  for (var name in all)
27
- __defProp(target, name, {get: all[name], enumerable: true});
10
+ __defProp(target, name, { get: all[name], enumerable: true });
28
11
  };
29
- var __reExport = (target, module2, desc) => {
30
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
31
- for (let key of __getOwnPropNames(module2))
32
- if (!__hasOwnProp.call(target, key) && key !== "default")
33
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
17
  }
35
- return target;
36
- };
37
- var __toModule = (module2) => {
38
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
18
+ return to;
39
19
  };
40
- __markAsModule(exports);
41
- __export(exports, {
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+ var astro_sys_exports = {};
26
+ __export(astro_sys_exports, {
42
27
  createAstroSys: () => createAstroSys
43
28
  });
44
- var import_typescript = __toModule(require("typescript"));
45
- var import_utils = __toModule(require("./utils.js"));
29
+ module.exports = __toCommonJS(astro_sys_exports);
30
+ var import_typescript = __toESM(require("typescript"));
31
+ var import_utils = require("./utils.js");
46
32
  function createAstroSys(logger) {
47
- const astroSys = __spreadProps(__spreadValues({}, import_typescript.default.sys), {
33
+ const astroSys = {
34
+ ...import_typescript.default.sys,
48
35
  fileExists(path) {
49
36
  return import_typescript.default.sys.fileExists((0, import_utils.ensureRealAstroFilePath)(path));
50
37
  },
@@ -52,7 +39,7 @@ function createAstroSys(logger) {
52
39
  const extensionsWithAstro = (extensions != null ? extensions : []).concat(".astro");
53
40
  return import_typescript.default.sys.readDirectory(path, extensionsWithAstro, exclude, include, depth);
54
41
  }
55
- });
42
+ };
56
43
  if (import_typescript.default.sys.realpath) {
57
44
  const realpath = import_typescript.default.sys.realpath;
58
45
  astroSys.realpath = function(path) {
@@ -68,4 +55,4 @@ function createAstroSys(logger) {
68
55
  0 && (module.exports = {
69
56
  createAstroSys
70
57
  });
71
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzdHJvLXN5cy50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBQWU7QUFFZixtQkFBcUY7QUFLOUUsd0JBQXdCLFFBQWdCO0FBQzNDLFFBQU0sV0FBc0IsaUNBQ3JCLDBCQUFHLE1BRGtCO0FBQUEsSUFFeEIsV0FBVyxNQUFjO0FBQ3JCLGFBQU8sMEJBQUcsSUFBSSxXQUFXLDBDQUF3QjtBQUFBO0FBQUEsSUFFckQsY0FBYyxNQUFNLFlBQVksU0FBUyxTQUFTLE9BQU87QUFDckQsWUFBTSxzQkFBdUIsbUNBQWMsSUFBSSxPQUFPO0FBRXRELGFBQU8sMEJBQUcsSUFBSSxjQUFjLE1BQU0scUJBQXFCLFNBQVMsU0FBUztBQUFBO0FBQUE7QUFJakYsTUFBSSwwQkFBRyxJQUFJLFVBQVU7QUFDakIsVUFBTSxXQUFXLDBCQUFHLElBQUk7QUFDeEIsYUFBUyxXQUFXLFNBQVUsTUFBTTtBQUNoQyxVQUFJLHlDQUF1QixPQUFPO0FBQzlCLGVBQU8sU0FBUyxzQ0FBb0IsU0FBUztBQUFBO0FBRWpELGFBQU8sU0FBUztBQUFBO0FBQUE7QUFJeEIsU0FBTztBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
58
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzdHJvLXN5cy50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFBZTtBQUVmLG1CQUFxRjtBQUs5RSxTQUFTLGVBQWUsUUFBZ0I7QUFDOUMsUUFBTSxXQUFzQjtBQUFBLElBQzNCLEdBQUcsa0JBQUFBLFFBQUc7QUFBQSxJQUNOLFdBQVcsTUFBYztBQUN4QixhQUFPLGtCQUFBQSxRQUFHLElBQUksZUFBVyxzQ0FBd0IsSUFBSSxDQUFDO0FBQUEsSUFDdkQ7QUFBQSxJQUNBLGNBQWMsTUFBTSxZQUFZLFNBQVMsU0FBUyxPQUFPO0FBQ3hELFlBQU0sdUJBQXVCLGtDQUFjLENBQUMsR0FBRyxPQUFPLFFBQVE7QUFFOUQsYUFBTyxrQkFBQUEsUUFBRyxJQUFJLGNBQWMsTUFBTSxxQkFBcUIsU0FBUyxTQUFTLEtBQUs7QUFBQSxJQUMvRTtBQUFBLEVBQ0Q7QUFFQSxNQUFJLGtCQUFBQSxRQUFHLElBQUksVUFBVTtBQUNwQixVQUFNLFdBQVcsa0JBQUFBLFFBQUcsSUFBSTtBQUN4QixhQUFTLFdBQVcsU0FBVSxNQUFNO0FBQ25DLGNBQUkscUNBQXVCLElBQUksR0FBRztBQUNqQyxlQUFPLGFBQVMsa0NBQW9CLElBQUksQ0FBQyxJQUFJO0FBQUEsTUFDOUM7QUFDQSxhQUFPLFNBQVMsSUFBSTtBQUFBLElBQ3JCO0FBQUEsRUFDRDtBQUVBLFNBQU87QUFDUjsiLAogICJuYW1lcyI6IFsidHMiXQp9Cg==
package/dist/astro2tsx.js CHANGED
@@ -1,57 +1,33 @@
1
- var __create = Object.create;
1
+ "use strict";
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
10
- __defProp(target, name, {get: all[name], enumerable: true});
8
+ __defProp(target, name, { get: all[name], enumerable: true });
11
9
  };
12
- var __reExport = (target, module2, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && key !== "default")
16
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
15
  }
18
- return target;
16
+ return to;
19
17
  };
20
- var __toModule = (module2) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
22
- };
23
- __markAsModule(exports);
24
- __export(exports, {
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var astro2tsx_exports = {};
20
+ __export(astro2tsx_exports, {
25
21
  astro2tsx: () => astro2tsx
26
22
  });
27
- var import_ts_morph = __toModule(require("ts-morph"));
28
- function astro2tsx(code, options) {
29
- const compiled = transformContent(code);
30
- const result = {
31
- code: compiled,
32
- map: {
33
- mappings: []
34
- }
35
- };
36
- return result;
37
- }
38
- function addProps(content) {
39
- let defaultExportType = "Record<string, any>";
40
- const project = new import_ts_morph.Project({});
41
- const sourceFile = project.createSourceFile("testing.ts", content);
42
- const declarations = sourceFile.getExportedDeclarations();
43
- if (declarations.has("Props")) {
44
- defaultExportType = "Props";
45
- }
46
- return `
47
- export default function (props: ${defaultExportType}): string;`;
48
- }
49
- function transformContent(content) {
50
- const ts = content.replace(/---/g, "///");
51
- return ts + addProps(ts);
23
+ module.exports = __toCommonJS(astro2tsx_exports);
24
+ var import_TSXService = require("./workers/TSXService");
25
+ function astro2tsx(content, fileName) {
26
+ const tsx = (0, import_TSXService.convertToTSX)(content, { sourcefile: fileName });
27
+ return tsx;
52
28
  }
53
29
  // Annotate the CommonJS export names for ESM import in node:
54
30
  0 && (module.exports = {
55
31
  astro2tsx
56
32
  });
57
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzdHJvMnRzeC50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBLHNCQUF3QjtBQWlCakIsbUJBQW1CLE1BQWMsU0FBNEM7QUFDbEYsUUFBTSxXQUFXLGlCQUFpQjtBQUVsQyxRQUFNLFNBQTBCO0FBQUEsSUFDOUIsTUFBTTtBQUFBLElBQ04sS0FBSztBQUFBLE1BQ0gsVUFBVTtBQUFBO0FBQUE7QUFJZCxTQUFPO0FBQUE7QUFJVCxrQkFBa0IsU0FBeUI7QUFDekMsTUFBSSxvQkFBb0I7QUFHeEIsUUFBTSxVQUFVLElBQUksd0JBQVE7QUFDNUIsUUFBTSxhQUFhLFFBQVEsaUJBQWlCLGNBQWM7QUFDMUQsUUFBTSxlQUFlLFdBQVc7QUFDaEMsTUFBRyxhQUFhLElBQUksVUFBVTtBQUM1Qix3QkFBb0I7QUFBQTtBQUV0QixTQUFPO0FBQUEsa0NBQTBDO0FBQUE7QUFHbkQsMEJBQTBCLFNBQWlCO0FBQ3pDLFFBQU0sS0FBSyxRQUFRLFFBQVEsUUFBUTtBQUNuQyxTQUNFLEtBRUEsU0FBUztBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
33
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2FzdHJvMnRzeC50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQSx3QkFBNkI7QUFFdEIsU0FBUyxVQUFVLFNBQWlCLFVBQTZCO0FBQ3ZFLFFBQU0sVUFBTSxnQ0FBYSxTQUFTLEVBQUUsWUFBWSxTQUFTLENBQUM7QUFFMUQsU0FBTztBQUNSOyIsCiAgIm5hbWVzIjogW10KfQo=
package/dist/index.js CHANGED
@@ -1,55 +1,54 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
8
- var __reExport = (target, module2, desc) => {
9
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
10
- for (let key of __getOwnPropNames(module2))
11
- if (!__hasOwnProp.call(target, key) && key !== "default")
12
- __defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
13
- }
14
- return target;
15
- };
16
- var __toModule = (module2) => {
17
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
18
- };
19
- var import_language_service = __toModule(require("./language-service/index.js"));
20
- var import_logger = __toModule(require("./logger.js"));
21
- var import_module_loader = __toModule(require("./module-loader.js"));
22
- var import_astro_snapshots = __toModule(require("./astro-snapshots.js"));
1
+ "use strict";
2
+ var import_astro_snapshots = require("./astro-snapshots.js");
3
+ var import_language_service = require("./language-service/index.js");
4
+ var import_logger = require("./logger.js");
5
+ var import_module_loader = require("./module-loader.js");
6
+ var import_project_astro_files = require("./project-astro-files.js");
7
+ var import_utils = require("./utils.js");
23
8
  function init(modules) {
9
+ const ts = modules.typescript;
24
10
  function create(info) {
11
+ var _a, _b;
25
12
  const logger = new import_logger.Logger(info.project.projectService.logger);
26
- if (!isAstroProject(info)) {
13
+ const parsedCommandLine = (_b = (_a = info.languageServiceHost).getParsedCommandLine) == null ? void 0 : _b.call(_a, (0, import_utils.getConfigPathForProject)(info.project));
14
+ if (!isAstroProject(info.project, parsedCommandLine)) {
27
15
  logger.log("Detected that this is not an Astro project, abort patching TypeScript");
28
16
  return info.languageService;
29
17
  }
30
18
  logger.log("Starting Astro plugin");
31
19
  const snapshotManager = new import_astro_snapshots.AstroSnapshotManager(modules.typescript, info.project.projectService, logger);
32
- patchCompilerOptions(info.project);
20
+ if (parsedCommandLine) {
21
+ new import_project_astro_files.ProjectAstroFilesManager(
22
+ modules.typescript,
23
+ info.project,
24
+ info.serverHost,
25
+ snapshotManager,
26
+ parsedCommandLine
27
+ );
28
+ }
33
29
  (0, import_module_loader.patchModuleLoader)(logger, snapshotManager, modules.typescript, info.languageServiceHost, info.project);
34
30
  return (0, import_language_service.decorateLanguageService)(info.languageService, snapshotManager, logger);
35
31
  }
36
- function getExternalFiles(_project) {
37
- return [];
32
+ function getExternalFiles(project) {
33
+ var _a, _b;
34
+ return (_b = (_a = import_project_astro_files.ProjectAstroFilesManager.getInstance(project.getProjectName())) == null ? void 0 : _a.getFiles()) != null ? _b : [];
38
35
  }
39
- function patchCompilerOptions(project) {
40
- var _a;
41
- const compilerOptions = project.getCompilerOptions();
42
- compilerOptions.jsx = modules.typescript.JsxEmit.Preserve;
43
- if (!((_a = compilerOptions.jsxFactory) == null ? void 0 : _a.startsWith("astro"))) {
44
- compilerOptions.jsxFactory = "astro.createElement";
36
+ function isAstroProject(project, parsedCommandLine) {
37
+ if (parsedCommandLine) {
38
+ const astroFiles = (0, import_utils.readProjectAstroFilesFromFs)(ts, project, parsedCommandLine);
39
+ if (astroFiles.length > 0)
40
+ return true;
41
+ }
42
+ try {
43
+ const compilerOptions = project.getCompilerOptions();
44
+ const hasAstroInstalled = typeof compilerOptions.configFilePath !== "string" || require.resolve("astro", { paths: [compilerOptions.configFilePath] });
45
+ return hasAstroInstalled;
46
+ } catch (e) {
47
+ project.projectService.logger.info(e);
48
+ return false;
45
49
  }
46
50
  }
47
- function isAstroProject(info) {
48
- const compilerOptions = info.project.getCompilerOptions();
49
- const isNoJsxProject = (!compilerOptions.jsx || compilerOptions.jsx === modules.typescript.JsxEmit.Preserve) && (!compilerOptions.jsxFactory || compilerOptions.jsxFactory.startsWith("astro")) && !compilerOptions.jsxFragmentFactory && !compilerOptions.jsxImportSource;
50
- return isNoJsxProject;
51
- }
52
- return {create, getExternalFiles};
51
+ return { create, getExternalFiles };
53
52
  }
54
53
  module.exports = init;
55
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsOEJBQXdDO0FBQ3hDLG9CQUF1QjtBQUN2QiwyQkFBa0M7QUFDbEMsNkJBQXFDO0FBRXJDLGNBQWMsU0FBb0M7QUFDaEQsa0JBQWdCLE1BQWtDO0FBQ2hELFVBQU0sU0FBUyxJQUFJLHFCQUFPLEtBQUssUUFBUSxlQUFlO0FBRXRELFFBQUksQ0FBQyxlQUFlLE9BQU87QUFDdkIsYUFBTyxJQUFJO0FBQ1gsYUFBTyxLQUFLO0FBQUE7QUFHaEIsV0FBTyxJQUFJO0FBRVgsVUFBTSxrQkFBa0IsSUFBSSw0Q0FDeEIsUUFBUSxZQUNSLEtBQUssUUFBUSxnQkFDYjtBQUdKLHlCQUFxQixLQUFLO0FBQzFCLGdEQUNJLFFBQ0EsaUJBQ0EsUUFBUSxZQUNSLEtBQUsscUJBQ0wsS0FBSztBQUVULFdBQU8scURBQXdCLEtBQUssaUJBQWlCLGlCQUFpQjtBQUFBO0FBR3hFLDRCQUEwQixVQUF1QztBQVM3RCxXQUFPO0FBQUE7QUFHWCxnQ0FBOEIsU0FBNEI7QUEvQzVEO0FBZ0RNLFVBQU0sa0JBQWtCLFFBQVE7QUFFaEMsb0JBQWdCLE1BQU0sUUFBUSxXQUFXLFFBQVE7QUFHakQsUUFBSSxDQUFDLHVCQUFnQixlQUFoQixtQkFBNEIsV0FBVyxXQUFVO0FBSWxELHNCQUFnQixhQUFhO0FBQUE7QUFBQTtBQUlyQywwQkFBd0IsTUFBa0M7QUFFdEQsVUFBTSxrQkFBa0IsS0FBSyxRQUFRO0FBQ3JDLFVBQU0saUJBQ0QsRUFBQyxnQkFBZ0IsT0FBTyxnQkFBZ0IsUUFBUSxRQUFRLFdBQVcsUUFBUSxhQUMzRSxFQUFDLGdCQUFnQixjQUFjLGdCQUFnQixXQUFXLFdBQVcsYUFDdEUsQ0FBQyxnQkFBZ0Isc0JBQ2pCLENBQUMsZ0JBQWdCO0FBQ3JCLFdBQU87QUFBQTtBQUdYLFNBQU8sQ0FBRSxRQUFRO0FBQUE7QUFHbkIsaUJBQVM7IiwKICAibmFtZXMiOiBbXQp9Cg==
54
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBLDZCQUFxQztBQUNyQyw4QkFBd0M7QUFDeEMsb0JBQXVCO0FBQ3ZCLDJCQUFrQztBQUNsQyxpQ0FBeUM7QUFDekMsbUJBQXFFO0FBRXJFLFNBQVMsS0FBSyxTQUEwRTtBQUN2RixRQUFNLEtBQUssUUFBUTtBQUVuQixXQUFTLE9BQU8sTUFBc0Q7QUFYdkU7QUFZRSxVQUFNLFNBQVMsSUFBSSxxQkFBTyxLQUFLLFFBQVEsZUFBZSxNQUFNO0FBQzVELFVBQU0scUJBQW9CLGdCQUFLLHFCQUFvQix5QkFBekIsZ0NBQWdELHNDQUF3QixLQUFLLE9BQU87QUFFOUcsUUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLGlCQUFpQixHQUFHO0FBQ3JELGFBQU8sSUFBSSx1RUFBdUU7QUFDbEYsYUFBTyxLQUFLO0FBQUEsSUFDYjtBQUVBLFdBQU8sSUFBSSx1QkFBdUI7QUFFbEMsVUFBTSxrQkFBa0IsSUFBSSw0Q0FBcUIsUUFBUSxZQUFZLEtBQUssUUFBUSxnQkFBZ0IsTUFBTTtBQUN4RyxRQUFJLG1CQUFtQjtBQUN0QixVQUFJO0FBQUEsUUFDSCxRQUFRO0FBQUEsUUFDUixLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQUEsUUFDTDtBQUFBLFFBQ0E7QUFBQSxNQUNEO0FBQUEsSUFDRDtBQUVBLGdEQUFrQixRQUFRLGlCQUFpQixRQUFRLFlBQVksS0FBSyxxQkFBcUIsS0FBSyxPQUFPO0FBQ3JHLGVBQU8saURBQXdCLEtBQUssaUJBQWlCLGlCQUFpQixNQUFNO0FBQUEsRUFDN0U7QUFFQSxXQUFTLGlCQUFpQixTQUFzQztBQXJDakU7QUFzQ0UsWUFBTywrREFBeUIsWUFBWSxRQUFRLGVBQWUsQ0FBQyxNQUE3RCxtQkFBZ0UsZUFBaEUsWUFBOEUsQ0FBQztBQUFBLEVBQ3ZGO0FBRUEsV0FBUyxlQUFlLFNBQTRCLG1CQUFxRDtBQUN4RyxRQUFJLG1CQUFtQjtBQUN0QixZQUFNLGlCQUFhLDBDQUE0QixJQUFJLFNBQVMsaUJBQWlCO0FBRTdFLFVBQUksV0FBVyxTQUFTO0FBQUcsZUFBTztBQUFBLElBQ25DO0FBRUEsUUFBSTtBQUNILFlBQU0sa0JBQWtCLFFBQVEsbUJBQW1CO0FBQ25ELFlBQU0sb0JBQ0wsT0FBTyxnQkFBZ0IsbUJBQW1CLFlBQzFDLFFBQVEsUUFBUSxTQUFTLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixjQUFjLEVBQUUsQ0FBQztBQUVyRSxhQUFPO0FBQUEsSUFDUixTQUFTLEdBQVA7QUFDRCxjQUFRLGVBQWUsT0FBTyxLQUFLLENBQVc7QUFDOUMsYUFBTztBQUFBLElBQ1I7QUFBQSxFQUNEO0FBRUEsU0FBTyxFQUFFLFFBQVEsaUJBQWlCO0FBQ25DO0FBRUEsaUJBQVM7IiwKICAibmFtZXMiOiBbXQp9Cg==