@groma/scanner-vue 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/dist/index.js +208819 -0
  4. package/dist/lib.d.ts +22 -0
  5. package/dist/lib.decorators.d.ts +384 -0
  6. package/dist/lib.decorators.legacy.d.ts +22 -0
  7. package/dist/lib.dom.asynciterable.d.ts +41 -0
  8. package/dist/lib.dom.d.ts +39429 -0
  9. package/dist/lib.dom.iterable.d.ts +571 -0
  10. package/dist/lib.es2015.collection.d.ts +147 -0
  11. package/dist/lib.es2015.core.d.ts +597 -0
  12. package/dist/lib.es2015.d.ts +28 -0
  13. package/dist/lib.es2015.generator.d.ts +77 -0
  14. package/dist/lib.es2015.iterable.d.ts +605 -0
  15. package/dist/lib.es2015.promise.d.ts +81 -0
  16. package/dist/lib.es2015.proxy.d.ts +128 -0
  17. package/dist/lib.es2015.reflect.d.ts +144 -0
  18. package/dist/lib.es2015.symbol.d.ts +46 -0
  19. package/dist/lib.es2015.symbol.wellknown.d.ts +326 -0
  20. package/dist/lib.es2016.array.include.d.ts +116 -0
  21. package/dist/lib.es2016.d.ts +21 -0
  22. package/dist/lib.es2016.full.d.ts +23 -0
  23. package/dist/lib.es2016.intl.d.ts +31 -0
  24. package/dist/lib.es2017.arraybuffer.d.ts +21 -0
  25. package/dist/lib.es2017.d.ts +26 -0
  26. package/dist/lib.es2017.date.d.ts +31 -0
  27. package/dist/lib.es2017.full.d.ts +23 -0
  28. package/dist/lib.es2017.intl.d.ts +44 -0
  29. package/dist/lib.es2017.object.d.ts +49 -0
  30. package/dist/lib.es2017.sharedmemory.d.ts +135 -0
  31. package/dist/lib.es2017.string.d.ts +45 -0
  32. package/dist/lib.es2017.typedarrays.d.ts +53 -0
  33. package/dist/lib.es2018.asyncgenerator.d.ts +77 -0
  34. package/dist/lib.es2018.asynciterable.d.ts +53 -0
  35. package/dist/lib.es2018.d.ts +24 -0
  36. package/dist/lib.es2018.full.d.ts +24 -0
  37. package/dist/lib.es2018.intl.d.ts +83 -0
  38. package/dist/lib.es2018.promise.d.ts +30 -0
  39. package/dist/lib.es2018.regexp.d.ts +37 -0
  40. package/dist/lib.es2019.array.d.ts +79 -0
  41. package/dist/lib.es2019.d.ts +24 -0
  42. package/dist/lib.es2019.full.d.ts +24 -0
  43. package/dist/lib.es2019.intl.d.ts +23 -0
  44. package/dist/lib.es2019.object.d.ts +33 -0
  45. package/dist/lib.es2019.string.d.ts +37 -0
  46. package/dist/lib.es2019.symbol.d.ts +24 -0
  47. package/dist/lib.es2020.bigint.d.ts +765 -0
  48. package/dist/lib.es2020.d.ts +27 -0
  49. package/dist/lib.es2020.date.d.ts +42 -0
  50. package/dist/lib.es2020.full.d.ts +24 -0
  51. package/dist/lib.es2020.intl.d.ts +474 -0
  52. package/dist/lib.es2020.number.d.ts +28 -0
  53. package/dist/lib.es2020.promise.d.ts +47 -0
  54. package/dist/lib.es2020.sharedmemory.d.ts +99 -0
  55. package/dist/lib.es2020.string.d.ts +44 -0
  56. package/dist/lib.es2020.symbol.wellknown.d.ts +41 -0
  57. package/dist/lib.es2021.d.ts +23 -0
  58. package/dist/lib.es2021.full.d.ts +24 -0
  59. package/dist/lib.es2021.intl.d.ts +166 -0
  60. package/dist/lib.es2021.promise.d.ts +48 -0
  61. package/dist/lib.es2021.string.d.ts +33 -0
  62. package/dist/lib.es2021.weakref.d.ts +78 -0
  63. package/dist/lib.es2022.array.d.ts +121 -0
  64. package/dist/lib.es2022.d.ts +25 -0
  65. package/dist/lib.es2022.error.d.ts +75 -0
  66. package/dist/lib.es2022.full.d.ts +24 -0
  67. package/dist/lib.es2022.intl.d.ts +145 -0
  68. package/dist/lib.es2022.object.d.ts +26 -0
  69. package/dist/lib.es2022.regexp.d.ts +39 -0
  70. package/dist/lib.es2022.string.d.ts +25 -0
  71. package/dist/lib.es2023.array.d.ts +924 -0
  72. package/dist/lib.es2023.collection.d.ts +21 -0
  73. package/dist/lib.es2023.d.ts +22 -0
  74. package/dist/lib.es2023.full.d.ts +24 -0
  75. package/dist/lib.es2023.intl.d.ts +56 -0
  76. package/dist/lib.es2024.arraybuffer.d.ts +65 -0
  77. package/dist/lib.es2024.collection.d.ts +29 -0
  78. package/dist/lib.es2024.d.ts +26 -0
  79. package/dist/lib.es2024.full.d.ts +24 -0
  80. package/dist/lib.es2024.object.d.ts +29 -0
  81. package/dist/lib.es2024.promise.d.ts +35 -0
  82. package/dist/lib.es2024.regexp.d.ts +25 -0
  83. package/dist/lib.es2024.sharedmemory.d.ts +68 -0
  84. package/dist/lib.es2024.string.d.ts +29 -0
  85. package/dist/lib.es5.d.ts +4601 -0
  86. package/dist/lib.es6.d.ts +23 -0
  87. package/dist/lib.esnext.array.d.ts +35 -0
  88. package/dist/lib.esnext.collection.d.ts +96 -0
  89. package/dist/lib.esnext.d.ts +29 -0
  90. package/dist/lib.esnext.decorators.d.ts +28 -0
  91. package/dist/lib.esnext.disposable.d.ts +193 -0
  92. package/dist/lib.esnext.error.d.ts +24 -0
  93. package/dist/lib.esnext.float16.d.ts +445 -0
  94. package/dist/lib.esnext.full.d.ts +24 -0
  95. package/dist/lib.esnext.intl.d.ts +21 -0
  96. package/dist/lib.esnext.iterator.d.ts +148 -0
  97. package/dist/lib.esnext.promise.d.ts +34 -0
  98. package/dist/lib.esnext.sharedmemory.d.ts +25 -0
  99. package/dist/lib.scripthost.d.ts +322 -0
  100. package/dist/lib.webworker.asynciterable.d.ts +41 -0
  101. package/dist/lib.webworker.d.ts +13150 -0
  102. package/dist/lib.webworker.importscripts.d.ts +23 -0
  103. package/dist/lib.webworker.iterable.d.ts +340 -0
  104. package/package.json +43 -0
  105. package/types/props-fallback.d.ts +5 -0
  106. package/types/template-helpers.d.ts +140 -0
  107. package/types/vue-3.4-shims.d.ts +6 -0
  108. package/validation.md +78 -0
