shaderkit 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs ADDED
@@ -0,0 +1,523 @@
1
+ const GLSL_KEYWORDS = [
2
+ // 3.8 Keywords
3
+ "const",
4
+ "uniform",
5
+ "layout",
6
+ "centroid",
7
+ "flat",
8
+ "smooth",
9
+ "break",
10
+ "continue",
11
+ "do",
12
+ "for",
13
+ "while",
14
+ "switch",
15
+ "case",
16
+ "default",
17
+ "if",
18
+ "else",
19
+ "in",
20
+ "out",
21
+ "inout",
22
+ "float",
23
+ "int",
24
+ "void",
25
+ "bool",
26
+ "true",
27
+ "false",
28
+ "invariant",
29
+ "discard",
30
+ "return",
31
+ "mat2",
32
+ "mat3",
33
+ "mat4",
34
+ "mat2x2",
35
+ "mat2x3",
36
+ "mat2x4",
37
+ "mat3x2",
38
+ "mat3x3",
39
+ "mat3x4",
40
+ "mat4x2",
41
+ "mat4x3",
42
+ "mat4x4",
43
+ "vec2",
44
+ "vec3",
45
+ "vec4",
46
+ "ivec2",
47
+ "ivec3",
48
+ "ivec4",
49
+ "bvec2",
50
+ "bvec3",
51
+ "bvec4",
52
+ "uint",
53
+ "uvec2",
54
+ "uvec3",
55
+ "uvec4",
56
+ "lowp",
57
+ "mediump",
58
+ "highp",
59
+ "precision",
60
+ "sampler2D",
61
+ "sampler3D",
62
+ "samplerCube",
63
+ "sampler2DShadow",
64
+ "samplerCubeShadow",
65
+ "sampler2DArray",
66
+ "sampler2DArrayShadow",
67
+ "isampler2D",
68
+ "isampler3D",
69
+ "isamplerCube",
70
+ "isampler2DArray",
71
+ "usampler2D",
72
+ "usampler3D",
73
+ "usamplerCube",
74
+ "usampler2DArray",
75
+ "struct",
76
+ // 3.8 Keywords - Reserved for future use
77
+ "attribute",
78
+ "varying",
79
+ "coherent",
80
+ "volatile",
81
+ "restrict",
82
+ "readonly",
83
+ "writeonly",
84
+ "resource",
85
+ "atomic_uint",
86
+ "noperspective",
87
+ "patch",
88
+ "sample",
89
+ "subroutine",
90
+ "common",
91
+ "partition",
92
+ "active",
93
+ "asm",
94
+ "class",
95
+ "union",
96
+ "enum",
97
+ "typedef",
98
+ "template",
99
+ "this",
100
+ "goto",
101
+ "inline",
102
+ "noinline",
103
+ "volatile",
104
+ "public",
105
+ "static",
106
+ "extern",
107
+ "external",
108
+ "interface",
109
+ "long",
110
+ "short",
111
+ "double",
112
+ "half",
113
+ "fixed",
114
+ "unsigned",
115
+ "superp",
116
+ "input",
117
+ "output",
118
+ "hvec2",
119
+ "hvec3",
120
+ "hvec4",
121
+ "dvec2",
122
+ "dvec3",
123
+ "dvec4",
124
+ "fvec2",
125
+ "fvec3",
126
+ "fvec4",
127
+ "sampler3DRect",
128
+ "filter",
129
+ "image1D",
130
+ "image2D",
131
+ "image3D",
132
+ "imageCube",
133
+ "iimage1D",
134
+ "iimage2D",
135
+ "iimage3D",
136
+ "iimageCube",
137
+ "uimage1D",
138
+ "uimage2D",
139
+ "uimage3D",
140
+ "uimageCube",
141
+ "image1DArray",
142
+ "image2DArray",
143
+ "iimage1DArray",
144
+ "iimage2DArray",
145
+ "uimage1DArray",
146
+ "uimage2DArray",
147
+ "imageBuffer",
148
+ "iimageBuffer",
149
+ "uimageBuffer",
150
+ "sampler1D",
151
+ "sampler1DShadow",
152
+ "sampler1DArray",
153
+ "sampler1DArrayShadow",
154
+ "isampler1D",
155
+ "isampler1DArray",
156
+ "usampler1D",
157
+ "usampler1DArray",
158
+ "sampler2DRect",
159
+ "sampler2DRectShadow",
160
+ "isampler2DRect",
161
+ "usampler2DRect",
162
+ "samplerBuffer",
163
+ "isamplerBuffer",
164
+ "usamplerBuffer",
165
+ "sampler2DMS",
166
+ "isampler2DMS",
167
+ "usampler2DMS",
168
+ "sampler2DMSArray",
169
+ "isampler2DMSArray",
170
+ "usampler2DMSArray",
171
+ "sizeof",
172
+ "cast",
173
+ "namespace",
174
+ "using",
175
+ // 3.5 Preprocessor
176
+ "#define",
177
+ "#undef",
178
+ "#if",
179
+ "#ifdef",
180
+ "#ifndef",
181
+ "#else",
182
+ "#elif",
183
+ "#endif",
184
+ "#error",
185
+ "#pragma",
186
+ "#extension",
187
+ "#version",
188
+ "#line",
189
+ // 3.5 Preprocessor - Operators
190
+ "defined",
191
+ // 3.5 Preprocessor - Macros
192
+ "__LINE__",
193
+ "__FILE__",
194
+ "__VERSION__",
195
+ "GL_ES",
196
+ // 7.1 Vertex Shader Special Variables
197
+ "gl_VertexID",
198
+ "gl_InstanceID",
199
+ "gl_Position",
200
+ "gl_PointSize",
201
+ // 7.2 Fragment Shader Special Variables
202
+ "gl_FragCoord",
203
+ "gl_FrontFacing",
204
+ "gl_FragDepth",
205
+ "gl_PointCoord",
206
+ // 7.3 Built-in Constants
207
+ "gl_MaxVertexAttribs",
208
+ "gl_MaxVertexUniformVectors",
209
+ "gl_MaxVertexOutputVectors",
210
+ "gl_MaxFragmentInputVectors",
211
+ "gl_MaxVertexTextureImageUnits",
212
+ "gl_MaxCombinedTextureImageUnits",
213
+ "gl_MaxTextureImageUnits",
214
+ "gl_MaxFragmentUniformVectors",
215
+ "gl_MaxDrawBuffers",
216
+ "gl_MinProgramTexelOffset",
217
+ "gl_MaxProgramTexelOffset",
218
+ // 7.4 Built-in Uniform State
219
+ "gl_DepthRangeParameters",
220
+ "gl_DepthRange",
221
+ // 8.1 Angle and Trigonometry Functions
222
+ "radians",
223
+ "degrees",
224
+ "sin",
225
+ "cos",
226
+ "tan",
227
+ "asin",
228
+ "acos",
229
+ "atan",
230
+ "sinh",
231
+ "cosh",
232
+ "tanh",
233
+ "asinh",
234
+ "acosh",
235
+ "atanh",
236
+ // 8.2 Exponential Functions
237
+ "pow",
238
+ "exp",
239
+ "log",
240
+ "exp2",
241
+ "log2",
242
+ "sqrt",
243
+ "inversesqrt",
244
+ // 8.3 Common Functions
245
+ "abs",
246
+ "sign",
247
+ "floor",
248
+ "trunc",
249
+ "round",
250
+ "roundEven",
251
+ "ceil",
252
+ "fract",
253
+ "mod",
254
+ "modf",
255
+ "min",
256
+ "max",
257
+ "clamp",
258
+ "mix",
259
+ "step",
260
+ "smoothstep",
261
+ "isnan",
262
+ "isinf",
263
+ "floatBitsToInt",
264
+ "floatBitsToUint",
265
+ "intBitsToFloat",
266
+ "uintBitsToFloat",
267
+ // 8.4 Floating-Point Pack and Unpack Functions
268
+ "packSnorm2x16",
269
+ "unpackSnorm2x16",
270
+ "packUnorm2x16",
271
+ "unpackUnorm2x16",
272
+ "packHalf2x16",
273
+ "unpackHalf2x16",
274
+ // 8.5 Geometric Functions
275
+ "length",
276
+ "distance",
277
+ "dot",
278
+ "cross",
279
+ "normalize",
280
+ "faceforward",
281
+ "reflect",
282
+ "refract",
283
+ "matrixCompMult",
284
+ "outerProduct",
285
+ "transpose",
286
+ "determinant",
287
+ "inverse",
288
+ // 8.7 Vector Relational Functions
289
+ "lessThan",
290
+ "lessThanEqual",
291
+ "greaterThan",
292
+ "greaterThanEqual",
293
+ "equal",
294
+ "notEqual",
295
+ "any",
296
+ "all",
297
+ "not",
298
+ // 8.8 Texture Lookup Functions
299
+ "textureSize",
300
+ "texture",
301
+ "textureProj",
302
+ "textureLod",
303
+ "textureOffset",
304
+ "texelFetch",
305
+ "texelFetchOffset",
306
+ "textureProjOffset",
307
+ "textureLodOffset",
308
+ "textureProjLod",
309
+ "textureProjLodOffset",
310
+ "textureGrad",
311
+ "textureGradOffset",
312
+ "textureProjGrad",
313
+ "textureProjGradOffset",
314
+ // 8.9 Fragment Processing Functions
315
+ "dFdx",
316
+ "dFdy",
317
+ "fwidth",
318
+ // Additional directives
319
+ "#include",
320
+ // WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
321
+ "gl_DrawID",
322
+ // vertex only
323
+ // OVR_multiview2 https://registry.khronos.org/webgl/extensions/OVR_multiview2
324
+ // OCULUS_multiview https://github.com/KhronosGroup/WebGL/issues/2912
325
+ "gl_ViewID_OVR",
326
+ "GL_OVR_multiview2"
327
+ ];
328
+ const GLSL_SYMBOLS = [
329
+ // Preprocessor
330
+ "#",
331
+ // Line continuation
332
+ "\\",
333
+ // Comments
334
+ "//",
335
+ "/*",
336
+ "*/",
337
+ // Punctuation
338
+ ".",
339
+ ",",
340
+ ";",
341
+ "{",
342
+ "}",
343
+ "(",
344
+ ")",
345
+ "[",
346
+ "]",
347
+ // Comparison
348
+ "?",
349
+ ":",
350
+ "<",
351
+ ">",
352
+ "<=",
353
+ ">=",
354
+ "&&",
355
+ "||",
356
+ // Modifier
357
+ "~",
358
+ "=",
359
+ "!",
360
+ "+",
361
+ "-",
362
+ "/",
363
+ "&",
364
+ "|",
365
+ "^",
366
+ "%",
367
+ "<<",
368
+ ">>",
369
+ // Operators
370
+ "++",
371
+ "--",
372
+ "==",
373
+ "!=",
374
+ "+=",
375
+ "-=",
376
+ "/=",
377
+ "&=",
378
+ "|=",
379
+ "^=",
380
+ "%=",
381
+ "<<=",
382
+ ">>="
383
+ ];
384
+ function tokenize(code, index = 0) {
385
+ var _a;
386
+ const tokens = [];
387
+ while (index < code.length) {
388
+ let char = code[index];
389
+ let value = "";
390
+ if (/\s/.test(char)) {
391
+ index++;
392
+ continue;
393
+ }
394
+ if (char === "#") {
395
+ let j = index;
396
+ while (code[j] !== "\n" && !/\/[\/\*]/.test(code[j] + code[j + 1]))
397
+ j++;
398
+ code = code.substring(0, j) + "\\" + code.substring(j);
399
+ }
400
+ while ((/\d/.test(char) ? /[\d\.\-\w]/ : /\w/).test(code[index]))
401
+ value += code[index++];
402
+ if (!value) {
403
+ value = char;
404
+ for (const symbol of GLSL_SYMBOLS) {
405
+ if (symbol.length > value.length && code.startsWith(symbol, index))
406
+ value = symbol;
407
+ }
408
+ index += value.length;
409
+ }
410
+ if (/\/[\/\*]/.test(value)) {
411
+ const isMultiline = value === "/*";
412
+ while (!value.endsWith(isMultiline ? "*/" : "\n"))
413
+ value += code[index++];
414
+ tokens.push({ type: "comment", value });
415
+ } else if (!/\w/.test(char)) {
416
+ tokens.push({ type: "symbol", value });
417
+ } else if (/\d/.test(char)) {
418
+ if (/[uU]/.test(value))
419
+ tokens.push({ type: "uint", value });
420
+ else if (/\.|[eE]-?\d/.test(value))
421
+ tokens.push({ type: "float", value });
422
+ else
423
+ tokens.push({ type: "int", value });
424
+ } else if (/^(true|false)$/.test(value)) {
425
+ tokens.push({ type: "bool", value });
426
+ } else if (GLSL_KEYWORDS.includes(((_a = tokens[tokens.length - 1]) == null ? void 0 : _a.value) === "#" ? `#${value}` : value)) {
427
+ tokens.push({ type: "keyword", value });
428
+ } else {
429
+ tokens.push({ type: "identifier", value });
430
+ }
431
+ }
432
+ return tokens;
433
+ }
434
+ function minify(code, {
435
+ mangle = false,
436
+ mangleMap = /* @__PURE__ */ new Map(),
437
+ mangleExternals = false,
438
+ mangleProperties = false
439
+ } = {}) {
440
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
441
+ const exclude = new Set(mangleMap.values());
442
+ const tokens = tokenize(code).filter((token) => token.type !== "comment");
443
+ let mangleIndex = 0;
444
+ let blockIndex = null;
445
+ let prefix = null;
446
+ let minified = "";
447
+ for (let i = 0; i < tokens.length; i++) {
448
+ const token = tokens[i];
449
+ if (/keyword|identifier/.test(token.type)) {
450
+ if (/keyword|identifier/.test((_a = tokens[i - 1]) == null ? void 0 : _a.type))
451
+ minified += " ";
452
+ let key = token.value;
453
+ if (prefix) {
454
+ key = `${prefix}.${token.value}`;
455
+ } else if (((_b = tokens[i - 1]) == null ? void 0 : _b.value) === "." && ((_c = tokens[i - 2]) == null ? void 0 : _c.type) !== "symbol") {
456
+ key = `${(_d = tokens[i - 2]) == null ? void 0 : _d.value}.${token.value}`;
457
+ }
458
+ let renamed = mangleMap.get(key);
459
+ if (
460
+ // no-op
461
+ !renamed && // Filter variable names
462
+ key !== "main" && (typeof mangle === "boolean" ? mangle : mangle(token, i, tokens)) && // Is declaration, reference, namespace, or comma-separated list
463
+ token.type === "identifier" && (/keyword|identifier/.test((_e = tokens[i - 1]) == null ? void 0 : _e.type) || /}|,/.test((_f = tokens[i - 1]) == null ? void 0 : _f.value))
464
+ ) {
465
+ if (
466
+ // Skip struct properties when specified
467
+ (!prefix || mangleProperties) && // Skip shader externals when disabled
468
+ (blockIndex != null ? (
469
+ // Struct member
470
+ mangleExternals && mangleProperties || !/(struct|uniform|in|out|attribute|varying)/.test((_g = tokens[blockIndex - 1]) == null ? void 0 : _g.value)
471
+ ) : (
472
+ // Struct header, fully specified uniform, or comma-separated list
473
+ mangleExternals || !/(uniform|in|out|attribute|varying|,)/.test((_h = tokens[i - 1]) == null ? void 0 : _h.value) && !/(uniform|in|out|attribute|varying)/.test((_i = tokens[i - 2]) == null ? void 0 : _i.value)
474
+ ))
475
+ ) {
476
+ while (!renamed || exclude.has(renamed)) {
477
+ renamed = "";
478
+ mangleIndex++;
479
+ let j = mangleIndex;
480
+ while (j > 0) {
481
+ renamed = String.fromCharCode(97 + (j % 26 - 1)) + renamed;
482
+ j = Math.floor(j / 26);
483
+ }
484
+ }
485
+ mangleMap.set(key, renamed);
486
+ }
487
+ if (((_j = tokens[i + 1]) == null ? void 0 : _j.value) === "{") {
488
+ let j = i;
489
+ while (tokens[j].value !== "}")
490
+ j++;
491
+ const suffix = tokens[j + 1].value;
492
+ if (suffix !== ";")
493
+ prefix = suffix;
494
+ blockIndex = i;
495
+ } else if (((_k = tokens[i + 2]) == null ? void 0 : _k.value) === "}") {
496
+ prefix = null;
497
+ blockIndex = null;
498
+ }
499
+ }
500
+ minified += renamed != null ? renamed : token.value;
501
+ } else if (token.value === "#") {
502
+ if (((_l = tokens[i - 1]) == null ? void 0 : _l.value) !== "\\")
503
+ minified += "\n";
504
+ while (tokens[i].value !== "\\") {
505
+ if ((tokens[i].type !== "symbol" || ((_m = tokens[i - 2]) == null ? void 0 : _m.value) === "#") && ((_n = tokens[i - 1]) == null ? void 0 : _n.type) !== "symbol")
506
+ minified += " ";
507
+ minified += tokens[i].value;
508
+ i++;
509
+ }
510
+ minified += "\n";
511
+ } else {
512
+ minified += token.value;
513
+ }
514
+ }
515
+ return minified.trim();
516
+ }
517
+ export {
518
+ GLSL_KEYWORDS,
519
+ GLSL_SYMBOLS,
520
+ minify,
521
+ tokenize
522
+ };
523
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":"AAEO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AACF;AAGO,MAAM,eAAe;AAAA;AAAA,EAE1B;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,E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"}
package/package.json CHANGED
@@ -1,10 +1,43 @@
1
1
  {
2
2
  "name": "shaderkit",
3
- "version": "0.0.0",
4
- "description": "",
5
- "keywords": [],
3
+ "version": "0.0.2",
4
+ "description": "Lightweight compiler for GLSL and WGSL.",
5
+ "keywords": [
6
+ "shaders",
7
+ "glsl",
8
+ "wgsl",
9
+ "webgl",
10
+ "webgpu",
11
+ "compiler",
12
+ "parser",
13
+ "minifier"
14
+ ],
6
15
  "author": "Cody Bennett (https://github.com/CodyJasonBennett)",
7
16
  "homepage": "https://github.com/CodyJasonBennett/shaderkit",
8
17
  "repository": "https://github.com/CodyJasonBennett/shaderkit",
9
- "license": "MIT"
18
+ "license": "MIT",
19
+ "files": [
20
+ "dist/*",
21
+ "src/*"
22
+ ],
23
+ "types": "./dist/index.d.ts",
24
+ "main": "./dist/index.js",
25
+ "module": "./dist/index.mjs",
26
+ "exports": {
27
+ "types": "./dist/index.d.ts",
28
+ "require": "./dist/index.js",
29
+ "import": "./dist/index.mjs"
30
+ },
31
+ "sideEffects": false,
32
+ "devDependencies": {
33
+ "typescript": "^4.9.5",
34
+ "vite": "^4.1.2",
35
+ "vitest": "^0.28.5"
36
+ },
37
+ "scripts": {
38
+ "dev": "vite",
39
+ "build": "vite build",
40
+ "lint": "tsc",
41
+ "test": "vitest run"
42
+ }
10
43
  }