@gql.tada/cli-utils 1.2.0 → 1.2.1-canary-e42804ea2a1e64b58239cd45b152b047b9afcd17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/chunks/index-chunk.js +1050 -558
  3. package/dist/chunks/index-chunk.js.map +1 -1
  4. package/dist/chunks/index-chunk.mjs +919 -425
  5. package/dist/chunks/index-chunk.mjs.map +1 -1
  6. package/dist/chunks/svelte-chunk.js +53 -51
  7. package/dist/chunks/svelte-chunk.js.map +1 -1
  8. package/dist/chunks/svelte-chunk.mjs +58 -56
  9. package/dist/chunks/svelte-chunk.mjs.map +1 -1
  10. package/dist/chunks/thread-chunk.js +97 -130
  11. package/dist/chunks/thread-chunk.js.map +1 -1
  12. package/dist/chunks/thread-chunk.mjs +94 -106
  13. package/dist/chunks/thread-chunk.mjs.map +1 -1
  14. package/dist/chunks/thread-chunk2.js +46 -82
  15. package/dist/chunks/thread-chunk2.js.map +1 -1
  16. package/dist/chunks/thread-chunk2.mjs +44 -59
  17. package/dist/chunks/thread-chunk2.mjs.map +1 -1
  18. package/dist/chunks/thread-chunk3.js +45 -50
  19. package/dist/chunks/thread-chunk3.js.map +1 -1
  20. package/dist/chunks/thread-chunk3.mjs +45 -50
  21. package/dist/chunks/thread-chunk3.mjs.map +1 -1
  22. package/dist/chunks/vue-chunk.js +18 -15
  23. package/dist/chunks/vue-chunk.js.map +1 -1
  24. package/dist/chunks/vue-chunk.mjs +18 -15
  25. package/dist/chunks/vue-chunk.mjs.map +1 -1
  26. package/dist/gql-tada-cli.js +58 -49
  27. package/dist/gql-tada-cli.js.map +1 -1
  28. package/dist/gql-tada-cli.mjs +656 -647
  29. package/dist/gql-tada-cli.mjs.map +1 -1
  30. package/package.json +2 -3
  31. package/dist/chunks/project-chunk.js +0 -63
  32. package/dist/chunks/project-chunk.js.map +0 -1
  33. package/dist/chunks/project-chunk.mjs +0 -65
  34. package/dist/chunks/project-chunk.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-chunk.mjs","sources":["../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js","../../../../node_modules/.pnpm/vscode-languageserver-textdocument@1.0.11/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","../../src/ts/virtualCode/svelte.ts"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));\n})(this, (function (exports) { 'use strict';\n\n const comma = ','.charCodeAt(0);\n const semicolon = ';'.charCodeAt(0);\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n const intToChar = new Uint8Array(64); // 64 possible chars.\n const charToInt = new Uint8Array(128); // z is 122 in ASCII\n for (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n }\n // Provide a fallback for older environments.\n const td = typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n function decode(mappings) {\n const state = new Int32Array(5);\n const decoded = [];\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n for (let i = index; i < semi; i++) {\n let seg;\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol)\n sorted = false;\n lastCol = col;\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n }\n else {\n seg = [col, state[1], state[2], state[3]];\n }\n }\n else {\n seg = [col];\n }\n line.push(seg);\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n return decoded;\n }\n function indexOf(mappings, index) {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n }\n function decodeInteger(mappings, pos, state, j) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n state[j] += value;\n return pos;\n }\n function hasMoreVlq(mappings, i, length) {\n if (i >= length)\n return false;\n return mappings.charCodeAt(i) !== comma;\n }\n function sort(line) {\n line.sort(sortComparator);\n }\n function sortComparator(a, b) {\n return a[0] - b[0];\n }\n function encode(decoded) {\n const state = new Int32Array(5);\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0)\n continue;\n state[0] = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0)\n buf[pos++] = comma;\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n if (segment.length === 1)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n if (segment.length === 4)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n return out + td.decode(buf.subarray(0, pos));\n }\n function encodeInteger(buf, pos, state, segment, j) {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0)\n clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n return pos;\n }\n\n exports.decode = decode;\n exports.encode = encode;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=sourcemap-codec.umd.js.map\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nclass FullTextDocument {\n constructor(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n get uri() {\n return this._uri;\n }\n get languageId() {\n return this._languageId;\n }\n get version() {\n return this._version;\n }\n getText(range) {\n if (range) {\n const start = this.offsetAt(range.start);\n const end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n }\n update(changes, version) {\n for (let change of changes) {\n if (FullTextDocument.isIncremental(change)) {\n // makes sure start is before end\n const range = getWellformedRange(change.range);\n // update content\n const startOffset = this.offsetAt(range.start);\n const endOffset = this.offsetAt(range.end);\n this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length);\n // update the offsets\n const startLine = Math.max(range.start.line, 0);\n const endLine = Math.max(range.end.line, 0);\n let lineOffsets = this._lineOffsets;\n const addedLineOffsets = computeLineOffsets(change.text, false, startOffset);\n if (endLine - startLine === addedLineOffsets.length) {\n for (let i = 0, len = addedLineOffsets.length; i < len; i++) {\n lineOffsets[i + startLine + 1] = addedLineOffsets[i];\n }\n }\n else {\n if (addedLineOffsets.length < 10000) {\n lineOffsets.splice(startLine + 1, endLine - startLine, ...addedLineOffsets);\n }\n else { // avoid too many arguments for splice\n this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1));\n }\n }\n const diff = change.text.length - (endOffset - startOffset);\n if (diff !== 0) {\n for (let i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {\n lineOffsets[i] = lineOffsets[i] + diff;\n }\n }\n }\n else if (FullTextDocument.isFull(change)) {\n this._content = change.text;\n this._lineOffsets = undefined;\n }\n else {\n throw new Error('Unknown change event received');\n }\n }\n this._version = version;\n }\n getLineOffsets() {\n if (this._lineOffsets === undefined) {\n this._lineOffsets = computeLineOffsets(this._content, true);\n }\n return this._lineOffsets;\n }\n positionAt(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n let lineOffsets = this.getLineOffsets();\n let low = 0, high = lineOffsets.length;\n if (high === 0) {\n return { line: 0, character: offset };\n }\n while (low < high) {\n let mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n let line = low - 1;\n return { line, character: offset - lineOffsets[line] };\n }\n offsetAt(position) {\n let lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n let lineOffset = lineOffsets[position.line];\n let nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n }\n get lineCount() {\n return this.getLineOffsets().length;\n }\n static isIncremental(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n }\n static isFull(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n }\n}\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new text document.\n *\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's initial version number.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Updates a TextDocument by modifying its content.\n *\n * @param document the document to update. Only documents created by TextDocument.create are valid inputs.\n * @param changes the changes to apply to the document.\n * @param version the changes version for the document.\n * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter.\n *\n */\n function update(document, changes, version) {\n if (document instanceof FullTextDocument) {\n document.update(changes, version);\n return document;\n }\n else {\n throw new Error('TextDocument.update: document must be created by TextDocument.create');\n }\n }\n TextDocument.update = update;\n function applyEdits(document, edits) {\n let text = document.getText();\n let sortedEdits = mergeSort(edits.map(getWellformedEdit), (a, b) => {\n let diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n let lastModifiedOffset = 0;\n const spans = [];\n for (const e of sortedEdits) {\n let startOffset = document.offsetAt(e.range.start);\n if (startOffset < lastModifiedOffset) {\n throw new Error('Overlapping edit');\n }\n else if (startOffset > lastModifiedOffset) {\n spans.push(text.substring(lastModifiedOffset, startOffset));\n }\n if (e.newText.length) {\n spans.push(e.newText);\n }\n lastModifiedOffset = document.offsetAt(e.range.end);\n }\n spans.push(text.substr(lastModifiedOffset));\n return spans.join('');\n }\n TextDocument.applyEdits = applyEdits;\n})(TextDocument || (TextDocument = {}));\nfunction mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n const p = (data.length / 2) | 0;\n const left = data.slice(0, p);\n const right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n let leftIdx = 0;\n let rightIdx = 0;\n let i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n let ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n}\nfunction computeLineOffsets(text, isAtLineStart, textOffset = 0) {\n const result = isAtLineStart ? [textOffset] : [];\n for (let i = 0; i < text.length; i++) {\n let ch = text.charCodeAt(i);\n if (ch === 13 /* CharCode.CarriageReturn */ || ch === 10 /* CharCode.LineFeed */) {\n if (ch === 13 /* CharCode.CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* CharCode.LineFeed */) {\n i++;\n }\n result.push(textOffset + i + 1);\n }\n }\n return result;\n}\nfunction getWellformedRange(range) {\n const start = range.start;\n const end = range.end;\n if (start.line > end.line || (start.line === end.line && start.character > end.character)) {\n return { start: end, end: start };\n }\n return range;\n}\nfunction getWellformedEdit(textEdit) {\n const range = getWellformedRange(textEdit.range);\n if (range !== textEdit.range) {\n return { newText: textEdit.newText, range };\n }\n return textEdit;\n}\n","import type { CodeMapping, VirtualCode } from '@vue/language-core';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { svelte2tsx } from 'svelte2tsx';\nimport { TextDocument } from 'vscode-languageserver-textdocument';\n\nimport type { CreateVirtualCode } from './types';\n\n// See: https://github.com/johnsoncodehk/language-tools/blob/volar2/packages/language-server/src/languagePlugin.ts\nexport const createVirtualCode: CreateVirtualCode = (\n fileId,\n snapshot,\n ts\n): VirtualCode | undefined => {\n const text = snapshot.getText(0, snapshot.getLength());\n\n let tsx: ReturnType<typeof svelte2tsx>;\n\n try {\n tsx = svelte2tsx(text, {\n filename: fileId,\n isTsFile: true,\n emitOnTemplateError: true,\n mode: 'ts',\n });\n } catch (error) {\n return;\n }\n\n const v3Mappings = decode(tsx.map.mappings);\n const document = TextDocument.create('', 'svelte', 0, text);\n const generateDocument = TextDocument.create('', 'typescript', 0, tsx.code);\n const mappings: CodeMapping[] = [];\n\n let current:\n | {\n genOffset: number;\n sourceOffset: number;\n }\n | undefined;\n\n for (let genLine = 0; genLine < v3Mappings.length; genLine++) {\n for (const segment of v3Mappings[genLine]) {\n const genCharacter = segment[0];\n const genOffset = generateDocument.offsetAt({ line: genLine, character: genCharacter });\n if (current) {\n let length = genOffset - current.genOffset;\n const sourceText = text.substring(current.sourceOffset, current.sourceOffset + length);\n const genText = tsx.code.substring(current.genOffset, current.genOffset + length);\n if (sourceText !== genText) {\n length = 0;\n for (let i = 0; i < genOffset - current.genOffset; i++) {\n if (sourceText[i] === genText[i]) {\n length = i + 1;\n } else {\n break;\n }\n }\n }\n if (length > 0) {\n const lastMapping = mappings.length ? mappings[mappings.length - 1] : undefined;\n if (\n lastMapping &&\n lastMapping.generatedOffsets[0] + lastMapping.lengths[0] === current.genOffset &&\n lastMapping.sourceOffsets[0] + lastMapping.lengths[0] === current.sourceOffset\n ) {\n lastMapping.lengths[0] += length;\n } else {\n mappings.push({\n sourceOffsets: [current.sourceOffset],\n generatedOffsets: [current.genOffset],\n lengths: [length],\n data: {\n verification: true,\n completion: true,\n semantic: true,\n navigation: true,\n structure: false,\n format: false,\n },\n });\n }\n }\n current = undefined;\n }\n if (segment[2] !== undefined && segment[3] !== undefined) {\n const sourceOffset = document.offsetAt({ line: segment[2], character: segment[3] });\n current = {\n genOffset,\n sourceOffset,\n };\n }\n }\n }\n\n return {\n id: 'ts',\n languageId: 'typescript',\n snapshot: ts.ScriptSnapshot.fromString(tsx.code),\n mappings: mappings,\n embeddedCodes: [],\n } satisfies VirtualCode;\n};\n"],"names":["exports","comma","charCodeAt","semicolon","chars","intToChar","Uint8Array","charToInt","i","length","c","TextDecoder","Buffer","decode","buf","from","buffer","byteOffset","byteLength","toString","out","String","fromCharCode","mappings","state","Int32Array","decoded","index","semi","indexOf","line","sorted","lastCol","seg","decodeInteger","col","hasMoreVlq","push","sort","idx","j","value","shift","integer","pos","shouldNegate","sortComparator","a","b","encode","bufLength","subLength","sub","subarray","_i3","td","segment","copyWithin","encodeInteger","factory","FullTextDocument","constructor","uri","languageId","version","content","this","_uri","_languageId","_version","_content","_lineOffsets","undefined","getText","range","start","offsetAt","end","substring","update","changes","change","isIncremental","getWellformedRange","startOffset","endOffset","text","startLine","Math","max","endLine","lineOffsets","addedLineOffsets","computeLineOffsets","len","splice","slice","concat","diff","isFull","Error","getLineOffsets","positionAt","offset","min","low","high","character","mid","floor","position","lineOffset","lineCount","event","candidate","rangeLength","TextDocument","create","document","applyEdits","edits","sortedEdits","mergeSort","map","getWellformedEdit","lastModifiedOffset","spans","e","newText","substr","join","data","compare","p","left","right","leftIdx","rightIdx","isAtLineStart","textOffset","result","ch","textEdit","createVirtualCode","fileId","snapshot","ts","getLength","tsx","svelte2tsx","filename","isTsFile","emitOnTemplateError","mode","error","v3Mappings","generateDocument","code","current","genLine","genOffset","sourceText","sourceOffset","genText","lastMapping","generatedOffsets","lengths","sourceOffsets","verification","completion","semantic","navigation","structure","format","id","ScriptSnapshot","fromString","embeddedCodes"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"svelte-chunk.mjs","sources":["../../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.4.15/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js","../../../../node_modules/.pnpm/vscode-languageserver-textdocument@1.0.11/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","../../src/ts/transformers/svelte.ts"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));\n})(this, (function (exports) { 'use strict';\n\n const comma = ','.charCodeAt(0);\n const semicolon = ';'.charCodeAt(0);\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n const intToChar = new Uint8Array(64); // 64 possible chars.\n const charToInt = new Uint8Array(128); // z is 122 in ASCII\n for (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n }\n // Provide a fallback for older environments.\n const td = typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n function decode(mappings) {\n const state = new Int32Array(5);\n const decoded = [];\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n for (let i = index; i < semi; i++) {\n let seg;\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol)\n sorted = false;\n lastCol = col;\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n }\n else {\n seg = [col, state[1], state[2], state[3]];\n }\n }\n else {\n seg = [col];\n }\n line.push(seg);\n }\n if (!sorted)\n sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n return decoded;\n }\n function indexOf(mappings, index) {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n }\n function decodeInteger(mappings, pos, state, j) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n state[j] += value;\n return pos;\n }\n function hasMoreVlq(mappings, i, length) {\n if (i >= length)\n return false;\n return mappings.charCodeAt(i) !== comma;\n }\n function sort(line) {\n line.sort(sortComparator);\n }\n function sortComparator(a, b) {\n return a[0] - b[0];\n }\n function encode(decoded) {\n const state = new Int32Array(5);\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0)\n continue;\n state[0] = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0)\n buf[pos++] = comma;\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n if (segment.length === 1)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n if (segment.length === 4)\n continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n return out + td.decode(buf.subarray(0, pos));\n }\n function encodeInteger(buf, pos, state, segment, j) {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0)\n clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n return pos;\n }\n\n exports.decode = decode;\n exports.encode = encode;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n//# sourceMappingURL=sourcemap-codec.umd.js.map\n","/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nclass FullTextDocument {\n constructor(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n get uri() {\n return this._uri;\n }\n get languageId() {\n return this._languageId;\n }\n get version() {\n return this._version;\n }\n getText(range) {\n if (range) {\n const start = this.offsetAt(range.start);\n const end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n }\n update(changes, version) {\n for (let change of changes) {\n if (FullTextDocument.isIncremental(change)) {\n // makes sure start is before end\n const range = getWellformedRange(change.range);\n // update content\n const startOffset = this.offsetAt(range.start);\n const endOffset = this.offsetAt(range.end);\n this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length);\n // update the offsets\n const startLine = Math.max(range.start.line, 0);\n const endLine = Math.max(range.end.line, 0);\n let lineOffsets = this._lineOffsets;\n const addedLineOffsets = computeLineOffsets(change.text, false, startOffset);\n if (endLine - startLine === addedLineOffsets.length) {\n for (let i = 0, len = addedLineOffsets.length; i < len; i++) {\n lineOffsets[i + startLine + 1] = addedLineOffsets[i];\n }\n }\n else {\n if (addedLineOffsets.length < 10000) {\n lineOffsets.splice(startLine + 1, endLine - startLine, ...addedLineOffsets);\n }\n else { // avoid too many arguments for splice\n this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1));\n }\n }\n const diff = change.text.length - (endOffset - startOffset);\n if (diff !== 0) {\n for (let i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {\n lineOffsets[i] = lineOffsets[i] + diff;\n }\n }\n }\n else if (FullTextDocument.isFull(change)) {\n this._content = change.text;\n this._lineOffsets = undefined;\n }\n else {\n throw new Error('Unknown change event received');\n }\n }\n this._version = version;\n }\n getLineOffsets() {\n if (this._lineOffsets === undefined) {\n this._lineOffsets = computeLineOffsets(this._content, true);\n }\n return this._lineOffsets;\n }\n positionAt(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n let lineOffsets = this.getLineOffsets();\n let low = 0, high = lineOffsets.length;\n if (high === 0) {\n return { line: 0, character: offset };\n }\n while (low < high) {\n let mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n let line = low - 1;\n return { line, character: offset - lineOffsets[line] };\n }\n offsetAt(position) {\n let lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n let lineOffset = lineOffsets[position.line];\n let nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n }\n get lineCount() {\n return this.getLineOffsets().length;\n }\n static isIncremental(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n }\n static isFull(event) {\n let candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n }\n}\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new text document.\n *\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's initial version number.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Updates a TextDocument by modifying its content.\n *\n * @param document the document to update. Only documents created by TextDocument.create are valid inputs.\n * @param changes the changes to apply to the document.\n * @param version the changes version for the document.\n * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter.\n *\n */\n function update(document, changes, version) {\n if (document instanceof FullTextDocument) {\n document.update(changes, version);\n return document;\n }\n else {\n throw new Error('TextDocument.update: document must be created by TextDocument.create');\n }\n }\n TextDocument.update = update;\n function applyEdits(document, edits) {\n let text = document.getText();\n let sortedEdits = mergeSort(edits.map(getWellformedEdit), (a, b) => {\n let diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n let lastModifiedOffset = 0;\n const spans = [];\n for (const e of sortedEdits) {\n let startOffset = document.offsetAt(e.range.start);\n if (startOffset < lastModifiedOffset) {\n throw new Error('Overlapping edit');\n }\n else if (startOffset > lastModifiedOffset) {\n spans.push(text.substring(lastModifiedOffset, startOffset));\n }\n if (e.newText.length) {\n spans.push(e.newText);\n }\n lastModifiedOffset = document.offsetAt(e.range.end);\n }\n spans.push(text.substr(lastModifiedOffset));\n return spans.join('');\n }\n TextDocument.applyEdits = applyEdits;\n})(TextDocument || (TextDocument = {}));\nfunction mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n const p = (data.length / 2) | 0;\n const left = data.slice(0, p);\n const right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n let leftIdx = 0;\n let rightIdx = 0;\n let i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n let ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n}\nfunction computeLineOffsets(text, isAtLineStart, textOffset = 0) {\n const result = isAtLineStart ? [textOffset] : [];\n for (let i = 0; i < text.length; i++) {\n let ch = text.charCodeAt(i);\n if (ch === 13 /* CharCode.CarriageReturn */ || ch === 10 /* CharCode.LineFeed */) {\n if (ch === 13 /* CharCode.CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* CharCode.LineFeed */) {\n i++;\n }\n result.push(textOffset + i + 1);\n }\n }\n return result;\n}\nfunction getWellformedRange(range) {\n const start = range.start;\n const end = range.end;\n if (start.line > end.line || (start.line === end.line && start.character > end.character)) {\n return { start: end, end: start };\n }\n return range;\n}\nfunction getWellformedEdit(textEdit) {\n const range = getWellformedRange(textEdit.range);\n if (range !== textEdit.range) {\n return { newText: textEdit.newText, range };\n }\n return textEdit;\n}\n","import ts from 'typescript';\nimport type { CodeMapping, VirtualCode } from '@vue/language-core';\nimport { decode } from '@jridgewell/sourcemap-codec';\nimport { svelte2tsx } from 'svelte2tsx';\nimport { TextDocument } from 'vscode-languageserver-textdocument';\n\n// See: https://github.com/johnsoncodehk/language-tools/blob/volar2/packages/language-server/src/languagePlugin.ts\nexport const transform = (sourceFile: ts.SourceFile): VirtualCode | undefined => {\n const text = sourceFile.getFullText();\n\n let tsx: ReturnType<typeof svelte2tsx>;\n\n try {\n tsx = svelte2tsx(text, {\n filename: sourceFile.fileName,\n isTsFile: true,\n emitOnTemplateError: true,\n mode: 'ts',\n });\n } catch (error) {\n return;\n }\n\n const v3Mappings = decode(tsx.map.mappings);\n const document = TextDocument.create('', 'svelte', 0, text);\n const generateDocument = TextDocument.create('', 'typescript', 0, tsx.code);\n const mappings: CodeMapping[] = [];\n\n let current:\n | {\n genOffset: number;\n sourceOffset: number;\n }\n | undefined;\n\n for (let genLine = 0; genLine < v3Mappings.length; genLine++) {\n for (const segment of v3Mappings[genLine]) {\n const genCharacter = segment[0];\n const genOffset = generateDocument.offsetAt({ line: genLine, character: genCharacter });\n if (current) {\n let length = genOffset - current.genOffset;\n const sourceText = text.substring(current.sourceOffset, current.sourceOffset + length);\n const genText = tsx.code.substring(current.genOffset, current.genOffset + length);\n if (sourceText !== genText) {\n length = 0;\n for (let i = 0; i < genOffset - current.genOffset; i++) {\n if (sourceText[i] === genText[i]) {\n length = i + 1;\n } else {\n break;\n }\n }\n }\n if (length > 0) {\n const lastMapping = mappings.length ? mappings[mappings.length - 1] : undefined;\n if (\n lastMapping &&\n lastMapping.generatedOffsets[0] + lastMapping.lengths[0] === current.genOffset &&\n lastMapping.sourceOffsets[0] + lastMapping.lengths[0] === current.sourceOffset\n ) {\n lastMapping.lengths[0] += length;\n } else {\n mappings.push({\n sourceOffsets: [current.sourceOffset],\n generatedOffsets: [current.genOffset],\n lengths: [length],\n data: {\n verification: true,\n completion: true,\n semantic: true,\n navigation: true,\n structure: false,\n format: false,\n },\n });\n }\n }\n current = undefined;\n }\n if (segment[2] !== undefined && segment[3] !== undefined) {\n const sourceOffset = document.offsetAt({ line: segment[2], character: segment[3] });\n current = {\n genOffset,\n sourceOffset,\n };\n }\n }\n }\n\n return {\n id: 'ts',\n languageId: 'typescript',\n snapshot: ts.ScriptSnapshot.fromString(tsx.code),\n mappings: mappings,\n embeddedCodes: [],\n } satisfies VirtualCode;\n};\n"],"names":["exports","comma","charCodeAt","semicolon","chars","intToChar","Uint8Array","charToInt","i","length","c","TextDecoder","Buffer","decode","buf","from","buffer","byteOffset","byteLength","toString","out","String","fromCharCode","mappings","state","Int32Array","decoded","index","semi","indexOf","line","sorted","lastCol","seg","decodeInteger","col","hasMoreVlq","push","sort","idx","j","value","shift","integer","pos","shouldNegate","sortComparator","a","b","encode","bufLength","subLength","sub","subarray","_i3","td","segment","copyWithin","encodeInteger","factory","FullTextDocument","constructor","uri","languageId","version","content","this","_uri","_languageId","_version","_content","_lineOffsets","undefined","getText","range","start","offsetAt","end","substring","update","changes","change","isIncremental","getWellformedRange","startOffset","endOffset","text","startLine","Math","max","endLine","lineOffsets","addedLineOffsets","computeLineOffsets","len","splice","slice","concat","diff","isFull","Error","getLineOffsets","positionAt","offset","min","low","high","character","mid","floor","position","lineOffset","lineCount","event","candidate","rangeLength","TextDocument","create","document","applyEdits","edits","sortedEdits","mergeSort","map","getWellformedEdit","lastModifiedOffset","spans","e","newText","substr","join","data","compare","p","left","right","leftIdx","rightIdx","isAtLineStart","textOffset","result","ch","textEdit","transform","sourceFile","getFullText","tsx","svelte2tsx","filename","fileName","isTsFile","emitOnTemplateError","mode","error","v3Mappings","generateDocument","code","current","genLine","genOffset","sourceText","sourceOffset","genText","lastMapping","generatedOffsets","lengths","sourceOffsets","verification","completion","semantic","navigation","structure","format","id","snapshot","ts","ScriptSnapshot","fromString","embeddedCodes"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,35 +1,10 @@
1
- var e = require("node:path");
1
+ var e = require("typescript");
2
2
 
3
- var i = require("ts-morph");
4
-
5
- var t = require("@0no-co/graphqlsp/api");
3
+ var i = require("@0no-co/graphqlsp/api");
6
4
 
7
5
  var n = require("./index-chunk.js");
8
6
 
9
- var r = require("./project-chunk.js");
10
-
11
- function _interopNamespaceDefault(e) {
12
- var i = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach((function(t) {
15
- if ("default" !== t) {
16
- var n = Object.getOwnPropertyDescriptor(e, t);
17
- Object.defineProperty(i, t, n.get ? n : {
18
- enumerable: !0,
19
- get: function() {
20
- return e[t];
21
- }
22
- });
23
- }
24
- }));
25
- }
26
- i.default = e;
27
- return i;
28
- }
29
-
30
- var a = _interopNamespaceDefault(e);
31
-
32
- var l = function(e) {
7
+ var t = function(e) {
33
8
  e[e.Const = 1] = "Const";
34
9
  e[e.Var = 2] = "Var";
35
10
  e[e.Int = 3] = "Int";
@@ -38,28 +13,28 @@ var l = function(e) {
38
13
  e[e.String = 6] = "String";
39
14
  e[e.Enum = 7] = "Enum";
40
15
  return e;
41
- }(l || {});
16
+ }(t || {});
42
17
 
43
- var s = function(e) {
18
+ var r = function(e) {
44
19
  e[e.Spread = 1] = "Spread";
45
20
  e[e.Name = 2] = "Name";
46
21
  return e;
47
- }(s || {});
22
+ }(r || {});
48
23
 
49
- function mapJoin(e, i, t) {
50
- var n = "";
24
+ function mapJoin(e, i, n) {
25
+ var t = "";
51
26
  for (var r = 0; r < e.length; r++) {
52
27
  if (r) {
53
- n += i;
28
+ t += i;
54
29
  }
55
- n += t(e[r]);
30
+ t += n(e[r]);
56
31
  }
57
- return n;
32
+ return t;
58
33
  }
59
34
 
60
- var o = "\n";
35
+ var a = "\n";
61
36
 
62
- var u = {
37
+ var l = {
63
38
  OperationDefinition(e) {
64
39
  var i = e.operation;
65
40
  if (e.name) {
@@ -69,38 +44,38 @@ var u = {
69
44
  if (!e.name) {
70
45
  i += " ";
71
46
  }
72
- i += "(" + mapJoin(e.variableDefinitions, ", ", u.VariableDefinition) + ")";
47
+ i += "(" + mapJoin(e.variableDefinitions, ", ", l.VariableDefinition) + ")";
73
48
  }
74
49
  if (e.directives && e.directives.length) {
75
- i += " " + mapJoin(e.directives, " ", u.Directive);
50
+ i += " " + mapJoin(e.directives, " ", l.Directive);
76
51
  }
77
- return "query" !== i ? i + " " + u.SelectionSet(e.selectionSet) : u.SelectionSet(e.selectionSet);
52
+ return "query" !== i ? i + " " + l.SelectionSet(e.selectionSet) : l.SelectionSet(e.selectionSet);
78
53
  },
79
54
  VariableDefinition(e) {
80
- var i = u.Variable(e.variable) + ": " + _print(e.type);
55
+ var i = l.Variable(e.variable) + ": " + _print(e.type);
81
56
  if (e.defaultValue) {
82
57
  i += " = " + _print(e.defaultValue);
83
58
  }
84
59
  if (e.directives && e.directives.length) {
85
- i += " " + mapJoin(e.directives, " ", u.Directive);
60
+ i += " " + mapJoin(e.directives, " ", l.Directive);
86
61
  }
87
62
  return i;
88
63
  },
89
64
  Field(e) {
90
65
  var i = e.alias ? e.alias.value + ": " + e.name.value : e.name.value;
91
66
  if (e.arguments && e.arguments.length) {
92
- var t = mapJoin(e.arguments, ", ", u.Argument);
93
- if (i.length + t.length + 2 > 80) {
94
- i += "(" + (o += " ") + mapJoin(e.arguments, o, u.Argument) + (o = o.slice(0, -2)) + ")";
67
+ var n = mapJoin(e.arguments, ", ", l.Argument);
68
+ if (i.length + n.length + 2 > 80) {
69
+ i += "(" + (a += " ") + mapJoin(e.arguments, a, l.Argument) + (a = a.slice(0, -2)) + ")";
95
70
  } else {
96
- i += "(" + t + ")";
71
+ i += "(" + n + ")";
97
72
  }
98
73
  }
99
74
  if (e.directives && e.directives.length) {
100
- i += " " + mapJoin(e.directives, " ", u.Directive);
75
+ i += " " + mapJoin(e.directives, " ", l.Directive);
101
76
  }
102
77
  if (e.selectionSet) {
103
- i += " " + u.SelectionSet(e.selectionSet);
78
+ i += " " + l.SelectionSet(e.selectionSet);
104
79
  }
105
80
  return i;
106
81
  },
@@ -108,7 +83,7 @@ var u = {
108
83
  if (e.block) {
109
84
  return function printBlockString(e) {
110
85
  return '"""\n' + e.replace(/"""/g, '\\"""') + '\n"""';
111
- }(e.value).replace(/\n/g, o);
86
+ }(e.value).replace(/\n/g, a);
112
87
  } else {
113
88
  return function printString(e) {
114
89
  return JSON.stringify(e);
@@ -123,7 +98,7 @@ var u = {
123
98
  Name: e => e.value,
124
99
  Variable: e => "$" + e.name.value,
125
100
  ListValue: e => "[" + mapJoin(e.values, ", ", _print) + "]",
126
- ObjectValue: e => "{" + mapJoin(e.fields, ", ", u.ObjectField) + "}",
101
+ ObjectValue: e => "{" + mapJoin(e.fields, ", ", l.ObjectField) + "}",
127
102
  ObjectField: e => e.name.value + ": " + _print(e.value),
128
103
  Document(e) {
129
104
  if (!e.definitions || !e.definitions.length) {
@@ -131,12 +106,12 @@ var u = {
131
106
  }
132
107
  return mapJoin(e.definitions, "\n\n", _print);
133
108
  },
134
- SelectionSet: e => "{" + (o += " ") + mapJoin(e.selections, o, _print) + (o = o.slice(0, -2)) + "}",
109
+ SelectionSet: e => "{" + (a += " ") + mapJoin(e.selections, a, _print) + (a = a.slice(0, -2)) + "}",
135
110
  Argument: e => e.name.value + ": " + _print(e.value),
136
111
  FragmentSpread(e) {
137
112
  var i = "..." + e.name.value;
138
113
  if (e.directives && e.directives.length) {
139
- i += " " + mapJoin(e.directives, " ", u.Directive);
114
+ i += " " + mapJoin(e.directives, " ", l.Directive);
140
115
  }
141
116
  return i;
142
117
  },
@@ -146,22 +121,22 @@ var u = {
146
121
  i += " on " + e.typeCondition.name.value;
147
122
  }
148
123
  if (e.directives && e.directives.length) {
149
- i += " " + mapJoin(e.directives, " ", u.Directive);
124
+ i += " " + mapJoin(e.directives, " ", l.Directive);
150
125
  }
151
- return i + " " + u.SelectionSet(e.selectionSet);
126
+ return i + " " + l.SelectionSet(e.selectionSet);
152
127
  },
153
128
  FragmentDefinition(e) {
154
129
  var i = "fragment " + e.name.value;
155
130
  i += " on " + e.typeCondition.name.value;
156
131
  if (e.directives && e.directives.length) {
157
- i += " " + mapJoin(e.directives, " ", u.Directive);
132
+ i += " " + mapJoin(e.directives, " ", l.Directive);
158
133
  }
159
- return i + " " + u.SelectionSet(e.selectionSet);
134
+ return i + " " + l.SelectionSet(e.selectionSet);
160
135
  },
161
136
  Directive(e) {
162
137
  var i = "@" + e.name.value;
163
138
  if (e.arguments && e.arguments.length) {
164
- i += "(" + mapJoin(e.arguments, ", ", u.Argument) + ")";
139
+ i += "(" + mapJoin(e.arguments, ", ", l.Argument) + ")";
165
140
  }
166
141
  return i;
167
142
  },
@@ -170,110 +145,102 @@ var u = {
170
145
  NonNullType: e => _print(e.type) + "!"
171
146
  };
172
147
 
173
- var _print = e => u[e.kind](e);
148
+ var _print = e => l[e.kind](e);
174
149
 
175
150
  function print(e) {
176
- o = "\n";
177
- return u[e.kind] ? u[e.kind](e) : "";
151
+ a = "\n";
152
+ return l[e.kind] ? l[e.kind](e) : "";
178
153
  }
179
154
 
180
- var c = n.expose((async function* _runPersisted(e) {
181
- t.init({
182
- typescript: i.ts
183
- });
184
- var l = a.dirname(e.configPath);
185
- var s = new i.Project({
186
- tsConfigFilePath: e.configPath
187
- });
188
- var o = await n.loadVirtualCode(l, s, i.ts);
189
- if (o) {
155
+ var s = n.expose((async function* _runPersisted(t) {
156
+ var r = n.programFactory(t);
157
+ var a = r.createExternalFiles();
158
+ if (a.length) {
190
159
  yield {
191
160
  kind: "EXTERNAL_WARNING"
192
161
  };
162
+ await r.addVirtualFiles(a);
193
163
  }
194
- var u = r.createPluginInfo(s, e.pluginConfig, l, o);
195
- var c = s.getSourceFiles().filter((i => {
196
- var t = a.resolve(l, i.getFilePath());
197
- return !a.relative(e.rootPath, t).startsWith("..");
198
- }));
164
+ var l = r.build();
165
+ var s = l.getSourceFiles();
199
166
  yield {
200
167
  kind: "FILE_COUNT",
201
- fileCount: c.length
168
+ fileCount: s.length
202
169
  };
203
- for (var {compilerNode: f} of c) {
204
- var v = f.fileName;
205
- var m = {};
206
- var g = [];
207
- var d = t.findAllPersistedCallExpressions(f);
208
- for (var p of d) {
209
- var h = n.getFilePosition(f, p.getStart(), void 0, o);
210
- v = h.file;
211
- var S = p.arguments[0];
212
- var y = p.arguments[1];
213
- var b = p.typeArguments && p.typeArguments[0];
214
- if (!S || !i.ts.isStringLiteral(S)) {
215
- g.push({
170
+ for (var u of s) {
171
+ var o = u.fileName;
172
+ var c = {};
173
+ var m = [];
174
+ var v = i.findAllPersistedCallExpressions(u);
175
+ for (var f of v) {
176
+ var g = l.getSourcePosition(u, f.getStart());
177
+ o = g.fileName;
178
+ var d = f.arguments[0];
179
+ var p = f.arguments[1];
180
+ var S = f.typeArguments && f.typeArguments[0];
181
+ if (!d || !e.isStringLiteral(d)) {
182
+ m.push({
216
183
  message: '"graphql.persisted" must be called with a string literal as the first argument.',
217
- file: h.file,
218
- line: h.line,
219
- col: h.col
184
+ file: g.fileName,
185
+ line: g.line,
186
+ col: g.col
220
187
  });
221
188
  continue;
222
- } else if (!y && !b) {
223
- g.push({
189
+ } else if (!p && !S) {
190
+ m.push({
224
191
  message: '"graphql.persisted" is missing a document.\nThis may be passed as a generic such as `graphql.persisted<typeof document>` or as the second argument.',
225
- file: h.file,
226
- line: h.line,
227
- col: h.col
192
+ file: g.fileName,
193
+ line: g.line,
194
+ col: g.col
228
195
  });
229
196
  continue;
230
197
  }
231
- var D = null;
232
- var N = p;
233
- if (y && (i.ts.isCallExpression(y) || i.ts.isIdentifier(y))) {
234
- D = t.getDocumentReferenceFromDocumentNode(y, f.fileName, u).node;
235
- N = y;
236
- } else if (b && i.ts.isTypeQueryNode(b)) {
237
- D = t.getDocumentReferenceFromTypeQuery(b, f.fileName, u).node;
238
- N = b;
198
+ var h = null;
199
+ var y = f;
200
+ if (p && (e.isCallExpression(p) || e.isIdentifier(p))) {
201
+ h = i.getDocumentReferenceFromDocumentNode(p, u.fileName, l.buildPluginInfo(t.pluginConfig)).node;
202
+ y = p;
203
+ } else if (S && e.isTypeQueryNode(S)) {
204
+ h = i.getDocumentReferenceFromTypeQuery(S, u.fileName, l.buildPluginInfo(t.pluginConfig)).node;
205
+ y = S;
239
206
  }
240
- if (!D) {
241
- g.push({
242
- message: `Could not find reference for "${N.getText()}".\nIf this is unexpected, please file an issue describing your case.`,
243
- file: h.file,
244
- line: h.line,
245
- col: h.col
207
+ if (!h) {
208
+ m.push({
209
+ message: `Could not find reference for "${y.getText()}".\nIf this is unexpected, please file an issue describing your case.`,
210
+ file: g.fileName,
211
+ line: g.line,
212
+ col: g.col
246
213
  });
247
214
  continue;
248
215
  }
249
- if (!D || !i.ts.isCallExpression(D) || !i.ts.isNoSubstitutionTemplateLiteral(D.arguments[0]) && !i.ts.isStringLiteral(D.arguments[0])) {
250
- g.push({
251
- message: `The referenced document of "${N.getText()}" contains no document string literal.\nIf this is unexpected, please file an issue describing your case.`,
252
- file: h.file,
253
- line: h.line,
254
- col: h.col
216
+ if (!h || !e.isCallExpression(h) || !e.isNoSubstitutionTemplateLiteral(h.arguments[0]) && !e.isStringLiteral(h.arguments[0])) {
217
+ m.push({
218
+ message: `The referenced document of "${y.getText()}" contains no document string literal.\nIf this is unexpected, please file an issue describing your case.`,
219
+ file: g.fileName,
220
+ line: g.line,
221
+ col: g.col
255
222
  });
256
223
  continue;
257
224
  }
258
- var F = [];
259
- var V = D.arguments[0].getText().slice(1, -1);
260
- if (D.arguments[1] && i.ts.isArrayLiteralExpression(D.arguments[1])) {
261
- t.unrollTadaFragments(D.arguments[1], F, u);
225
+ var N = [];
226
+ var b = h.arguments[0].getText().slice(1, -1);
227
+ if (h.arguments[1] && e.isArrayLiteralExpression(h.arguments[1])) {
228
+ i.unrollTadaFragments(h.arguments[1], N, l.buildPluginInfo(t.pluginConfig));
262
229
  }
263
- var J = V;
264
- for (var T of F) {
265
- J += "\n\n" + print(T);
230
+ var D = b;
231
+ for (var F of N) {
232
+ D += "\n\n" + print(F);
266
233
  }
267
- m[S.getText().slice(1, -1)] = J;
234
+ c[d.getText().slice(1, -1)] = D;
268
235
  }
269
236
  yield {
270
237
  kind: "FILE_PERSISTED",
271
- filePath: v,
272
- documents: m,
273
- warnings: g
238
+ filePath: o,
239
+ documents: c,
240
+ warnings: m
274
241
  };
275
242
  }
276
243
  }));
277
244
 
278
- exports.runPersisted = c;
245
+ exports.runPersisted = s;
279
246
  //# sourceMappingURL=thread-chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread-chunk.js","sources":["../../src/commands/generate-persisted/thread.ts"],"sourcesContent":["import * as path from 'node:path';\nimport { print } from '@0no-co/graphql.web';\nimport { Project, ts } from 'ts-morph';\n\nimport type { FragmentDefinitionNode } from '@0no-co/graphql.web';\nimport type { GraphQLSPConfig } from '@gql.tada/internal';\n\nimport {\n init,\n findAllPersistedCallExpressions,\n getDocumentReferenceFromTypeQuery,\n getDocumentReferenceFromDocumentNode,\n unrollTadaFragments,\n} from '@0no-co/graphqlsp/api';\n\nimport { createPluginInfo, getFilePosition, loadVirtualCode } from '../../ts';\nimport { expose } from '../../threads';\n\nimport type { PersistedSignal, PersistedWarning } from './types';\n\nexport interface PersistedParams {\n rootPath: string;\n configPath: string;\n pluginConfig: GraphQLSPConfig;\n}\n\nasync function* _runPersisted(params: PersistedParams): AsyncIterableIterator<PersistedSignal> {\n init({ typescript: ts });\n\n const projectPath = path.dirname(params.configPath);\n const project = new Project({ tsConfigFilePath: params.configPath });\n\n const getVirtualPosition = await loadVirtualCode(projectPath, project, ts);\n if (!!getVirtualPosition) {\n yield { kind: 'EXTERNAL_WARNING' };\n }\n\n const pluginInfo = createPluginInfo(\n project,\n params.pluginConfig,\n projectPath,\n getVirtualPosition\n );\n\n // Filter source files by whether they're under the relevant root path\n const sourceFiles = project.getSourceFiles().filter((sourceFile) => {\n const filePath = path.resolve(projectPath, sourceFile.getFilePath());\n const relative = path.relative(params.rootPath, filePath);\n return !relative.startsWith('..');\n });\n\n yield {\n kind: 'FILE_COUNT',\n fileCount: sourceFiles.length,\n };\n\n for (const { compilerNode: sourceFile } of sourceFiles) {\n let filePath = sourceFile.fileName;\n const documents: Record<string, string> = {};\n const warnings: PersistedWarning[] = [];\n\n const calls = findAllPersistedCallExpressions(sourceFile);\n for (const call of calls) {\n const position = getFilePosition(sourceFile, call.getStart(), undefined, getVirtualPosition);\n filePath = position.file;\n\n const hashArg = call.arguments[0];\n const docArg = call.arguments[1];\n const typeQuery = call.typeArguments && call.typeArguments[0];\n if (!hashArg || !ts.isStringLiteral(hashArg)) {\n warnings.push({\n message:\n '\"graphql.persisted\" must be called with a string literal as the first argument.',\n file: position.file,\n line: position.line,\n col: position.col,\n });\n continue;\n } else if (!docArg && !typeQuery) {\n warnings.push({\n message:\n '\"graphql.persisted\" is missing a document.\\n' +\n 'This may be passed as a generic such as `graphql.persisted<typeof document>` or as the second argument.',\n file: position.file,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n let foundNode: ts.CallExpression | null = null;\n let referencingNode: ts.Node = call;\n if (docArg && (ts.isCallExpression(docArg) || ts.isIdentifier(docArg))) {\n const result = getDocumentReferenceFromDocumentNode(\n docArg,\n sourceFile.fileName,\n pluginInfo\n );\n foundNode = result.node;\n referencingNode = docArg;\n } else if (typeQuery && ts.isTypeQueryNode(typeQuery)) {\n const result = getDocumentReferenceFromTypeQuery(\n typeQuery,\n sourceFile.fileName,\n pluginInfo\n );\n foundNode = result.node;\n referencingNode = typeQuery;\n }\n\n if (!foundNode) {\n warnings.push({\n message:\n `Could not find reference for \"${referencingNode.getText()}\".\\n` +\n 'If this is unexpected, please file an issue describing your case.',\n file: position.file,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n if (\n !foundNode ||\n !ts.isCallExpression(foundNode) ||\n (!ts.isNoSubstitutionTemplateLiteral(foundNode.arguments[0]) &&\n !ts.isStringLiteral(foundNode.arguments[0]))\n ) {\n warnings.push({\n message:\n `The referenced document of \"${referencingNode.getText()}\" contains no document string literal.\\n` +\n 'If this is unexpected, please file an issue describing your case.',\n file: position.file,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n const fragments: FragmentDefinitionNode[] = [];\n const operation = foundNode.arguments[0].getText().slice(1, -1);\n if (foundNode.arguments[1] && ts.isArrayLiteralExpression(foundNode.arguments[1])) {\n unrollTadaFragments(foundNode.arguments[1], fragments, pluginInfo);\n }\n\n let document = operation;\n for (const fragment of fragments) document += '\\n\\n' + print(fragment);\n documents[hashArg.getText().slice(1, -1)] = document;\n }\n\n yield {\n kind: 'FILE_PERSISTED',\n filePath,\n documents,\n warnings,\n };\n }\n}\n\nexport const runPersisted = expose(_runPersisted);\n"],"names":["runPersisted","expose","async","_runPersisted","params","init","typescript","ts","projectPath","path","dirname","configPath","project","Project","tsConfigFilePath","getVirtualPosition","loadVirtualCode","kind","pluginInfo","createPluginInfo","pluginConfig","sourceFiles","getSourceFiles","filter","sourceFile","filePath","resolve","getFilePath","relative","rootPath","startsWith","fileCount","length","compilerNode","fileName","documents","warnings","calls","findAllPersistedCallExpressions","call","position","getFilePosition","getStart","undefined","file","hashArg","arguments","docArg","typeQuery","typeArguments","isStringLiteral","push","message","line","col","foundNode","referencingNode","isCallExpression","isIdentifier","getDocumentReferenceFromDocumentNode","node","isTypeQueryNode","getDocumentReferenceFromTypeQuery","getText","isNoSubstitutionTemplateLiteral","fragments","operation","slice","isArrayLiteralExpression","unrollTadaFragments","document","fragment","print"],"mappings":"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"}
1
+ {"version":3,"file":"thread-chunk.js","sources":["../../src/commands/generate-persisted/thread.ts"],"sourcesContent":["import ts from 'typescript';\nimport { print } from '@0no-co/graphql.web';\n\nimport type { FragmentDefinitionNode } from '@0no-co/graphql.web';\nimport type { GraphQLSPConfig } from '@gql.tada/internal';\n\nimport {\n findAllPersistedCallExpressions,\n getDocumentReferenceFromTypeQuery,\n getDocumentReferenceFromDocumentNode,\n unrollTadaFragments,\n} from '@0no-co/graphqlsp/api';\n\nimport { programFactory } from '../../ts';\nimport { expose } from '../../threads';\n\nimport type { PersistedSignal, PersistedWarning } from './types';\n\nexport interface PersistedParams {\n rootPath: string;\n configPath: string;\n pluginConfig: GraphQLSPConfig;\n}\n\nasync function* _runPersisted(params: PersistedParams): AsyncIterableIterator<PersistedSignal> {\n const factory = programFactory(params);\n\n const externalFiles = factory.createExternalFiles();\n if (externalFiles.length) {\n yield { kind: 'EXTERNAL_WARNING' };\n await factory.addVirtualFiles(externalFiles);\n }\n\n const container = factory.build();\n const sourceFiles = container.getSourceFiles();\n\n yield {\n kind: 'FILE_COUNT',\n fileCount: sourceFiles.length,\n };\n\n for (const sourceFile of sourceFiles) {\n let filePath = sourceFile.fileName;\n const documents: Record<string, string> = {};\n const warnings: PersistedWarning[] = [];\n\n const calls = findAllPersistedCallExpressions(sourceFile);\n for (const call of calls) {\n const position = container.getSourcePosition(sourceFile, call.getStart());\n filePath = position.fileName;\n\n const hashArg = call.arguments[0];\n const docArg = call.arguments[1];\n const typeQuery = call.typeArguments && call.typeArguments[0];\n if (!hashArg || !ts.isStringLiteral(hashArg)) {\n warnings.push({\n message:\n '\"graphql.persisted\" must be called with a string literal as the first argument.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n } else if (!docArg && !typeQuery) {\n warnings.push({\n message:\n '\"graphql.persisted\" is missing a document.\\n' +\n 'This may be passed as a generic such as `graphql.persisted<typeof document>` or as the second argument.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n let foundNode: ts.CallExpression | null = null;\n let referencingNode: ts.Node = call;\n if (docArg && (ts.isCallExpression(docArg) || ts.isIdentifier(docArg))) {\n const result = getDocumentReferenceFromDocumentNode(\n docArg,\n sourceFile.fileName,\n container.buildPluginInfo(params.pluginConfig)\n );\n foundNode = result.node;\n referencingNode = docArg;\n } else if (typeQuery && ts.isTypeQueryNode(typeQuery)) {\n const result = getDocumentReferenceFromTypeQuery(\n typeQuery,\n sourceFile.fileName,\n container.buildPluginInfo(params.pluginConfig)\n );\n foundNode = result.node;\n referencingNode = typeQuery;\n }\n\n if (!foundNode) {\n warnings.push({\n message:\n `Could not find reference for \"${referencingNode.getText()}\".\\n` +\n 'If this is unexpected, please file an issue describing your case.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n if (\n !foundNode ||\n !ts.isCallExpression(foundNode) ||\n (!ts.isNoSubstitutionTemplateLiteral(foundNode.arguments[0]) &&\n !ts.isStringLiteral(foundNode.arguments[0]))\n ) {\n warnings.push({\n message:\n `The referenced document of \"${referencingNode.getText()}\" contains no document string literal.\\n` +\n 'If this is unexpected, please file an issue describing your case.',\n file: position.fileName,\n line: position.line,\n col: position.col,\n });\n continue;\n }\n\n const fragments: FragmentDefinitionNode[] = [];\n const operation = foundNode.arguments[0].getText().slice(1, -1);\n if (foundNode.arguments[1] && ts.isArrayLiteralExpression(foundNode.arguments[1])) {\n unrollTadaFragments(\n foundNode.arguments[1],\n fragments,\n container.buildPluginInfo(params.pluginConfig)\n );\n }\n\n let document = operation;\n for (const fragment of fragments) document += '\\n\\n' + print(fragment);\n documents[hashArg.getText().slice(1, -1)] = document;\n }\n\n yield {\n kind: 'FILE_PERSISTED',\n filePath,\n documents,\n warnings,\n };\n }\n}\n\nexport const runPersisted = expose(_runPersisted);\n"],"names":["runPersisted","expose","async","_runPersisted","params","factory","programFactory","externalFiles","createExternalFiles","length","kind","addVirtualFiles","container","build","sourceFiles","getSourceFiles","fileCount","sourceFile","filePath","fileName","documents","warnings","calls","findAllPersistedCallExpressions","call","position","getSourcePosition","getStart","hashArg","arguments","docArg","typeQuery","typeArguments","ts","isStringLiteral","push","message","file","line","col","foundNode","referencingNode","isCallExpression","isIdentifier","getDocumentReferenceFromDocumentNode","buildPluginInfo","pluginConfig","node","isTypeQueryNode","getDocumentReferenceFromTypeQuery","getText","isNoSubstitutionTemplateLiteral","fragments","operation","slice","isArrayLiteralExpression","unrollTadaFragments","document","fragment","print"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoJaA,IAAeC,EAAMA,QA5HlCC,gBAAgBC,cAAcC;EAC5B,IAAMC,IAAUC,iBAAeF;EAE/B,IAAMG,IAAgBF,EAAQG;EAC9B,IAAID,EAAcE,QAAQ;UAClB;MAAEC,MAAM;;UACRL,EAAQM,gBAAgBJ;AAChC;EAEA,IAAMK,IAAYP,EAAQQ;EAC1B,IAAMC,IAAcF,EAAUG;QAExB;IACJL,MAAM;IACNM,WAAWF,EAAYL;;EAGzB,KAAK,IAAMQ,KAAcH,GAAa;IACpC,IAAII,IAAWD,EAAWE;IAC1B,IAAMC,IAAoC,CAAA;IAC1C,IAAMC,IAA+B;IAErC,IAAMC,IAAQC,kCAAgCN;IAC9C,KAAK,IAAMO,KAAQF,GAAO;MACxB,IAAMG,IAAWb,EAAUc,kBAAkBT,GAAYO,EAAKG;MAC9DT,IAAWO,EAASN;MAEpB,IAAMS,IAAUJ,EAAKK,UAAU;MAC/B,IAAMC,IAASN,EAAKK,UAAU;MAC9B,IAAME,IAAYP,EAAKQ,iBAAiBR,EAAKQ,cAAc;MAC3D,KAAKJ,MAAYK,EAAGC,gBAAgBN,IAAU;QAC5CP,EAASc,KAAK;UACZC,SACE;UACFC,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF,aAAO,KAAKT,MAAWC,GAAW;QAChCV,EAASc,KAAK;UACZC,SACE;UAEFC,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF;MAEA,IAAIC,IAAsC;MAC1C,IAAIC,IAA2BjB;MAC/B,IAAIM,MAAWG,EAAGS,iBAAiBZ,MAAWG,EAAGU,aAAab,KAAU;QAMtEU,IALeI,EAAAA,qCACbd,GACAb,EAAWE,UACXP,EAAUiC,gBAAgBzC,EAAO0C,eAEhBC;QACnBN,IAAkBX;AACnB,aAAM,IAAIC,KAAaE,EAAGe,gBAAgBjB,IAAY;QAMrDS,IALeS,EAAAA,kCACblB,GACAd,EAAWE,UACXP,EAAUiC,gBAAgBzC,EAAO0C,eAEhBC;QACnBN,IAAkBV;AACpB;MAEA,KAAKS,GAAW;QACdnB,EAASc,KAAK;UACZC,SACG,iCAAgCK,EAAgBS;UAEnDb,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF;MAEA,KACGC,MACAP,EAAGS,iBAAiBF,OACnBP,EAAGkB,gCAAgCX,EAAUX,UAAU,QACtDI,EAAGC,gBAAgBM,EAAUX,UAAU,KAC1C;QACAR,EAASc,KAAK;UACZC,SACG,+BAA8BK,EAAgBS;UAEjDb,MAAMZ,EAASN;UACfmB,MAAMb,EAASa;UACfC,KAAKd,EAASc;;QAEhB;AACF;MAEA,IAAMa,IAAsC;MAC5C,IAAMC,IAAYb,EAAUX,UAAU,GAAGqB,UAAUI,MAAM,IAAI;MAC7D,IAAId,EAAUX,UAAU,MAAMI,EAAGsB,yBAAyBf,EAAUX,UAAU;QAC5E2B,EAAAA,oBACEhB,EAAUX,UAAU,IACpBuB,GACAxC,EAAUiC,gBAAgBzC,EAAO0C;;MAIrC,IAAIW,IAAWJ;MACf,KAAK,IAAMK,KAAYN;QAAWK,KAAY,SAASE,MAAMD;;MAC7DtC,EAAUQ,EAAQsB,UAAUI,MAAM,IAAI,MAAMG;AAC9C;UAEM;MACJ/C,MAAM;MACNQ;MACAE;MACAC;;AAEJ;AACF;;"}