@@ -0,0 +1,23 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ /// <reference no-default-lib="true"/>
18
+
19
+ /////////////////////////////
20
+ /// WorkerGlobalScope APIs
21
+ /////////////////////////////
22
+ // These are only available in a Web Worker
23
+ declare function importScripts(...urls: string[]): void;
@@ -0,0 +1,340 @@
1
+ /*! *****************************************************************************
2
+ Copyright (c) Microsoft Corporation. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */
15
+
16
+
17
+ /// <reference no-default-lib="true"/>
18
+
19
+ /////////////////////////////
20
+ /// Worker Iterable APIs
21
+ /////////////////////////////
22
+
23
+ interface CSSNumericArray {
24
+ [Symbol.iterator](): ArrayIterator<CSSNumericValue>;
25
+ entries(): ArrayIterator<[number, CSSNumericValue]>;
26
+ keys(): ArrayIterator<number>;
27
+ values(): ArrayIterator<CSSNumericValue>;
28
+ }
29
+
30
+ interface CSSTransformValue {
31
+ [Symbol.iterator](): ArrayIterator<CSSTransformComponent>;
32
+ entries(): ArrayIterator<[number, CSSTransformComponent]>;
33
+ keys(): ArrayIterator<number>;
34
+ values(): ArrayIterator<CSSTransformComponent>;
35
+ }
36
+
37
+ interface CSSUnparsedValue {
38
+ [Symbol.iterator](): ArrayIterator<CSSUnparsedSegment>;
39
+ entries(): ArrayIterator<[number, CSSUnparsedSegment]>;
40
+ keys(): ArrayIterator<number>;
41
+ values(): ArrayIterator<CSSUnparsedSegment>;
42
+ }
43
+
44
+ interface Cache {
45
+ /**
46
+ * The **`addAll()`** method of the Cache interface takes an array of URLs, retrieves them, and adds the resulting response objects to the given cache.
47
+ *
48
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Cache/addAll)
49
+ */
50
+ addAll(requests: Iterable<RequestInfo>): Promise<void>;
51
+ }
52
+
53
+ interface CanvasPath {
54
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect) */
55
+ roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | Iterable<number | DOMPointInit>): void;
56
+ }
57
+
58
+ interface CanvasPathDrawingStyles {
59
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/setLineDash) */
60
+ setLineDash(segments: Iterable<number>): void;
61
+ }
62
+
63
+ interface CookieStoreManager {
64
+ /**
65
+ * The **`subscribe()`** method of the CookieStoreManager interface subscribes a ServiceWorkerRegistration to cookie change events.
66
+ *
67
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CookieStoreManager/subscribe)
68
+ */
69
+ subscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;
70
+ /**
71
+ * The **`unsubscribe()`** method of the CookieStoreManager interface stops the ServiceWorkerRegistration from receiving previously subscribed events.
72
+ *
73
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/CookieStoreManager/unsubscribe)
74
+ */
75
+ unsubscribe(subscriptions: Iterable<CookieStoreGetOptions>): Promise<void>;
76
+ }
77
+
78
+ interface DOMStringList {
79
+ [Symbol.iterator](): ArrayIterator<string>;
80
+ }
81
+
82
+ interface FileList {
83
+ [Symbol.iterator](): ArrayIterator<File>;
84
+ }
85
+
86
+ interface FontFaceSet extends Set<FontFace> {
87
+ }
88
+
89
+ interface FormDataIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
90
+ [Symbol.iterator](): FormDataIterator<T>;
91
+ }
92
+
93
+ interface FormData {
94
+ [Symbol.iterator](): FormDataIterator<[string, FormDataEntryValue]>;
95
+ /** Returns an array of key, value pairs for every entry in the list. */
96
+ entries(): FormDataIterator<[string, FormDataEntryValue]>;
97
+ /** Returns a list of keys in the list. */
98
+ keys(): FormDataIterator<string>;
99
+ /** Returns a list of values in the list. */
100
+ values(): FormDataIterator<FormDataEntryValue>;
101
+ }
102
+
103
+ interface HeadersIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
104
+ [Symbol.iterator](): HeadersIterator<T>;
105
+ }
106
+
107
+ interface Headers {
108
+ [Symbol.iterator](): HeadersIterator<[string, string]>;
109
+ /** Returns an iterator allowing to go through all key/value pairs contained in this object. */
110
+ entries(): HeadersIterator<[string, string]>;
111
+ /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */
112
+ keys(): HeadersIterator<string>;
113
+ /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */
114
+ values(): HeadersIterator<string>;
115
+ }
116
+
117
+ interface IDBDatabase {
118
+ /**
119
+ * The **`transaction`** method of the IDBDatabase interface immediately returns a transaction object (IDBTransaction) containing the IDBTransaction.objectStore method, which you can use to access your object store.
120
+ *
121
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBDatabase/transaction)
122
+ */
123
+ transaction(storeNames: string | Iterable<string>, mode?: IDBTransactionMode, options?: IDBTransactionOptions): IDBTransaction;
124
+ }
125
+
126
+ interface IDBObjectStore {
127
+ /**
128
+ * The **`createIndex()`** method of the field/column defining a new data point for each database record to contain.
129
+ *
130
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)
131
+ */
132
+ createIndex(name: string, keyPath: string | Iterable<string>, options?: IDBIndexParameters): IDBIndex;
133
+ }
134
+
135
+ interface ImageTrackList {
136
+ [Symbol.iterator](): ArrayIterator<ImageTrack>;
137
+ }
138
+
139
+ interface MessageEvent<T = any> {
140
+ /** @deprecated */
141
+ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable<MessagePort>): void;
142
+ }
143
+
144
+ interface StylePropertyMapReadOnlyIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
145
+ [Symbol.iterator](): StylePropertyMapReadOnlyIterator<T>;
146
+ }
147
+
148
+ interface StylePropertyMapReadOnly {
149
+ [Symbol.iterator](): StylePropertyMapReadOnlyIterator<[string, Iterable<CSSStyleValue>]>;
150
+ entries(): StylePropertyMapReadOnlyIterator<[string, Iterable<CSSStyleValue>]>;
151
+ keys(): StylePropertyMapReadOnlyIterator<string>;
152
+ values(): StylePropertyMapReadOnlyIterator<Iterable<CSSStyleValue>>;
153
+ }
154
+
155
+ interface SubtleCrypto {
156
+ /**
157
+ * The **`deriveKey()`** method of the SubtleCrypto interface can be used to derive a secret key from a master key.
158
+ *
159
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey)
160
+ */
161
+ deriveKey(algorithm: AlgorithmIdentifier | EcdhKeyDeriveParams | HkdfParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | HkdfParams | Pbkdf2Params, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;
162
+ /**
163
+ * The **`generateKey()`** method of the SubtleCrypto interface is used to generate a new key (for symmetric algorithms) or key pair (for public-key algorithms).
164
+ *
165
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey)
166
+ */
167
+ generateKey(algorithm: "Ed25519" | { name: "Ed25519" }, extractable: boolean, keyUsages: ReadonlyArray<"sign" | "verify">): Promise<CryptoKeyPair>;
168
+ generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKeyPair>;
169
+ generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
170
+ generateKey(algorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKeyPair | CryptoKey>;
171
+ /**
172
+ * The **`importKey()`** method of the SubtleCrypto interface imports a key: that is, it takes as input a key in an external, portable format and gives you a CryptoKey object that you can use in the Web Crypto API.
173
+ *
174
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey)
175
+ */
176
+ importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
177
+ importKey(format: Exclude<KeyFormat, "jwk">, keyData: BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;
178
+ /**
179
+ * The **`unwrapKey()`** method of the SubtleCrypto interface 'unwraps' a key.
180
+ *
181
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey)
182
+ */
183
+ unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable<KeyUsage>): Promise<CryptoKey>;
184
+ }
185
+
186
+ interface URLSearchParamsIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
187
+ [Symbol.iterator](): URLSearchParamsIterator<T>;
188
+ }
189
+
190
+ interface URLSearchParams {
191
+ [Symbol.iterator](): URLSearchParamsIterator<[string, string]>;
192
+ /** Returns an array of key, value pairs for every entry in the search params. */
193
+ entries(): URLSearchParamsIterator<[string, string]>;
194
+ /** Returns a list of keys in the search params. */
195
+ keys(): URLSearchParamsIterator<string>;
196
+ /** Returns a list of values in the search params. */
197
+ values(): URLSearchParamsIterator<string>;
198
+ }
199
+
200
+ interface WEBGL_draw_buffers {
201
+ /**
202
+ * The **`WEBGL_draw_buffers.drawBuffersWEBGL()`** method is part of the WebGL API and allows you to define the draw buffers to which all fragment colors are written.
203
+ *
204
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_draw_buffers/drawBuffersWEBGL)
205
+ */
206
+ drawBuffersWEBGL(buffers: Iterable<GLenum>): void;
207
+ }
208
+
209
+ interface WEBGL_multi_draw {
210
+ /**
211
+ * The **`WEBGL_multi_draw.multiDrawArraysInstancedWEBGL()`** method of the WebGL API renders multiple primitives from array data.
212
+ *
213
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysInstancedWEBGL)
214
+ */
215
+ multiDrawArraysInstancedWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;
216
+ /**
217
+ * The **`WEBGL_multi_draw.multiDrawArraysWEBGL()`** method of the WebGL API renders multiple primitives from array data.
218
+ *
219
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawArraysWEBGL)
220
+ */
221
+ multiDrawArraysWEBGL(mode: GLenum, firstsList: Int32Array<ArrayBufferLike> | Iterable<GLint>, firstsOffset: number, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, drawcount: GLsizei): void;
222
+ /**
223
+ * The **`WEBGL_multi_draw.multiDrawElementsInstancedWEBGL()`** method of the WebGL API renders multiple primitives from array data.
224
+ *
225
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsInstancedWEBGL)
226
+ */
227
+ multiDrawElementsInstancedWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, instanceCountsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, instanceCountsOffset: number, drawcount: GLsizei): void;
228
+ /**
229
+ * The **`WEBGL_multi_draw.multiDrawElementsWEBGL()`** method of the WebGL API renders multiple primitives from array data.
230
+ *
231
+ * [MDN Reference](https://developer.mozilla.org/docs/Web/API/WEBGL_multi_draw/multiDrawElementsWEBGL)
232
+ */
233
+ multiDrawElementsWEBGL(mode: GLenum, countsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, countsOffset: number, type: GLenum, offsetsList: Int32Array<ArrayBufferLike> | Iterable<GLsizei>, offsetsOffset: number, drawcount: GLsizei): void;
234
+ }
235
+
236
+ interface WebGL2RenderingContextBase {
237
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */
238
+ clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLfloat>, srcOffset?: number): void;
239
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */
240
+ clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLint>, srcOffset?: number): void;
241
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clearBuffer) */
242
+ clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Iterable<GLuint>, srcOffset?: number): void;
243
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/drawBuffers) */
244
+ drawBuffers(buffers: Iterable<GLenum>): void;
245
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getActiveUniforms) */
246
+ getActiveUniforms(program: WebGLProgram, uniformIndices: Iterable<GLuint>, pname: GLenum): any;
247
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/getUniformIndices) */
248
+ getUniformIndices(program: WebGLProgram, uniformNames: Iterable<string>): GLuint[] | null;
249
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateFramebuffer) */
250
+ invalidateFramebuffer(target: GLenum, attachments: Iterable<GLenum>): void;
251
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/invalidateSubFramebuffer) */
252
+ invalidateSubFramebuffer(target: GLenum, attachments: Iterable<GLenum>, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
253
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/transformFeedbackVaryings) */
254
+ transformFeedbackVaryings(program: WebGLProgram, varyings: Iterable<string>, bufferMode: GLenum): void;
255
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */
256
+ uniform1uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;
257
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */
258
+ uniform2uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;
259
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */
260
+ uniform3uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;
261
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniform) */
262
+ uniform4uiv(location: WebGLUniformLocation | null, data: Iterable<GLuint>, srcOffset?: number, srcLength?: GLuint): void;
263
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
264
+ uniformMatrix2x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
265
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
266
+ uniformMatrix2x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
267
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
268
+ uniformMatrix3x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
269
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
270
+ uniformMatrix3x4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
271
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
272
+ uniformMatrix4x2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
273
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
274
+ uniformMatrix4x3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
275
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */
276
+ vertexAttribI4iv(index: GLuint, values: Iterable<GLint>): void;
277
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/vertexAttribI) */
278
+ vertexAttribI4uiv(index: GLuint, values: Iterable<GLuint>): void;
279
+ }
280
+
281
+ interface WebGL2RenderingContextOverloads {
282
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
283
+ uniform1fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
284
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
285
+ uniform1iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;
286
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
287
+ uniform2fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
288
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
289
+ uniform2iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;
290
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
291
+ uniform3fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
292
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
293
+ uniform3iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;
294
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
295
+ uniform4fv(location: WebGLUniformLocation | null, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
296
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
297
+ uniform4iv(location: WebGLUniformLocation | null, data: Iterable<GLint>, srcOffset?: number, srcLength?: GLuint): void;
298
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/uniformMatrix) */
299
+ uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
300
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */
301
+ uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
302
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */
303
+ uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, data: Iterable<GLfloat>, srcOffset?: number, srcLength?: GLuint): void;
304
+ }
305
+
306
+ interface WebGLRenderingContextBase {
307
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */
308
+ vertexAttrib1fv(index: GLuint, values: Iterable<GLfloat>): void;
309
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */
310
+ vertexAttrib2fv(index: GLuint, values: Iterable<GLfloat>): void;
311
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */
312
+ vertexAttrib3fv(index: GLuint, values: Iterable<GLfloat>): void;
313
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/vertexAttrib) */
314
+ vertexAttrib4fv(index: GLuint, values: Iterable<GLfloat>): void;
315
+ }
316
+
317
+ interface WebGLRenderingContextOverloads {
318
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
319
+ uniform1fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;
320
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
321
+ uniform1iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;
322
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
323
+ uniform2fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;
324
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
325
+ uniform2iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;
326
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
327
+ uniform3fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;
328
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
329
+ uniform3iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;
330
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
331
+ uniform4fv(location: WebGLUniformLocation | null, v: Iterable<GLfloat>): void;
332
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniform) */
333
+ uniform4iv(location: WebGLUniformLocation | null, v: Iterable<GLint>): void;
334
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */
335
+ uniformMatrix2fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
336
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */
337
+ uniformMatrix3fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
338
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/uniformMatrix) */
339
+ uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Iterable<GLfloat>): void;
340
+ }
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@groma/scanner-vue",
3
+ "version": "0.1.0",
4
+ "description": "Complementary Vue framework evidence; a dependency declaration does not verify runtime use.",
5
+ "private": false,
6
+ "type": "module",
7
+ "license": "MIT",
8
+ "groma": {
9
+ "scanner": {
10
+ "id": "vue",
11
+ "entry": "./dist/index.js",
12
+ "discovery": {
13
+ "technologies": [
14
+ "vue"
15
+ ],
16
+ "rules": [
17
+ {
18
+ "type": "dependency",
19
+ "files": [
20
+ "**/package.json"
21
+ ],
22
+ "technology": "vue",
23
+ "kind": "framework",
24
+ "package": "vue"
25
+ }
26
+ ],
27
+ "compatibility": {
28
+ "groma": "^0.3.0",
29
+ "technologyVersions": {
30
+ "vue": "3.5.18 || 3.5.42"
31
+ }
32
+ }
33
+ }
34
+ }
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/MrLesk/Groma.md.git"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ }
43
+ }
@@ -0,0 +1,5 @@
1
+ declare global {
2
+ var __VLS_PROPS_FALLBACK: Record<string, unknown>;
3
+ }
4
+
5
+ export {};
@@ -0,0 +1,140 @@
1
+ declare global {
2
+ const __VLS_directiveBindingRestFields: { instance: null; oldValue: null; modifiers: any; dir: any };
3
+
4
+ type __VLS_Elements = __VLS_SpreadMerge<SVGElementTagNameMap, HTMLElementTagNameMap>;
5
+ type __VLS_IsAny<T> = 0 extends 1 & T ? true : false;
6
+ type __VLS_PickNotAny<A, B> = __VLS_IsAny<A> extends true ? B : A;
7
+ type __VLS_SpreadMerge<A, B> = Omit<A, keyof B> & B;
8
+ type __VLS_WithComponent<
9
+ N0 extends string,
10
+ LocalComponents,
11
+ GlobalComponents,
12
+ Self,
13
+ N1 extends string,
14
+ N2 extends string = N1,
15
+ N3 extends string = N1,
16
+ > = N1 extends keyof LocalComponents ? { [K in N0]: LocalComponents[N1] }
17
+ : N2 extends keyof LocalComponents ? { [K in N0]: LocalComponents[N2] }
18
+ : N3 extends keyof LocalComponents ? { [K in N0]: LocalComponents[N3] }
19
+ : Self extends object ? { [K in N0]: Self }
20
+ : N1 extends keyof GlobalComponents ? { [K in N0]: GlobalComponents[N1] }
21
+ : N2 extends keyof GlobalComponents ? { [K in N0]: GlobalComponents[N2] }
22
+ : N3 extends keyof GlobalComponents ? { [K in N0]: GlobalComponents[N3] }
23
+ : {};
24
+ type __VLS_ExtractComponentContext<T, K> = __VLS_PickNotAny<
25
+ '__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: infer Ctx } ? NonNullable<Ctx> : never : any,
26
+ T extends (props: any, ctx: infer Ctx) => any ? Ctx : any
27
+ >;
28
+ type __VLS_ExtractComponentProps<T, K> = '__ctx' extends keyof __VLS_PickNotAny<K, {}>
29
+ ? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never
30
+ : T extends (props: infer P, ...args: any) => any ? P
31
+ : {};
32
+ type __VLS_FunctionalComponent<T, P = {}> = (
33
+ props: (T extends { $props: infer Props } ? Props : {}) & P,
34
+ ctx?: any,
35
+ ) => {
36
+ __ctx?: {
37
+ attrs?: any;
38
+ slots?: T extends { $slots: infer Slots } ? Slots : Record<string, any>;
39
+ emit?: T extends { $emit: infer Emit } ? Emit : {};
40
+ props?: typeof props;
41
+ expose?: (exposed: T) => void;
42
+ };
43
+ };
44
+ type __VLS_IsFunction<T, K> = K extends keyof T ? unknown extends T[K] ? false
45
+ : true
46
+ : false;
47
+ type __VLS_ResolveEvent<
48
+ Props,
49
+ Emits,
50
+ onEvent extends keyof Props,
51
+ Event extends keyof Emits,
52
+ CamelizedEvent extends keyof Emits,
53
+ > = __VLS_IsFunction<Props, onEvent> extends true ? Props
54
+ : __VLS_IsFunction<Emits, Event> extends true ? { [K in onEvent]?: Emits[Event] }
55
+ : __VLS_IsFunction<Emits, CamelizedEvent> extends true ? { [K in onEvent]?: Emits[CamelizedEvent] }
56
+ : Props;
57
+ // fix https://github.com/vuejs/language-tools/issues/926
58
+ type __VLS_UnionToIntersection<U> = (U extends unknown ? (arg: U) => unknown : never) extends
59
+ ((arg: infer P) => unknown) ? P : never;
60
+ type __VLS_OverloadUnionInner<T, U = unknown> = U & T extends (...args: infer A) => infer R ? U extends T ? never
61
+ : __VLS_OverloadUnionInner<T, Pick<T, keyof T> & U & ((...args: A) => R)> | ((...args: A) => R)
62
+ : never;
63
+ type __VLS_OverloadUnion<T> = Exclude<
64
+ __VLS_OverloadUnionInner<(() => never) & T>,
65
+ T extends () => never ? never : () => never
66
+ >;
67
+ type __VLS_ConstructorOverloads<T> = __VLS_OverloadUnion<T> extends infer F
68
+ ? F extends (event: infer E, ...args: infer A) => any ? { [K in E & string]: (...args: A) => void }
69
+ : never
70
+ : never;
71
+ type __VLS_NormalizeEmits<T> = __VLS_PrettifyGlobal<
72
+ __VLS_UnionToIntersection<
73
+ & __VLS_ConstructorOverloads<T>
74
+ & {
75
+ [K in keyof T]: T[K] extends any[] ? { (...args: T[K]): void } : never;
76
+ }
77
+ >
78
+ >;
79
+ type __VLS_EmitsToProps<T> = __VLS_PrettifyGlobal<
80
+ {
81
+ [K in string & keyof T as `on${Capitalize<K>}`]?: (
82
+ ...args: T[K] extends (...args: infer P) => any ? P : T[K] extends null ? any[] : never
83
+ ) => any;
84
+ }
85
+ >;
86
+ type __VLS_ShortEmits<E extends Record<string, any[]>> = __VLS_UnionToIntersection<
87
+ { [K in keyof E]: (event: K, ...args: E[K]) => void }[keyof E]
88
+ >;
89
+ type __VLS_ShortEmitsToObject<E> = E extends Record<string, any[]> ? { [K in keyof E]: (...args: E[K]) => any }
90
+ : E;
91
+ type __VLS_ResolveEmits<
92
+ Comp,
93
+ Emits,
94
+ TypeEmits = Comp extends { __typeEmits?: infer T } ? unknown extends T ? {} : __VLS_ShortEmitsToObject<T> : {},
95
+ NormalizedEmits = __VLS_NormalizeEmits<Emits> extends infer E ? string extends keyof E ? {} : E : never,
96
+ > = __VLS_SpreadMerge<NormalizedEmits, TypeEmits>;
97
+ type __VLS_ResolveDirectives<T> = {
98
+ [K in keyof T & string as `v${Capitalize<K>}`]: T[K];
99
+ };
100
+ type __VLS_PrettifyGlobal<T> = (T extends any ? { [K in keyof T]: T[K] } : { [K in keyof T as K]: T[K] }) & {};
101
+
102
+ function __VLS_vFor<const T>(source: T): T extends number ? [number, number][]
103
+ : T extends string ? [string, number][]
104
+ : T extends readonly any[] ? (T extends readonly (infer U)[] ? [U, number] : never)[]
105
+ : T extends Iterable<any> ? (T extends Iterable<infer V> ? [V, number] : never)[]
106
+ : [T[keyof T], keyof T extends string ? keyof T : `${keyof T & (string | number)}`, number][];
107
+ function __VLS_vSlot<S, D extends S>(slot: S, decl?: D): D extends (...args: infer P) => any ? P : any[];
108
+ function __VLS_asFunctionalDirective<T, ObjectDirective>(
109
+ dir: T,
110
+ od: ObjectDirective,
111
+ ): T extends ObjectDirective ? NonNullable<
112
+ T[keyof T & ('created' | 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeUnmount' | 'unmounted')]
113
+ >
114
+ : T extends (...args: any) => any ? T
115
+ : (arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown) => void;
116
+ function __VLS_asFunctionalComponent0<T, K>(
117
+ t: T,
118
+ instance: K,
119
+ ): T extends new(...args: any) => any ? __VLS_FunctionalComponent<K>
120
+ : T extends () => any ? (props: {}, ctx?: any) => ReturnType<T>
121
+ : T extends (...args: any) => any ? T
122
+ : __VLS_FunctionalComponent<{}>;
123
+ function __VLS_asFunctionalComponent1<T, K>(
124
+ t: T,
125
+ instance: K,
126
+ ): T extends new(...args: any) => any ? __VLS_FunctionalComponent<K, Record<string, unknown>>
127
+ : T extends () => any ? (props: {}, ctx?: any) => ReturnType<T>
128
+ : T extends (...args: any) => any ? T
129
+ : __VLS_FunctionalComponent<{}, Record<string, unknown>>;
130
+ function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(
131
+ t: T,
132
+ ): 2 extends Parameters<T>['length'] ? [any] : [];
133
+ function __VLS_asFunctionalElement0<T>(tag: T, endTag?: T): (attrs: T) => void;
134
+ function __VLS_asFunctionalElement1<T>(tag: T, endTag?: T): (attrs: T & Record<string, unknown>) => void;
135
+ function __VLS_asFunctionalSlot<S>(slot: S): S extends () => infer R ? (props: {}) => R : NonNullable<S>;
136
+ function __VLS_omit<T, K>(target: T, props: K): Omit<T, keyof K>;
137
+ function __VLS_tryAsConstant<const T>(t: T): T;
138
+ }
139
+
140
+ export {};
@@ -0,0 +1,6 @@
1
+ declare module 'vue' {
2
+ export interface GlobalComponents {}
3
+ export interface GlobalDirectives {}
4
+ }
5
+
6
+ export {};
package/validation.md ADDED
@@ -0,0 +1,78 @@
1
+ # Vue scanner validation
2
+
3
+ ## Qualified example
4
+
5
+ The approved witness is [vuejs/repl](https://github.com/vuejs/repl/tree/9b5bc873415bbc6fcba6080b9402d140175d5b03)
6
+ commit `9b5bc873415bbc6fcba6080b9402d140175d5b03`, package version 4.7.2.
7
+ Its unchanged pnpm lock installs Vue 3.5.18 and TypeScript 5.9.2. Scanner
8
+ analysis uses private TypeScript 5.9.3, Vue language-core 3.3.11, Volar
9
+ TypeScript 2.4.28 and compiler-dom 3.5.42. Compiler-sfc 3.5.42 is a
10
+ build-time declaration dependency.
11
+
12
+ | Evidence | Original source | UTF-16 offset |
13
+ | --- | --- | --- |
14
+ | Emitting function | `src/codemirror/CodeMirror.vue`, `emitChangeEvent`, line 42 | 918 |
15
+ | Emit call | Same file, `emit('change', editor.getValue())`, line 43 | 928 |
16
+ | Binding | `src/editor/CodeMirrorEditor.vue`, `@change="onChange"`, line 54 | 1178 |
17
+ | Handler function | Same parent file, `onChange`, line 15 | 414 |
18
+
19
+ The source observation contains 37 files and two concrete event bindings.
20
+ The qualified interaction runs from the CodeMirror source to its parent editor
21
+ adapter. These counts describe this snapshot, not coverage requirements.
22
+
23
+ ## Executed checks
24
+
25
+ Both the independent fixture and the real project completed the normal
26
+ compiled-Groma discovery, init, exact-package install, readiness, scan and
27
+ export journey. The local registry served an actual `npm pack` artifact;
28
+ its download was observed. The package ran alongside the TypeScript scanner 7.1.
29
+ The real project was an isolated clone; the modified source and template were
30
+ restored byte for byte after validation.
31
+
32
+ The real project's 43 architecture documents and the fixture's eight documents
33
+ remained byte-identical across repeated scans after curation. Source emission
34
+ removal and template binding removal independently removed the selected
35
+ callback while preserving ownership. A malformed SFC failed the enabled scan
36
+ and left every previous architecture document unchanged. Restoring the original
37
+ files restored the derived callback.
38
+
39
+ The real project's `src/utils.ts` and the fixture's `receiver.ts` each retained
40
+ one physical owner with both `typescript` and `vue` Code provenance. The four
41
+ concurrent fixture tests passed with 27 assertions. They cover original UTF-16
42
+ positions, imported handler identity shared with TypeScript, explicit unsupported
43
+ handler expressions, authored relationship preservation, observer-order
44
+ independence, actual SFC watch dispatch, source edits and failed-scan preservation.
45
+ Scanner source/build/smoke lint and repository type checking passed.
46
+
47
+ ## Reproduce
48
+
49
+ ```sh
50
+ bun install --frozen-lockfile --ignore-scripts
51
+ bun plugins/scanners/vue/build.ts
52
+ bun test --timeout 20000 test-bun/vue-scanner.test.ts
53
+ bunx biome lint plugins/scanners/vue/src plugins/scanners/vue/build.ts test-bun/vue-scanner.test.ts
54
+ bun run typecheck
55
+ ```
56
+
57
+ The results below record the historical qualification run. Automated tests
58
+ cover source evidence and ownership; package consumer checks are outside
59
+ the test suite.
60
+
61
+ ## Release limits
62
+
63
+ Execution used macOS arm64, Bun 1.4.1 and compiled Groma. Public publication,
64
+ public package naming, and Windows/Linux execution remain separate release
65
+ gates. No additional-platform or public-availability claim is made.
66
+ The coordinator approved the real map, including the curated CodeMirror
67
+ responsibility and the direction and Vue provenance of its callback. Cold
68
+ simplicity, implementer specification/quality and final full-context reviews
69
+ passed without required changes. The shared `bun run check` passed: 110 Node
70
+ tests and 398 Bun tests passed, seven existing tooling-dependent tests were
71
+ skipped, and no tests failed. The Vue watcher test passed in that shared suite.
72
+ Six pre-existing complexity warnings remain.
73
+
74
+ One earlier focused watcher run timed out after 20 seconds. Two traced runs
75
+ showed normal event dispatch, and the restored test then passed both focused
76
+ and shared checks. No assertions or timeouts were changed, and no retries
77
+ were added. The isolated timeout has no established root cause; the
78
+ investigation remains recorded in TASK-326.10.