@contentrain/mcp 2.3.1 → 3.0.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.
- package/README.md +1 -1
- package/dist/{annotations-D3tlsF38.mjs → annotations-C-tQVmot.mjs} +15 -1
- package/dist/annotations-C-tQVmot.mjs.map +1 -0
- package/dist/{apply-manager-SLCRLHN_.mjs → apply-manager-BybvnUVC.mjs} +28 -18
- package/dist/apply-manager-BybvnUVC.mjs.map +1 -0
- package/dist/{astro-parser-LNjEspnf.mjs → astro-parser-Cb9uuBpW.mjs} +3 -3
- package/dist/{astro-parser-LNjEspnf.mjs.map → astro-parser-Cb9uuBpW.mjs.map} +1 -1
- package/dist/{availability-sWWRz2W0.mjs → availability-Dgcmvv99.mjs} +1 -1
- package/dist/{availability-sWWRz2W0.mjs.map → availability-Dgcmvv99.mjs.map} +1 -1
- package/dist/{branch-lifecycle-BAfgSQBv.mjs → branch-lifecycle-B6PXZ2N7.mjs} +11 -61
- package/dist/branch-lifecycle-B6PXZ2N7.mjs.map +1 -0
- package/dist/{branch-lifecycle-D4W0WIs4.d.mts → branch-lifecycle-DhzHfzs3.d.mts} +1 -1
- package/dist/{branch-lifecycle-D4W0WIs4.d.mts.map → branch-lifecycle-DhzHfzs3.d.mts.map} +1 -1
- package/dist/{compiler-CNzm2Y2I.mjs → compiler-B6hNQeCC.mjs} +2 -2
- package/dist/{compiler-CNzm2Y2I.mjs.map → compiler-B6hNQeCC.mjs.map} +1 -1
- package/dist/{compiler-sfc.cjs-y0B0L3MH.mjs → compiler-sfc.cjs-8yY7b5bx.mjs} +2 -2
- package/dist/{compiler-sfc.cjs-y0B0L3MH.mjs.map → compiler-sfc.cjs-8yY7b5bx.mjs.map} +1 -1
- package/dist/{config-oxxgznz7.mjs → config-VlRKRwAS.mjs} +1 -1
- package/dist/{config-oxxgznz7.mjs.map → config-VlRKRwAS.mjs.map} +1 -1
- package/dist/{content-manager-DWo3G64y.d.mts → content-manager-Dn4tqDw1.d.mts} +10 -7
- package/dist/content-manager-Dn4tqDw1.d.mts.map +1 -0
- package/dist/{context-DjglDPvj.mjs → context-C3x6I3cE.mjs} +4 -4
- package/dist/{context-DjglDPvj.mjs.map → context-C3x6I3cE.mjs.map} +1 -1
- package/dist/core/apply-manager.d.mts +8 -0
- package/dist/core/apply-manager.d.mts.map +1 -1
- package/dist/core/apply-manager.mjs +10 -9
- package/dist/core/config.d.mts +1 -1
- package/dist/core/config.mjs +1 -1
- package/dist/core/content-manager.d.mts +2 -2
- package/dist/core/content-manager.mjs +2 -2
- package/dist/core/context.d.mts +1 -1
- package/dist/core/context.mjs +5 -5
- package/dist/core/contracts/index.d.mts +2 -2
- package/dist/core/doctor.mjs +7 -6
- package/dist/core/graph-builder.mjs +2 -2
- package/dist/core/meta-manager.d.mts +8 -9
- package/dist/core/meta-manager.d.mts.map +1 -1
- package/dist/core/meta-manager.mjs +2 -2
- package/dist/core/model-manager.d.mts +39 -3
- package/dist/core/model-manager.d.mts.map +1 -1
- package/dist/core/model-manager.mjs +3 -3
- package/dist/core/ops/index.d.mts +40 -3
- package/dist/core/ops/index.d.mts.map +1 -1
- package/dist/core/ops/index.mjs +4 -4
- package/dist/core/overlay-reader.d.mts +1 -1
- package/dist/core/overlay-reader.mjs +1 -1
- package/dist/core/scan-config.mjs +1 -1
- package/dist/core/scanner.mjs +3 -3
- package/dist/core/validator/index.d.mts +1 -1
- package/dist/core/validator/index.d.mts.map +1 -1
- package/dist/core/validator/index.mjs +4 -4
- package/dist/{detect-CdDU4Ew_.mjs → detect-B0oXbQaP.mjs} +1 -1
- package/dist/{detect-CdDU4Ew_.mjs.map → detect-B0oXbQaP.mjs.map} +1 -1
- package/dist/{doctor-BwJ_nmqS.mjs → doctor-DNPuGgcg.mjs} +28 -15
- package/dist/doctor-DNPuGgcg.mjs.map +1 -0
- package/dist/{errors-e0YdjooK.mjs → errors-CvBS12e7.mjs} +1 -1
- package/dist/{errors-e0YdjooK.mjs.map → errors-CvBS12e7.mjs.map} +1 -1
- package/dist/fs-DLbVB-Ek.mjs.map +1 -1
- package/dist/git/branch-lifecycle.d.mts +1 -1
- package/dist/git/branch-lifecycle.mjs +3 -2
- package/dist/git/identity.d.mts +42 -0
- package/dist/git/identity.d.mts.map +1 -0
- package/dist/git/identity.mjs +2 -0
- package/dist/git/transaction.d.mts +1 -1
- package/dist/git/transaction.d.mts.map +1 -1
- package/dist/git/transaction.mjs +9 -8
- package/dist/{graph-builder-DK4Mh8Tn.mjs → graph-builder-BEocwW13.mjs} +2 -2
- package/dist/{graph-builder-DK4Mh8Tn.mjs.map → graph-builder-BEocwW13.mjs.map} +1 -1
- package/dist/{id-DV_T9Ic8.mjs → id-BjhaIxTL.mjs} +1 -1
- package/dist/{id-DV_T9Ic8.mjs.map → id-BjhaIxTL.mjs.map} +1 -1
- package/dist/identity-D8QoGxhT.mjs +125 -0
- package/dist/identity-D8QoGxhT.mjs.map +1 -0
- package/dist/{index-w8QHThNS.d.mts → index-BWbTJlXm.d.mts} +2 -2
- package/dist/index.mjs +21 -20
- package/dist/index.mjs.map +1 -1
- package/dist/{local-8dJ5NIWL.mjs → local-Db5X9mjZ.mjs} +25 -13
- package/dist/local-Db5X9mjZ.mjs.map +1 -0
- package/dist/{meta-manager-CJUiTgP2.mjs → meta-manager-B_Se183X.mjs} +29 -5
- package/dist/meta-manager-B_Se183X.mjs.map +1 -0
- package/dist/{model-manager-DP2CZiMT.mjs → model-manager-DgyKMjLN.mjs} +169 -25
- package/dist/model-manager-DgyKMjLN.mjs.map +1 -0
- package/dist/{node-BxujauDw.mjs → node-DUGiIkv1.mjs} +1 -1
- package/dist/{node-BxujauDw.mjs.map → node-DUGiIkv1.mjs.map} +1 -1
- package/dist/{ops-CGKIKwDc.mjs → ops-BzbThweu.mjs} +165 -26
- package/dist/ops-BzbThweu.mjs.map +1 -0
- package/dist/{overlay-reader-DNaVsgiS.mjs → overlay-reader-CkU_pGXZ.mjs} +1 -1
- package/dist/{overlay-reader-DNaVsgiS.mjs.map → overlay-reader-CkU_pGXZ.mjs.map} +1 -1
- package/dist/{paths-enT2coeX.mjs → paths-CdPPWpbG.mjs} +1 -1
- package/dist/{paths-enT2coeX.mjs.map → paths-CdPPWpbG.mjs.map} +1 -1
- package/dist/providers/github/index.d.mts +1 -1
- package/dist/providers/github/index.mjs +2 -2
- package/dist/providers/gitlab/index.d.mts +1 -1
- package/dist/providers/gitlab/index.mjs +2 -2
- package/dist/providers/local/index.d.mts +7 -1
- package/dist/providers/local/index.d.mts.map +1 -1
- package/dist/providers/local/index.mjs +11 -10
- package/dist/{scan-config-BlNLRCMx.mjs → scan-config-Dx49nCqk.mjs} +1 -1
- package/dist/{scan-config-BlNLRCMx.mjs.map → scan-config-Dx49nCqk.mjs.map} +1 -1
- package/dist/{scanner-CGWhmpDz.mjs → scanner-BSvXjfkp.mjs} +6 -6
- package/dist/{scanner-CGWhmpDz.mjs.map → scanner-BSvXjfkp.mjs.map} +1 -1
- package/dist/serialization-tmgfFBOh.mjs +2 -0
- package/dist/server/http/index.d.mts +1 -1
- package/dist/server/http/index.mjs +21 -20
- package/dist/server/http/index.mjs.map +1 -1
- package/dist/{server-CUZnuHQx.mjs → server-B2ib9TkR.mjs} +313 -115
- package/dist/server-B2ib9TkR.mjs.map +1 -0
- package/dist/{server-DLauBiu2.d.mts → server-CLPNnhYL.d.mts} +2 -2
- package/dist/{server-DLauBiu2.d.mts.map → server-CLPNnhYL.d.mts.map} +1 -1
- package/dist/server.d.mts +1 -1
- package/dist/server.mjs +21 -20
- package/dist/{source-map-generator-Bvbu-kM5.mjs → source-map-generator-DhjiQdV3.mjs} +1 -1
- package/dist/{source-map-generator-Bvbu-kM5.mjs.map → source-map-generator-DhjiQdV3.mjs.map} +1 -1
- package/dist/{svelte-parser-DaFK9iY0.mjs → svelte-parser-CwySu9yn.mjs} +3 -3
- package/dist/{svelte-parser-DaFK9iY0.mjs.map → svelte-parser-CwySu9yn.mjs.map} +1 -1
- package/dist/templates/index.mjs +1 -1
- package/dist/{templates-D6EllixQ.mjs → templates-CAkTIRkE.mjs} +430 -109
- package/dist/templates-CAkTIRkE.mjs.map +1 -0
- package/dist/testing/memory-provider.d.mts +52 -0
- package/dist/testing/memory-provider.d.mts.map +1 -0
- package/dist/testing/memory-provider.mjs +205 -0
- package/dist/testing/memory-provider.mjs.map +1 -0
- package/dist/tools/annotations.d.mts.map +1 -1
- package/dist/tools/annotations.mjs +1 -1
- package/dist/tools/availability.mjs +1 -1
- package/dist/{transaction-1SPznNt3.mjs → transaction-BW9ektWu.mjs} +13 -12
- package/dist/transaction-BW9ektWu.mjs.map +1 -0
- package/dist/{tsx-parser-md1N0Niu.mjs → tsx-parser-BvsK6lyG.mjs} +1 -1
- package/dist/{tsx-parser-md1N0Niu.mjs.map → tsx-parser-BvsK6lyG.mjs.map} +1 -1
- package/dist/tsx-parser-Byc7HlJ8.mjs +2 -0
- package/dist/util/detect.mjs +1 -1
- package/dist/util/fs.d.mts +1 -1
- package/dist/util/fs.d.mts.map +1 -1
- package/dist/util/id.mjs +1 -1
- package/dist/{validator-ChiYk6ap.mjs → validator-0sJ9vh1j.mjs} +65 -8
- package/dist/validator-0sJ9vh1j.mjs.map +1 -0
- package/dist/{vue-parser-CHxDohd8.mjs → vue-parser-auedZiJG.mjs} +3 -3
- package/dist/{vue-parser-CHxDohd8.mjs.map → vue-parser-auedZiJG.mjs.map} +1 -1
- package/package.json +13 -5
- package/testing/conformance/01-new-collection-entry/expected/.contentrain/meta/blog/en.json +1 -0
- package/testing/conformance/01-new-collection-entry/expected/.contentrain/models/blog.json +6 -5
- package/testing/conformance/01-new-collection-entry/setup/.contentrain/models/blog.json +6 -5
- package/testing/conformance/02-new-singleton/expected/.contentrain/meta/hero/en.json +1 -0
- package/testing/conformance/02-new-singleton/expected/.contentrain/models/hero.json +6 -5
- package/testing/conformance/02-new-singleton/setup/.contentrain/models/hero.json +6 -5
- package/testing/conformance/03-new-dictionary/expected/.contentrain/meta/ui-strings/en.json +1 -0
- package/testing/conformance/03-new-dictionary/expected/.contentrain/models/ui-strings.json +4 -3
- package/testing/conformance/03-new-dictionary/setup/.contentrain/models/ui-strings.json +4 -3
- package/dist/annotations-D3tlsF38.mjs.map +0 -1
- package/dist/apply-manager-SLCRLHN_.mjs.map +0 -1
- package/dist/branch-lifecycle-BAfgSQBv.mjs.map +0 -1
- package/dist/content-manager-DWo3G64y.d.mts.map +0 -1
- package/dist/doctor-BwJ_nmqS.mjs.map +0 -1
- package/dist/local-8dJ5NIWL.mjs.map +0 -1
- package/dist/meta-manager-CJUiTgP2.mjs.map +0 -1
- package/dist/model-manager-DP2CZiMT.mjs.map +0 -1
- package/dist/ops-CGKIKwDc.mjs.map +0 -1
- package/dist/serialization-B1CEzR4H.mjs +0 -2
- package/dist/server-CUZnuHQx.mjs.map +0 -1
- package/dist/templates-D6EllixQ.mjs.map +0 -1
- package/dist/transaction-1SPznNt3.mjs.map +0 -1
- package/dist/tsx-parser-C3XsIrwU.mjs +0 -2
- package/dist/validator-ChiYk6ap.mjs.map +0 -1
package/dist/server.mjs
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import "./contracts-DfL0BfrD.mjs";
|
|
2
|
-
import "./ops-
|
|
3
|
-
import "./serialization-
|
|
2
|
+
import "./ops-BzbThweu.mjs";
|
|
3
|
+
import "./serialization-tmgfFBOh.mjs";
|
|
4
4
|
import "./fs-DLbVB-Ek.mjs";
|
|
5
|
-
import "./meta-manager-
|
|
6
|
-
import "./
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import "./
|
|
10
|
-
import "./
|
|
11
|
-
import "./
|
|
12
|
-
import "./
|
|
13
|
-
import "./
|
|
14
|
-
import "./
|
|
15
|
-
import
|
|
16
|
-
import "./
|
|
17
|
-
import "./
|
|
18
|
-
import "./
|
|
19
|
-
import "./
|
|
20
|
-
import "./
|
|
21
|
-
import "./
|
|
22
|
-
import "./
|
|
5
|
+
import "./meta-manager-B_Se183X.mjs";
|
|
6
|
+
import "./identity-D8QoGxhT.mjs";
|
|
7
|
+
import "./config-VlRKRwAS.mjs";
|
|
8
|
+
import "./branch-lifecycle-B6PXZ2N7.mjs";
|
|
9
|
+
import "./model-manager-DgyKMjLN.mjs";
|
|
10
|
+
import "./context-C3x6I3cE.mjs";
|
|
11
|
+
import "./id-BjhaIxTL.mjs";
|
|
12
|
+
import "./transaction-BW9ektWu.mjs";
|
|
13
|
+
import "./local-Db5X9mjZ.mjs";
|
|
14
|
+
import "./detect-B0oXbQaP.mjs";
|
|
15
|
+
import "./annotations-C-tQVmot.mjs";
|
|
16
|
+
import { n as createServer, t as DEFAULT_INSTRUCTIONS } from "./server-B2ib9TkR.mjs";
|
|
17
|
+
import "./validator-0sJ9vh1j.mjs";
|
|
18
|
+
import "./scan-config-Dx49nCqk.mjs";
|
|
19
|
+
import "./graph-builder-BEocwW13.mjs";
|
|
20
|
+
import "./scanner-BSvXjfkp.mjs";
|
|
21
|
+
import "./tsx-parser-BvsK6lyG.mjs";
|
|
22
|
+
import "./apply-manager-BybvnUVC.mjs";
|
|
23
|
+
import "./doctor-DNPuGgcg.mjs";
|
|
23
24
|
export { DEFAULT_INSTRUCTIONS, createServer };
|
|
@@ -890,4 +890,4 @@ var require_source_map_generator = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
890
890
|
//#endregion
|
|
891
891
|
export { require_base64_vlq as i, require_array_set as n, require_util as r, require_source_map_generator as t };
|
|
892
892
|
|
|
893
|
-
//# sourceMappingURL=source-map-generator-
|
|
893
|
+
//# sourceMappingURL=source-map-generator-DhjiQdV3.mjs.map
|
package/dist/{source-map-generator-Bvbu-kM5.mjs.map → source-map-generator-DhjiQdV3.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-map-generator-Bvbu-kM5.mjs","names":[],"sources":["../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/util.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\nvar MAX_CACHED_INPUTS = 32;\n\n/**\n * Takes some function `f(input) -> result` and returns a memoized version of\n * `f`.\n *\n * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The\n * memoization is a dumb-simple, linear least-recently-used cache.\n */\nfunction lruMemoize(f) {\n var cache = [];\n\n return function(input) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].input === input) {\n var temp = cache[0];\n cache[0] = cache[i];\n cache[i] = temp;\n return cache[0].result;\n }\n }\n\n var result = f(input);\n\n cache.unshift({\n input,\n result,\n });\n\n if (cache.length > MAX_CACHED_INPUTS) {\n cache.pop();\n }\n\n return result;\n };\n}\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '<dir>/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nvar normalize = lruMemoize(function normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n // Split the path into parts between `/` characters. This is much faster than\n // using `.split(/\\/+/g)`.\n var parts = [];\n var start = 0;\n var i = 0;\n while (true) {\n start = i;\n i = path.indexOf(\"/\", start);\n if (i === -1) {\n parts.push(path.slice(start));\n break;\n } else {\n parts.push(path.slice(start, i));\n while (i < path.length && path[i] === \"/\") {\n i++;\n }\n }\n }\n\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n});\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\nfunction compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) {\n var cmp\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, {\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n }));\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n if (this._validateMapping(generated, original, source, name) === false) {\n return;\n }\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n var message = 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message);\n }\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n var message = 'Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n });\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message)\n }\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n"],"x_google_ignoreList":[0,1,2,3,4,5],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"source-map-generator-DhjiQdV3.mjs","names":[],"sources":["../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/util.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.js","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.js"],"sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\nvar MAX_CACHED_INPUTS = 32;\n\n/**\n * Takes some function `f(input) -> result` and returns a memoized version of\n * `f`.\n *\n * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The\n * memoization is a dumb-simple, linear least-recently-used cache.\n */\nfunction lruMemoize(f) {\n var cache = [];\n\n return function(input) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].input === input) {\n var temp = cache[0];\n cache[0] = cache[i];\n cache[i] = temp;\n return cache[0].result;\n }\n }\n\n var result = f(input);\n\n cache.unshift({\n input,\n result,\n });\n\n if (cache.length > MAX_CACHED_INPUTS) {\n cache.pop();\n }\n\n return result;\n };\n}\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '<dir>/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nvar normalize = lruMemoize(function normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n // Split the path into parts between `/` characters. This is much faster than\n // using `.split(/\\/+/g)`.\n var parts = [];\n var start = 0;\n var i = 0;\n while (true) {\n start = i;\n i = path.indexOf(\"/\", start);\n if (i === -1) {\n parts.push(path.slice(start));\n break;\n } else {\n parts.push(path.slice(start, i));\n while (i < path.length && path[i] === \"/\") {\n i++;\n }\n }\n }\n\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n});\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\nfunction compareByOriginalPositionsNoSource(mappingA, mappingB, onlyCompareOriginal) {\n var cmp\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositionsNoSource = compareByOriginalPositionsNoSource;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction compareByGeneratedPositionsDeflatedNoLine(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflatedNoLine = compareByGeneratedPositionsDeflatedNoLine;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._ignoreInvalidMapping = util.getArg(aArgs, 'ignoreInvalidMapping', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer, generatorOps) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator(Object.assign(generatorOps || {}, {\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n }));\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n if (this._validateMapping(generated, original, source, name) === false) {\n return;\n }\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n var message = 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message);\n }\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n var message = 'Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n });\n\n if (this._ignoreInvalidMapping) {\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message);\n }\n return false;\n } else {\n throw new Error(message)\n }\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n"],"x_google_ignoreList":[0,1,2,3,4,5],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ let _compiler = null;
|
|
|
3
3
|
async function loadCompiler() {
|
|
4
4
|
if (_compiler) return _compiler;
|
|
5
5
|
try {
|
|
6
|
-
_compiler = await import("./compiler-
|
|
6
|
+
_compiler = await import("./compiler-B6hNQeCC.mjs");
|
|
7
7
|
return _compiler;
|
|
8
8
|
} catch {
|
|
9
9
|
throw new Error("svelte is required to parse .svelte files. Install it with: pnpm add -D svelte");
|
|
@@ -13,7 +13,7 @@ let _tsxParser = null;
|
|
|
13
13
|
async function loadTsxParser() {
|
|
14
14
|
if (_tsxParser) return _tsxParser;
|
|
15
15
|
try {
|
|
16
|
-
_tsxParser = (await import("./tsx-parser-
|
|
16
|
+
_tsxParser = (await import("./tsx-parser-Byc7HlJ8.mjs")).parseTsx;
|
|
17
17
|
return _tsxParser;
|
|
18
18
|
} catch {
|
|
19
19
|
return null;
|
|
@@ -232,4 +232,4 @@ async function parseSvelte(content, fileName) {
|
|
|
232
232
|
//#endregion
|
|
233
233
|
export { parseSvelte };
|
|
234
234
|
|
|
235
|
-
//# sourceMappingURL=svelte-parser-
|
|
235
|
+
//# sourceMappingURL=svelte-parser-CwySu9yn.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte-parser-DaFK9iY0.mjs","names":[],"sources":["../src/core/ast-scanner/svelte-parser.ts"],"sourcesContent":["// ─── Svelte SFC Parser for Scanner v2 ───\n// Parses .svelte Single File Components using svelte/compiler.\n// Extracts ALL strings with structural context metadata.\n// Scanner does NOT classify — agent does. When in doubt, INCLUDE.\n\nimport type { ExtractedString } from './types.js'\n\n// ─── Lazy-loaded svelte/compiler ───\n\ninterface _SvelteLoc {\n start: number\n end: number\n line: number\n column: number\n}\n\n// Svelte AST node types from svelte/compiler parse()\ninterface SvelteBaseNode {\n type: string\n start: number\n end: number\n}\n\ninterface SvelteFragment extends SvelteBaseNode {\n type: 'Fragment'\n children: SvelteNode[]\n}\n\ninterface SvelteElement extends SvelteBaseNode {\n type: 'Element' | 'InlineComponent' | 'SlotTemplate' | 'Slot' | 'Head' | 'Title' | 'Window' | 'Document' | 'Body'\n name: string\n attributes: SvelteAttribute[]\n children: SvelteNode[]\n}\n\ninterface SvelteText extends SvelteBaseNode {\n type: 'Text'\n data: string\n raw: string\n}\n\ninterface SvelteAttribute extends SvelteBaseNode {\n type: 'Attribute'\n name: string\n value: SvelteAttributeValue[]\n}\n\ninterface SvelteAttributeText extends SvelteBaseNode {\n type: 'Text'\n data: string\n raw: string\n}\n\ntype SvelteAttributeValue = SvelteAttributeText | SvelteMustacheTag | SvelteBaseNode\n\ninterface _SvelteSpread extends SvelteBaseNode {\n type: 'Spread'\n}\n\ninterface SvelteMustacheTag extends SvelteBaseNode {\n type: 'MustacheTag'\n expression: SvelteBaseNode\n}\n\ninterface SvelteIfBlock extends SvelteBaseNode {\n type: 'IfBlock'\n expression: SvelteBaseNode\n children: SvelteNode[]\n else?: SvelteElseBlock\n}\n\ninterface SvelteElseBlock extends SvelteBaseNode {\n type: 'ElseBlock'\n children: SvelteNode[]\n}\n\ninterface SvelteEachBlock extends SvelteBaseNode {\n type: 'EachBlock'\n expression: SvelteBaseNode\n children: SvelteNode[]\n else?: SvelteElseBlock\n}\n\ninterface SvelteAwaitBlock extends SvelteBaseNode {\n type: 'AwaitBlock'\n pending: SvelteFragment | null\n then: SvelteFragment | null\n catch: SvelteFragment | null\n}\n\ninterface SvelteKeyBlock extends SvelteBaseNode {\n type: 'KeyBlock'\n children: SvelteNode[]\n}\n\ninterface SvelteRawMustacheTag extends SvelteBaseNode {\n type: 'RawMustacheTag'\n expression: SvelteBaseNode\n}\n\ninterface SvelteDirective extends SvelteBaseNode {\n type: 'EventHandler' | 'Binding' | 'Action' | 'Class' | 'StyleDirective' | 'Transition' | 'Animation' | 'Let' | 'Ref'\n name: string\n}\n\ninterface SvelteScript extends SvelteBaseNode {\n type: 'Script'\n content: string\n context?: string // \"module\" for <script context=\"module\">\n}\n\ninterface SvelteStyle extends SvelteBaseNode {\n type: 'Style'\n}\n\ntype SvelteNode =\n | SvelteFragment\n | SvelteElement\n | SvelteText\n | SvelteMustacheTag\n | SvelteIfBlock\n | SvelteEachBlock\n | SvelteAwaitBlock\n | SvelteKeyBlock\n | SvelteRawMustacheTag\n | SvelteBaseNode\n\ninterface SvelteAst {\n html: SvelteFragment\n instance?: SvelteScript\n module?: SvelteScript\n css?: SvelteStyle\n}\n\ninterface SvelteCompiler {\n parse: (source: string, options?: { filename?: string }) => SvelteAst\n}\n\nlet _compiler: SvelteCompiler | null = null\n\nasync function loadCompiler(): Promise<SvelteCompiler> {\n if (_compiler) return _compiler\n try {\n const mod = await import('svelte/compiler')\n _compiler = mod as unknown as SvelteCompiler\n return _compiler\n } catch {\n throw new Error(\n 'svelte is required to parse .svelte files. '\n + 'Install it with: pnpm add -D svelte',\n )\n }\n}\n\n// ─── tsx-parser delegation ───\n\ntype TsxParserFn = (content: string, fileName: string) => ExtractedString[]\n\nlet _tsxParser: TsxParserFn | null = null\n\nasync function loadTsxParser(): Promise<TsxParserFn | null> {\n if (_tsxParser) return _tsxParser\n try {\n const mod = await import('./tsx-parser.js')\n _tsxParser = mod.parseTsx\n return _tsxParser\n } catch {\n return null\n }\n}\n\n// ─── Constants ───\n\nconst SURROUNDING_MAX = 120\n\n/** Attributes whose values are CSS, not content */\nconst CSS_ATTRIBUTES = new Set(['class', 'style'])\n\n/** Directive types that contain code, not content */\nconst CODE_DIRECTIVE_TYPES = new Set([\n 'EventHandler', // on:click\n 'Binding', // bind:value\n 'Action', // use:action\n 'Class', // class:name\n 'StyleDirective', // style:color\n 'Transition', // transition:fade\n 'Animation', // animate:flip\n 'Let', // let:item\n 'Ref', // ref (legacy)\n])\n\n// ─── Helpers ───\n\nfunction getLineAndColumn(content: string, offset: number): { line: number; column: number } {\n let line = 1\n let lastNewline = -1\n\n for (let i = 0; i < offset && i < content.length; i++) {\n if (content[i] === '\\n') {\n line++\n lastNewline = i\n }\n }\n\n return { line, column: offset - lastNewline }\n}\n\nfunction getSurroundingByLine(content: string, line: number): string {\n const lines = content.split('\\n')\n const idx = line - 1\n const start = Math.max(0, idx - 1)\n const end = Math.min(lines.length - 1, idx + 1)\n\n const parts: string[] = []\n for (let i = start; i <= end; i++) {\n const l = lines[i]\n if (l !== undefined) {\n parts.push(l)\n }\n }\n\n const joined = parts.join('\\n')\n if (joined.length > SURROUNDING_MAX) {\n return joined.slice(0, SURROUNDING_MAX)\n }\n return joined\n}\n\n// ─── Template AST Walker ───\n\nfunction walkTemplate(\n node: SvelteNode,\n content: string,\n results: ExtractedString[],\n parentTag: string = '',\n): void {\n const nodeType = node.type\n\n switch (nodeType) {\n case 'Fragment': {\n const fragment = node as SvelteFragment\n for (const child of fragment.children) {\n walkTemplate(child, content, results, parentTag)\n }\n break\n }\n\n case 'Text': {\n const textNode = node as SvelteText\n const trimmed = textNode.data.trim()\n if (trimmed.length > 0 && /\\S/.test(trimmed)) {\n const pos = getLineAndColumn(content, textNode.start)\n results.push({\n value: trimmed,\n line: pos.line,\n column: pos.column,\n context: 'template_text',\n scope: 'template',\n parent: parentTag,\n surrounding: getSurroundingByLine(content, pos.line),\n })\n }\n break\n }\n\n case 'Element':\n case 'InlineComponent':\n case 'SlotTemplate':\n case 'Slot':\n case 'Head':\n case 'Title':\n case 'Window':\n case 'Document':\n case 'Body': {\n const el = node as SvelteElement\n const tag = el.name\n\n // Process attributes\n for (const attr of el.attributes) {\n processAttribute(attr, tag, content, results)\n }\n\n // Recurse into children\n for (const child of el.children) {\n walkTemplate(child, content, results, tag)\n }\n break\n }\n\n case 'IfBlock': {\n const ifBlock = node as SvelteIfBlock\n // Skip the expression (code) — walk children for content\n for (const child of ifBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n // Walk else branch\n if (ifBlock.else) {\n walkTemplate(ifBlock.else, content, results, parentTag)\n }\n break\n }\n\n case 'ElseBlock': {\n const elseBlock = node as SvelteElseBlock\n for (const child of elseBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n break\n }\n\n case 'EachBlock': {\n const eachBlock = node as SvelteEachBlock\n // Skip the expression — walk children for content\n for (const child of eachBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n if (eachBlock.else) {\n walkTemplate(eachBlock.else, content, results, parentTag)\n }\n break\n }\n\n case 'AwaitBlock': {\n const awaitBlock = node as SvelteAwaitBlock\n if (awaitBlock.pending) {\n walkTemplate(awaitBlock.pending, content, results, parentTag)\n }\n if (awaitBlock.then) {\n walkTemplate(awaitBlock.then, content, results, parentTag)\n }\n if (awaitBlock.catch) {\n walkTemplate(awaitBlock.catch, content, results, parentTag)\n }\n break\n }\n\n case 'KeyBlock': {\n const keyBlock = node as SvelteKeyBlock\n for (const child of keyBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n break\n }\n\n case 'MustacheTag':\n case 'RawMustacheTag': {\n // {expression} or {@html expression} — code expressions, skip\n break\n }\n\n default: {\n // For unknown node types, try to walk children\n const unknownNode = node as SvelteBaseNode & { children?: SvelteNode[] }\n if (unknownNode.children) {\n for (const child of unknownNode.children) {\n walkTemplate(child, content, results, parentTag)\n }\n }\n break\n }\n }\n}\n\nfunction processAttribute(\n attr: SvelteAttribute | SvelteDirective | SvelteBaseNode,\n parentTag: string,\n content: string,\n results: ExtractedString[],\n): void {\n // Skip directive types (EventHandler, Binding, etc.) — they contain code\n if (CODE_DIRECTIVE_TYPES.has(attr.type)) return\n\n // Only process regular Attribute nodes\n if (attr.type !== 'Attribute') return\n\n const attribute = attr as SvelteAttribute\n const attrName = attribute.name\n\n // Skip if no value or empty value array\n if (!attribute.value || attribute.value.length === 0) return\n\n // Process each value segment (attribute values can be arrays in Svelte)\n for (const valuePart of attribute.value) {\n if (valuePart.type !== 'Text') continue\n\n const textValue = (valuePart as SvelteAttributeText).data\n if (!textValue || textValue.trim().length === 0) continue\n\n const pos = getLineAndColumn(content, valuePart.start)\n\n // CSS attributes get css_class context\n if (CSS_ATTRIBUTES.has(attrName)) {\n results.push({\n value: textValue,\n line: pos.line,\n column: pos.column,\n context: 'css_class',\n scope: 'template',\n parent: parentTag,\n parentProperty: attrName,\n surrounding: getSurroundingByLine(content, pos.line),\n })\n continue\n }\n\n results.push({\n value: textValue,\n line: pos.line,\n column: pos.column,\n context: 'template_attribute',\n scope: 'template',\n parent: parentTag,\n parentProperty: attrName,\n surrounding: getSurroundingByLine(content, pos.line),\n })\n }\n}\n\n// ─── Script Block Parsing ───\n\n/**\n * Resolve script filename with correct extension for TypeScript parser.\n * Svelte files with <script lang=\"ts\"> need ScriptKind.TS, not ScriptKind.JS.\n */\nfunction resolveScriptFileName(svelteFileName: string, lang?: string): string {\n if (lang === 'ts' || lang === 'typescript') return svelteFileName.replace(/\\.svelte$/, '.ts')\n return svelteFileName.replace(/\\.svelte$/, '.js')\n}\n\nfunction parseScriptBlock(\n scriptContent: string,\n scriptStartOffset: number,\n fullContent: string,\n fileName: string,\n parseTsx: TsxParserFn,\n lang?: string,\n): ExtractedString[] {\n const resolvedFileName = resolveScriptFileName(fileName, lang)\n const scriptResults = parseTsx(scriptContent, resolvedFileName)\n const scriptStartPos = getLineAndColumn(fullContent, scriptStartOffset)\n const scriptStartLine = scriptStartPos.line\n\n return scriptResults.map(r => {\n r.line = r.line + scriptStartLine - 1\n r.scope = 'script'\n return r\n })\n}\n\n// ─── Main Export ───\n\nexport async function parseSvelte(content: string, fileName: string): Promise<ExtractedString[]> {\n const compiler = await loadCompiler()\n const results: ExtractedString[] = []\n\n let ast: SvelteAst\n try {\n ast = compiler.parse(content, { filename: fileName })\n } catch {\n // If Svelte parsing fails, return empty — malformed files shouldn't block scanning\n return []\n }\n\n // ─── Template (html) ───\n if (ast.html) {\n walkTemplate(ast.html, content, results)\n }\n\n // ─── Script Block ───\n const tsxParser = await loadTsxParser()\n if (tsxParser) {\n if (ast.instance) {\n // <script> block — extract its content from source\n const scriptStart = ast.instance.start\n const scriptEnd = ast.instance.end\n\n // Find the content between <script> tags\n const scriptSource = content.slice(scriptStart, scriptEnd)\n const scriptContentMatch = scriptSource.match(/<script[^>]*>([\\s\\S]*?)<\\/script>/)\n if (scriptContentMatch?.[1]) {\n const scriptContentStr = scriptContentMatch[1]\n // Extract lang attribute from <script lang=\"ts\">\n const langMatch = scriptSource.match(/<script[^>]*\\slang=[\"'](\\w+)[\"']/)\n const scriptLang = langMatch?.[1]\n // Calculate offset of script content within the file\n const scriptTagEnd = scriptSource.indexOf('>') + 1\n const contentOffset = scriptStart + scriptTagEnd\n const scriptResults = parseScriptBlock(\n scriptContentStr,\n contentOffset,\n content,\n fileName,\n tsxParser,\n scriptLang,\n )\n results.push(...scriptResults)\n }\n }\n\n if (ast.module) {\n // <script context=\"module\"> block\n const moduleStart = ast.module.start\n const moduleEnd = ast.module.end\n const moduleSource = content.slice(moduleStart, moduleEnd)\n const moduleContentMatch = moduleSource.match(/<script[^>]*>([\\s\\S]*?)<\\/script>/)\n if (moduleContentMatch?.[1]) {\n const moduleContentStr = moduleContentMatch[1]\n const moduleLangMatch = moduleSource.match(/<script[^>]*\\slang=[\"'](\\w+)[\"']/)\n const moduleLang = moduleLangMatch?.[1]\n const scriptTagEnd = moduleSource.indexOf('>') + 1\n const contentOffset = moduleStart + scriptTagEnd\n const moduleResults = parseScriptBlock(\n moduleContentStr,\n contentOffset,\n content,\n fileName,\n tsxParser,\n moduleLang,\n )\n results.push(...moduleResults)\n }\n }\n }\n\n // Style blocks are intentionally skipped — no content strings in CSS\n\n return results\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"svelte-parser-CwySu9yn.mjs","names":[],"sources":["../src/core/ast-scanner/svelte-parser.ts"],"sourcesContent":["// ─── Svelte SFC Parser for Scanner v2 ───\n// Parses .svelte Single File Components using svelte/compiler.\n// Extracts ALL strings with structural context metadata.\n// Scanner does NOT classify — agent does. When in doubt, INCLUDE.\n\nimport type { ExtractedString } from './types.js'\n\n// ─── Lazy-loaded svelte/compiler ───\n\ninterface _SvelteLoc {\n start: number\n end: number\n line: number\n column: number\n}\n\n// Svelte AST node types from svelte/compiler parse()\ninterface SvelteBaseNode {\n type: string\n start: number\n end: number\n}\n\ninterface SvelteFragment extends SvelteBaseNode {\n type: 'Fragment'\n children: SvelteNode[]\n}\n\ninterface SvelteElement extends SvelteBaseNode {\n type: 'Element' | 'InlineComponent' | 'SlotTemplate' | 'Slot' | 'Head' | 'Title' | 'Window' | 'Document' | 'Body'\n name: string\n attributes: SvelteAttribute[]\n children: SvelteNode[]\n}\n\ninterface SvelteText extends SvelteBaseNode {\n type: 'Text'\n data: string\n raw: string\n}\n\ninterface SvelteAttribute extends SvelteBaseNode {\n type: 'Attribute'\n name: string\n value: SvelteAttributeValue[]\n}\n\ninterface SvelteAttributeText extends SvelteBaseNode {\n type: 'Text'\n data: string\n raw: string\n}\n\ntype SvelteAttributeValue = SvelteAttributeText | SvelteMustacheTag | SvelteBaseNode\n\ninterface _SvelteSpread extends SvelteBaseNode {\n type: 'Spread'\n}\n\ninterface SvelteMustacheTag extends SvelteBaseNode {\n type: 'MustacheTag'\n expression: SvelteBaseNode\n}\n\ninterface SvelteIfBlock extends SvelteBaseNode {\n type: 'IfBlock'\n expression: SvelteBaseNode\n children: SvelteNode[]\n else?: SvelteElseBlock\n}\n\ninterface SvelteElseBlock extends SvelteBaseNode {\n type: 'ElseBlock'\n children: SvelteNode[]\n}\n\ninterface SvelteEachBlock extends SvelteBaseNode {\n type: 'EachBlock'\n expression: SvelteBaseNode\n children: SvelteNode[]\n else?: SvelteElseBlock\n}\n\ninterface SvelteAwaitBlock extends SvelteBaseNode {\n type: 'AwaitBlock'\n pending: SvelteFragment | null\n then: SvelteFragment | null\n catch: SvelteFragment | null\n}\n\ninterface SvelteKeyBlock extends SvelteBaseNode {\n type: 'KeyBlock'\n children: SvelteNode[]\n}\n\ninterface SvelteRawMustacheTag extends SvelteBaseNode {\n type: 'RawMustacheTag'\n expression: SvelteBaseNode\n}\n\ninterface SvelteDirective extends SvelteBaseNode {\n type: 'EventHandler' | 'Binding' | 'Action' | 'Class' | 'StyleDirective' | 'Transition' | 'Animation' | 'Let' | 'Ref'\n name: string\n}\n\ninterface SvelteScript extends SvelteBaseNode {\n type: 'Script'\n content: string\n context?: string // \"module\" for <script context=\"module\">\n}\n\ninterface SvelteStyle extends SvelteBaseNode {\n type: 'Style'\n}\n\ntype SvelteNode =\n | SvelteFragment\n | SvelteElement\n | SvelteText\n | SvelteMustacheTag\n | SvelteIfBlock\n | SvelteEachBlock\n | SvelteAwaitBlock\n | SvelteKeyBlock\n | SvelteRawMustacheTag\n | SvelteBaseNode\n\ninterface SvelteAst {\n html: SvelteFragment\n instance?: SvelteScript\n module?: SvelteScript\n css?: SvelteStyle\n}\n\ninterface SvelteCompiler {\n parse: (source: string, options?: { filename?: string }) => SvelteAst\n}\n\nlet _compiler: SvelteCompiler | null = null\n\nasync function loadCompiler(): Promise<SvelteCompiler> {\n if (_compiler) return _compiler\n try {\n const mod = await import('svelte/compiler')\n _compiler = mod as unknown as SvelteCompiler\n return _compiler\n } catch {\n throw new Error(\n 'svelte is required to parse .svelte files. '\n + 'Install it with: pnpm add -D svelte',\n )\n }\n}\n\n// ─── tsx-parser delegation ───\n\ntype TsxParserFn = (content: string, fileName: string) => ExtractedString[]\n\nlet _tsxParser: TsxParserFn | null = null\n\nasync function loadTsxParser(): Promise<TsxParserFn | null> {\n if (_tsxParser) return _tsxParser\n try {\n const mod = await import('./tsx-parser.js')\n _tsxParser = mod.parseTsx\n return _tsxParser\n } catch {\n return null\n }\n}\n\n// ─── Constants ───\n\nconst SURROUNDING_MAX = 120\n\n/** Attributes whose values are CSS, not content */\nconst CSS_ATTRIBUTES = new Set(['class', 'style'])\n\n/** Directive types that contain code, not content */\nconst CODE_DIRECTIVE_TYPES = new Set([\n 'EventHandler', // on:click\n 'Binding', // bind:value\n 'Action', // use:action\n 'Class', // class:name\n 'StyleDirective', // style:color\n 'Transition', // transition:fade\n 'Animation', // animate:flip\n 'Let', // let:item\n 'Ref', // ref (legacy)\n])\n\n// ─── Helpers ───\n\nfunction getLineAndColumn(content: string, offset: number): { line: number; column: number } {\n let line = 1\n let lastNewline = -1\n\n for (let i = 0; i < offset && i < content.length; i++) {\n if (content[i] === '\\n') {\n line++\n lastNewline = i\n }\n }\n\n return { line, column: offset - lastNewline }\n}\n\nfunction getSurroundingByLine(content: string, line: number): string {\n const lines = content.split('\\n')\n const idx = line - 1\n const start = Math.max(0, idx - 1)\n const end = Math.min(lines.length - 1, idx + 1)\n\n const parts: string[] = []\n for (let i = start; i <= end; i++) {\n const l = lines[i]\n if (l !== undefined) {\n parts.push(l)\n }\n }\n\n const joined = parts.join('\\n')\n if (joined.length > SURROUNDING_MAX) {\n return joined.slice(0, SURROUNDING_MAX)\n }\n return joined\n}\n\n// ─── Template AST Walker ───\n\nfunction walkTemplate(\n node: SvelteNode,\n content: string,\n results: ExtractedString[],\n parentTag: string = '',\n): void {\n const nodeType = node.type\n\n switch (nodeType) {\n case 'Fragment': {\n const fragment = node as SvelteFragment\n for (const child of fragment.children) {\n walkTemplate(child, content, results, parentTag)\n }\n break\n }\n\n case 'Text': {\n const textNode = node as SvelteText\n const trimmed = textNode.data.trim()\n if (trimmed.length > 0 && /\\S/.test(trimmed)) {\n const pos = getLineAndColumn(content, textNode.start)\n results.push({\n value: trimmed,\n line: pos.line,\n column: pos.column,\n context: 'template_text',\n scope: 'template',\n parent: parentTag,\n surrounding: getSurroundingByLine(content, pos.line),\n })\n }\n break\n }\n\n case 'Element':\n case 'InlineComponent':\n case 'SlotTemplate':\n case 'Slot':\n case 'Head':\n case 'Title':\n case 'Window':\n case 'Document':\n case 'Body': {\n const el = node as SvelteElement\n const tag = el.name\n\n // Process attributes\n for (const attr of el.attributes) {\n processAttribute(attr, tag, content, results)\n }\n\n // Recurse into children\n for (const child of el.children) {\n walkTemplate(child, content, results, tag)\n }\n break\n }\n\n case 'IfBlock': {\n const ifBlock = node as SvelteIfBlock\n // Skip the expression (code) — walk children for content\n for (const child of ifBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n // Walk else branch\n if (ifBlock.else) {\n walkTemplate(ifBlock.else, content, results, parentTag)\n }\n break\n }\n\n case 'ElseBlock': {\n const elseBlock = node as SvelteElseBlock\n for (const child of elseBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n break\n }\n\n case 'EachBlock': {\n const eachBlock = node as SvelteEachBlock\n // Skip the expression — walk children for content\n for (const child of eachBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n if (eachBlock.else) {\n walkTemplate(eachBlock.else, content, results, parentTag)\n }\n break\n }\n\n case 'AwaitBlock': {\n const awaitBlock = node as SvelteAwaitBlock\n if (awaitBlock.pending) {\n walkTemplate(awaitBlock.pending, content, results, parentTag)\n }\n if (awaitBlock.then) {\n walkTemplate(awaitBlock.then, content, results, parentTag)\n }\n if (awaitBlock.catch) {\n walkTemplate(awaitBlock.catch, content, results, parentTag)\n }\n break\n }\n\n case 'KeyBlock': {\n const keyBlock = node as SvelteKeyBlock\n for (const child of keyBlock.children) {\n walkTemplate(child, content, results, parentTag)\n }\n break\n }\n\n case 'MustacheTag':\n case 'RawMustacheTag': {\n // {expression} or {@html expression} — code expressions, skip\n break\n }\n\n default: {\n // For unknown node types, try to walk children\n const unknownNode = node as SvelteBaseNode & { children?: SvelteNode[] }\n if (unknownNode.children) {\n for (const child of unknownNode.children) {\n walkTemplate(child, content, results, parentTag)\n }\n }\n break\n }\n }\n}\n\nfunction processAttribute(\n attr: SvelteAttribute | SvelteDirective | SvelteBaseNode,\n parentTag: string,\n content: string,\n results: ExtractedString[],\n): void {\n // Skip directive types (EventHandler, Binding, etc.) — they contain code\n if (CODE_DIRECTIVE_TYPES.has(attr.type)) return\n\n // Only process regular Attribute nodes\n if (attr.type !== 'Attribute') return\n\n const attribute = attr as SvelteAttribute\n const attrName = attribute.name\n\n // Skip if no value or empty value array\n if (!attribute.value || attribute.value.length === 0) return\n\n // Process each value segment (attribute values can be arrays in Svelte)\n for (const valuePart of attribute.value) {\n if (valuePart.type !== 'Text') continue\n\n const textValue = (valuePart as SvelteAttributeText).data\n if (!textValue || textValue.trim().length === 0) continue\n\n const pos = getLineAndColumn(content, valuePart.start)\n\n // CSS attributes get css_class context\n if (CSS_ATTRIBUTES.has(attrName)) {\n results.push({\n value: textValue,\n line: pos.line,\n column: pos.column,\n context: 'css_class',\n scope: 'template',\n parent: parentTag,\n parentProperty: attrName,\n surrounding: getSurroundingByLine(content, pos.line),\n })\n continue\n }\n\n results.push({\n value: textValue,\n line: pos.line,\n column: pos.column,\n context: 'template_attribute',\n scope: 'template',\n parent: parentTag,\n parentProperty: attrName,\n surrounding: getSurroundingByLine(content, pos.line),\n })\n }\n}\n\n// ─── Script Block Parsing ───\n\n/**\n * Resolve script filename with correct extension for TypeScript parser.\n * Svelte files with <script lang=\"ts\"> need ScriptKind.TS, not ScriptKind.JS.\n */\nfunction resolveScriptFileName(svelteFileName: string, lang?: string): string {\n if (lang === 'ts' || lang === 'typescript') return svelteFileName.replace(/\\.svelte$/, '.ts')\n return svelteFileName.replace(/\\.svelte$/, '.js')\n}\n\nfunction parseScriptBlock(\n scriptContent: string,\n scriptStartOffset: number,\n fullContent: string,\n fileName: string,\n parseTsx: TsxParserFn,\n lang?: string,\n): ExtractedString[] {\n const resolvedFileName = resolveScriptFileName(fileName, lang)\n const scriptResults = parseTsx(scriptContent, resolvedFileName)\n const scriptStartPos = getLineAndColumn(fullContent, scriptStartOffset)\n const scriptStartLine = scriptStartPos.line\n\n return scriptResults.map(r => {\n r.line = r.line + scriptStartLine - 1\n r.scope = 'script'\n return r\n })\n}\n\n// ─── Main Export ───\n\nexport async function parseSvelte(content: string, fileName: string): Promise<ExtractedString[]> {\n const compiler = await loadCompiler()\n const results: ExtractedString[] = []\n\n let ast: SvelteAst\n try {\n ast = compiler.parse(content, { filename: fileName })\n } catch {\n // If Svelte parsing fails, return empty — malformed files shouldn't block scanning\n return []\n }\n\n // ─── Template (html) ───\n if (ast.html) {\n walkTemplate(ast.html, content, results)\n }\n\n // ─── Script Block ───\n const tsxParser = await loadTsxParser()\n if (tsxParser) {\n if (ast.instance) {\n // <script> block — extract its content from source\n const scriptStart = ast.instance.start\n const scriptEnd = ast.instance.end\n\n // Find the content between <script> tags\n const scriptSource = content.slice(scriptStart, scriptEnd)\n const scriptContentMatch = scriptSource.match(/<script[^>]*>([\\s\\S]*?)<\\/script>/)\n if (scriptContentMatch?.[1]) {\n const scriptContentStr = scriptContentMatch[1]\n // Extract lang attribute from <script lang=\"ts\">\n const langMatch = scriptSource.match(/<script[^>]*\\slang=[\"'](\\w+)[\"']/)\n const scriptLang = langMatch?.[1]\n // Calculate offset of script content within the file\n const scriptTagEnd = scriptSource.indexOf('>') + 1\n const contentOffset = scriptStart + scriptTagEnd\n const scriptResults = parseScriptBlock(\n scriptContentStr,\n contentOffset,\n content,\n fileName,\n tsxParser,\n scriptLang,\n )\n results.push(...scriptResults)\n }\n }\n\n if (ast.module) {\n // <script context=\"module\"> block\n const moduleStart = ast.module.start\n const moduleEnd = ast.module.end\n const moduleSource = content.slice(moduleStart, moduleEnd)\n const moduleContentMatch = moduleSource.match(/<script[^>]*>([\\s\\S]*?)<\\/script>/)\n if (moduleContentMatch?.[1]) {\n const moduleContentStr = moduleContentMatch[1]\n const moduleLangMatch = moduleSource.match(/<script[^>]*\\slang=[\"'](\\w+)[\"']/)\n const moduleLang = moduleLangMatch?.[1]\n const scriptTagEnd = moduleSource.indexOf('>') + 1\n const contentOffset = moduleStart + scriptTagEnd\n const moduleResults = parseScriptBlock(\n moduleContentStr,\n contentOffset,\n content,\n fileName,\n tsxParser,\n moduleLang,\n )\n results.push(...moduleResults)\n }\n }\n }\n\n // Style blocks are intentionally skipped — no content strings in CSS\n\n return results\n}\n"],"mappings":"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"}
|
package/dist/templates/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as listTemplates, t as getTemplate } from "../templates-
|
|
1
|
+
import { n as listTemplates, t as getTemplate } from "../templates-CAkTIRkE.mjs";
|
|
2
2
|
export { getTemplate, listTemplates };
|