tamedevil 0.0.0-alpha.1 → 0.0.0-alpha.3
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/CHANGELOG.md +26 -0
- package/README.md +3 -3
- package/dist/index.d.ts +8 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +228 -181
- package/dist/index.js.map +1 -1
- package/dist/thereCanBeOnlyOne.d.ts +9 -0
- package/dist/thereCanBeOnlyOne.d.ts.map +1 -0
- package/dist/thereCanBeOnlyOne.js +14 -0
- package/dist/thereCanBeOnlyOne.js.map +1 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# tamedevil
|
|
2
2
|
|
|
3
|
+
## 0.0.0-alpha.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#370](https://github.com/benjie/postgraphile-private/pull/370)
|
|
8
|
+
[`339fe20d0`](https://github.com/benjie/postgraphile-private/commit/339fe20d0c6e8600d263ce8093cd85a6ea8adbbf)
|
|
9
|
+
Thanks [@benjie](https://github.com/benjie)! - Allow multiple instances of
|
|
10
|
+
pg-sql2 and tamedevil to help handle package manager shenanigans.
|
|
11
|
+
|
|
12
|
+
## 0.0.0-alpha.2
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [`87e6c65a7`](https://github.com/benjie/postgraphile-private/commit/87e6c65a7a687044895b3b6c9f131384984e7674)
|
|
17
|
+
Thanks [@benjie](https://github.com/benjie)! - Performance overhaul and new
|
|
18
|
+
caching functionality.
|
|
19
|
+
|
|
20
|
+
- [`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
|
|
21
|
+
Thanks [@benjie](https://github.com/benjie)! - Upgrade to the latest
|
|
22
|
+
TypeScript/tslib
|
|
23
|
+
|
|
24
|
+
- Updated dependencies
|
|
25
|
+
[[`98ae00f59`](https://github.com/benjie/postgraphile-private/commit/98ae00f59a8ab3edc5718ad8437a0dab734a7d69),
|
|
26
|
+
[`7f857950a`](https://github.com/benjie/postgraphile-private/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)]:
|
|
27
|
+
- @graphile/lru@5.0.0-alpha.2
|
|
28
|
+
|
|
3
29
|
## 0.0.0-alpha.1
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -53,12 +53,12 @@ And please give some love to our featured sponsors 🤩:
|
|
|
53
53
|
|
|
54
54
|
<table><tr>
|
|
55
55
|
<td align="center"><a href="https://surge.io/"><img src="https://graphile.org/images/sponsors/surge.png" width="90" height="90" alt="Surge" /><br />Surge</a> *</td>
|
|
56
|
-
<td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
|
|
57
56
|
<td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
|
|
57
|
+
<td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
|
|
58
58
|
<td align="center"><a href="https://qwick.com/"><img src="https://graphile.org/images/sponsors/qwick.png" width="90" height="90" alt="Qwick" /><br />Qwick</a> *</td>
|
|
59
59
|
</tr><tr>
|
|
60
|
-
<td align="center"><a href="
|
|
61
|
-
<td align="center"><a href="
|
|
60
|
+
<td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
|
|
61
|
+
<td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
|
|
62
62
|
<td align="center"><a href="https://www.enzuzo.com/"><img src="https://graphile.org/images/sponsors/enzuzo.png" width="90" height="90" alt="Enzuzo" /><br />Enzuzo</a> *</td>
|
|
63
63
|
<td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
|
|
64
64
|
</tr></table>
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* This is the secret to our safety; since this is a symbol it cannot be faked
|
|
3
|
-
* in a JSON payload and it cannot be constructed with a new Symbol (even with
|
|
4
|
-
* the same argument), so external data cannot make itself trusted.
|
|
5
|
-
*
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
declare const $$type: unique symbol;
|
|
1
|
+
import { $$type } from "./thereCanBeOnlyOne.js";
|
|
9
2
|
/**
|
|
10
3
|
* Represents raw TE, the text will be output verbatim into the compiled code.
|
|
11
4
|
*/
|
|
@@ -69,6 +62,7 @@ declare function compile(fragment: TE): {
|
|
|
69
62
|
[key: string]: any;
|
|
70
63
|
};
|
|
71
64
|
};
|
|
65
|
+
declare function cache(strings: TemplateStringsArray): TE;
|
|
72
66
|
/**
|
|
73
67
|
* Creates a TE node for a raw code string. Just plain ol‘ raw code - EXTREMELY
|
|
74
68
|
* DANGEROUS.
|
|
@@ -189,6 +183,8 @@ declare function tmp(obj: TE, callback: (tmp: TE) => TE): TE;
|
|
|
189
183
|
*/
|
|
190
184
|
declare function run<TResult>(fragment: TE): TResult;
|
|
191
185
|
declare function run<TResult>(strings: TemplateStringsArray, ...values: TE[]): TResult;
|
|
186
|
+
declare function runInBatch<TResult>(fragment: TE, callback: (r: TResult) => void): void;
|
|
187
|
+
declare function batch(callback: () => void): void;
|
|
192
188
|
/**
|
|
193
189
|
* Join some TE items together, optionally separated by a string. Useful when
|
|
194
190
|
* dealing with lists of TE nodes, for example a dynamic list of object
|
|
@@ -226,10 +222,11 @@ export declare class Idents {
|
|
|
226
222
|
}
|
|
227
223
|
declare const te: TamedEvil;
|
|
228
224
|
export default te;
|
|
229
|
-
export { compile, dangerousKey, dangerouslyIncludeRawCode, run as eval, get, identifier, isTE, join, lit, lit as literal, optionalGet, ref, run, set, subcomment, substring, te, tempVar, tmp, undefinedNode as undefined, };
|
|
225
|
+
export { batch, cache, compile, dangerousKey, dangerouslyIncludeRawCode, run as eval, get, identifier, isTE, join, lit, lit as literal, optionalGet, ref, run, runInBatch, set, subcomment, substring, te, tempVar, tmp, undefinedNode as undefined, };
|
|
230
226
|
export interface TamedEvil {
|
|
231
227
|
(strings: TemplateStringsArray, ...values: Array<TE>): TE;
|
|
232
228
|
te: TamedEvil;
|
|
229
|
+
cache: typeof cache;
|
|
233
230
|
ref: typeof ref;
|
|
234
231
|
reference: typeof ref;
|
|
235
232
|
lit: typeof lit;
|
|
@@ -252,6 +249,8 @@ export interface TamedEvil {
|
|
|
252
249
|
<TResult>(fragment: TE): TResult;
|
|
253
250
|
<TResult>(strings: TemplateStringsArray, ...values: TE[]): TResult;
|
|
254
251
|
};
|
|
252
|
+
runInBatch: typeof runInBatch;
|
|
253
|
+
batch: typeof batch;
|
|
255
254
|
compile: typeof compile;
|
|
256
255
|
indent: typeof indent;
|
|
257
256
|
indentIf: typeof indentIf;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.undefined = exports.tmp = exports.tempVar = exports.te = exports.substring = exports.subcomment = exports.set = exports.run = exports.ref = exports.optionalGet = exports.literal = exports.lit = exports.join = exports.isTE = exports.identifier = exports.get = exports.eval = exports.dangerouslyIncludeRawCode = exports.dangerousKey = exports.compile = exports.Idents = exports.isSafeObjectPropertyName = exports.toJSON = exports.stringifyString = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const lru_1 = tslib_1.__importDefault(require("@graphile/lru"));
|
|
3
|
+
exports.undefined = exports.tmp = exports.tempVar = exports.te = exports.substring = exports.subcomment = exports.set = exports.runInBatch = exports.run = exports.ref = exports.optionalGet = exports.literal = exports.lit = exports.join = exports.isTE = exports.identifier = exports.get = exports.eval = exports.dangerouslyIncludeRawCode = exports.dangerousKey = exports.compile = exports.cache = exports.batch = exports.Idents = exports.isSafeObjectPropertyName = exports.toJSON = exports.stringifyString = void 0;
|
|
6
4
|
const reservedWords_js_1 = require("./reservedWords.js");
|
|
5
|
+
const thereCanBeOnlyOne_js_1 = require("./thereCanBeOnlyOne.js");
|
|
7
6
|
/**
|
|
8
7
|
* For compatibility with graphile-export
|
|
9
8
|
*/
|
|
@@ -22,53 +21,24 @@ function exportAs(thing, exportName) {
|
|
|
22
21
|
return thing;
|
|
23
22
|
}
|
|
24
23
|
const isDev = typeof process !== "undefined" && process.env.GRAPHILE_ENV === "development";
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const $$type = Symbol("tamedevil-type");
|
|
33
|
-
/**
|
|
34
|
-
* This helps us to avoid GC overhead of allocating new raw nodes all the time
|
|
35
|
-
* when they're likely to be the same values over and over. The average raw
|
|
36
|
-
* string is likely to be around 20 bytes; allowing for 50 bytes once this has
|
|
37
|
-
* been turned into an object, 10000 would mean 500kB which seems an acceptable
|
|
38
|
-
* amount of memory to consume for this.
|
|
39
|
-
*/
|
|
40
|
-
const CACHE_RAW_NODES = new lru_1.default({ maxLength: 10000 });
|
|
41
|
-
const CACHE_MAX_ENTRY_LENGTH = 50;
|
|
42
|
-
function makeRawNode(text, exportName) {
|
|
43
|
-
// Don't use the cache for longer texts
|
|
44
|
-
if (text.length > CACHE_MAX_ENTRY_LENGTH && exportName === undefined) {
|
|
45
|
-
return Object.freeze({
|
|
46
|
-
[$$type]: "RAW",
|
|
47
|
-
t: text,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
const n = CACHE_RAW_NODES.get(text);
|
|
51
|
-
if (n) {
|
|
52
|
-
return n;
|
|
53
|
-
}
|
|
54
|
-
if (typeof text !== "string") {
|
|
55
|
-
throw new Error(`[tamedevil] Invalid argument to makeRawNode - expected string, but received '${String(text)}'`);
|
|
56
|
-
}
|
|
24
|
+
function makeRawNode(text) {
|
|
25
|
+
return {
|
|
26
|
+
[thereCanBeOnlyOne_js_1.$$type]: "RAW",
|
|
27
|
+
t: text,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function makeExportedRawNode(text, exportName) {
|
|
57
31
|
const newNode = {
|
|
58
|
-
[
|
|
32
|
+
[thereCanBeOnlyOne_js_1.$$type]: "RAW",
|
|
59
33
|
t: text,
|
|
60
34
|
};
|
|
61
|
-
|
|
62
|
-
exportAs(newNode, exportName);
|
|
63
|
-
}
|
|
64
|
-
Object.freeze(newNode);
|
|
65
|
-
CACHE_RAW_NODES.set(text, newNode);
|
|
35
|
+
exportAs(newNode, exportName);
|
|
66
36
|
return newNode;
|
|
67
37
|
}
|
|
68
38
|
// Simple function to help V8 optimize it.
|
|
69
39
|
function makeRefNode(rawValue, name) {
|
|
70
40
|
return Object.freeze({
|
|
71
|
-
[
|
|
41
|
+
[thereCanBeOnlyOne_js_1.$$type]: "REF",
|
|
72
42
|
v: rawValue,
|
|
73
43
|
n: name,
|
|
74
44
|
});
|
|
@@ -76,21 +46,21 @@ function makeRefNode(rawValue, name) {
|
|
|
76
46
|
// Simple function to help V8 optimize it.
|
|
77
47
|
function makeTemporaryVariableNode(symbol) {
|
|
78
48
|
return Object.freeze({
|
|
79
|
-
[
|
|
49
|
+
[thereCanBeOnlyOne_js_1.$$type]: "VARIABLE",
|
|
80
50
|
s: symbol,
|
|
81
51
|
});
|
|
82
52
|
}
|
|
83
53
|
// Simple function to help V8 optimize it.
|
|
84
54
|
function makeIndentNode(content) {
|
|
85
55
|
return Object.freeze({
|
|
86
|
-
[
|
|
87
|
-
c: content[
|
|
56
|
+
[thereCanBeOnlyOne_js_1.$$type]: "INDENT",
|
|
57
|
+
c: content[thereCanBeOnlyOne_js_1.$$type] === "QUERY" ? content : makeQueryNode([content]),
|
|
88
58
|
});
|
|
89
59
|
}
|
|
90
60
|
// Simple function to help V8 optimize it.
|
|
91
61
|
function makeQueryNode(nodes) {
|
|
92
62
|
return Object.freeze({
|
|
93
|
-
[
|
|
63
|
+
[thereCanBeOnlyOne_js_1.$$type]: "QUERY",
|
|
94
64
|
n: nodes,
|
|
95
65
|
});
|
|
96
66
|
}
|
|
@@ -100,7 +70,7 @@ function makeQueryNode(nodes) {
|
|
|
100
70
|
function isTE(node) {
|
|
101
71
|
return (typeof node === "object" &&
|
|
102
72
|
node !== null &&
|
|
103
|
-
typeof node[
|
|
73
|
+
typeof node[thereCanBeOnlyOne_js_1.$$type] === "string");
|
|
104
74
|
}
|
|
105
75
|
exports.isTE = isTE;
|
|
106
76
|
function enforceValidNode(node, where) {
|
|
@@ -109,6 +79,93 @@ function enforceValidNode(node, where) {
|
|
|
109
79
|
}
|
|
110
80
|
throw new Error(`[tamedevil] Invalid expression. Expected an TE item${where ? ` at ${where}` : ""} but received '${String(node)}'. This may mean that there is an issue in the TE expression where a dynamic value was not escaped via 'te.ref(...)', an embedded string wasn't wrapped with 'te.string(...)', or a TE expression was added without using the \`te\` tagged template literal.`);
|
|
111
81
|
}
|
|
82
|
+
function findAvailableName(refs, suggestedName) {
|
|
83
|
+
if (!(suggestedName in refs)) {
|
|
84
|
+
return suggestedName;
|
|
85
|
+
}
|
|
86
|
+
for (let i = 0; i < 1000000; i++) {
|
|
87
|
+
const name = suggestedName + i;
|
|
88
|
+
if (!(name in refs)) {
|
|
89
|
+
return name;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
throw new Error("Failed to find an available variable name to use");
|
|
93
|
+
}
|
|
94
|
+
const makeRef = (refs, refMap, value, suggestedName) => {
|
|
95
|
+
const existingIdentifier = refMap.get(value);
|
|
96
|
+
if (existingIdentifier) {
|
|
97
|
+
return existingIdentifier;
|
|
98
|
+
}
|
|
99
|
+
const refCount = refMap.size + 1;
|
|
100
|
+
// Arbitrary
|
|
101
|
+
if (refCount > 65535) {
|
|
102
|
+
throw new Error("[tamedevil] This TE statement would contain too many placeholders; tamedevil supports at most 65535 placeholders. To solve this, consider passing multiple values in using a single array or object.");
|
|
103
|
+
}
|
|
104
|
+
const identifier = suggestedName
|
|
105
|
+
? findAvailableName(refs, suggestedName)
|
|
106
|
+
: `_$$_ref_${refCount}`;
|
|
107
|
+
refMap.set(value, identifier);
|
|
108
|
+
refs[identifier] = value;
|
|
109
|
+
return identifier;
|
|
110
|
+
};
|
|
111
|
+
const getVar = (varMap, sym) => {
|
|
112
|
+
const existing = varMap.get(sym);
|
|
113
|
+
if (existing) {
|
|
114
|
+
return existing;
|
|
115
|
+
}
|
|
116
|
+
const tmpCounter = varMap.size + 1;
|
|
117
|
+
const varName = `_$_tmp${tmpCounter}`;
|
|
118
|
+
varMap.set(sym, varName);
|
|
119
|
+
return varName;
|
|
120
|
+
};
|
|
121
|
+
function serialize(item, refs, refMap, varMap, indent = 0) {
|
|
122
|
+
let str = "";
|
|
123
|
+
if (item == null) {
|
|
124
|
+
enforceValidNode(item);
|
|
125
|
+
}
|
|
126
|
+
switch (item[thereCanBeOnlyOne_js_1.$$type]) {
|
|
127
|
+
case "QUERY": {
|
|
128
|
+
for (const listItem of item.n) {
|
|
129
|
+
str += serialize(listItem, refs, refMap, varMap, indent);
|
|
130
|
+
}
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
case "RAW": {
|
|
134
|
+
if (item.t === "") {
|
|
135
|
+
// No need to add blank raw text!
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
// IMPORTANT: this **must not** mangle primitives. Fortunately they're all single line so it should be fine.
|
|
139
|
+
str += isDev ? item.t.replace(/\n/g, "\n" + " ".repeat(indent)) : item.t;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case "REF": {
|
|
143
|
+
const identifier = makeRef(refs, refMap, item.v, item.n);
|
|
144
|
+
str += identifier;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
case "VARIABLE": {
|
|
148
|
+
const identifier = getVar(varMap, item.s);
|
|
149
|
+
str += identifier;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
case "INDENT": {
|
|
153
|
+
if (!isDev) {
|
|
154
|
+
throw new Error("INDENT nodes only allowed in development mode");
|
|
155
|
+
}
|
|
156
|
+
str += "\n" + " ".repeat(indent + 1);
|
|
157
|
+
str += serialize(item.c, refs, refMap, varMap, indent + 1);
|
|
158
|
+
str += "\n" + " ".repeat(indent);
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
default: {
|
|
162
|
+
const never = item;
|
|
163
|
+
// This cannot happen
|
|
164
|
+
throw new Error(`Unsupported node found in TE: ${String(enforceValidNode(never))}`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return str;
|
|
168
|
+
}
|
|
112
169
|
/**
|
|
113
170
|
* Accepts an te`...` expression and compiles it out to the function body
|
|
114
171
|
* `string` and the `refs` that need to be passed via the closure.
|
|
@@ -120,96 +177,18 @@ function compile(fragment) {
|
|
|
120
177
|
* time.
|
|
121
178
|
*/
|
|
122
179
|
const refs = Object.create(null);
|
|
123
|
-
let refCount = 0;
|
|
124
180
|
const refMap = new Map();
|
|
125
|
-
const makeRef = (value, suggestedName) => {
|
|
126
|
-
const existingIdentifier = refMap.get(value);
|
|
127
|
-
if (existingIdentifier) {
|
|
128
|
-
return existingIdentifier;
|
|
129
|
-
}
|
|
130
|
-
refCount++;
|
|
131
|
-
// Arbitrary
|
|
132
|
-
if (refCount > 65535) {
|
|
133
|
-
throw new Error("[tamedevil] This TE statement would contain too many placeholders; tamedevil supports at most 65535 placeholders. To solve this, consider passing multiple values in using a single array or object.");
|
|
134
|
-
}
|
|
135
|
-
const identifier = suggestedName ?? `_$$_ref_${refCount}`;
|
|
136
|
-
refMap.set(value, identifier);
|
|
137
|
-
refs[identifier] = value;
|
|
138
|
-
return identifier;
|
|
139
|
-
};
|
|
140
181
|
const varMap = new Map();
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
const varName = `_$_tmp${tmpCounter++}`;
|
|
148
|
-
varMap.set(sym, varName);
|
|
149
|
-
return varName;
|
|
150
|
-
};
|
|
151
|
-
const variables = [];
|
|
152
|
-
function print(untrustedInput, indent = 0) {
|
|
153
|
-
/**
|
|
154
|
-
* Join this to generate the TE string
|
|
155
|
-
*/
|
|
156
|
-
const teFragments = [];
|
|
157
|
-
const trustedInput = enforceValidNode(untrustedInput, ``);
|
|
158
|
-
const items = trustedInput[$$type] === "QUERY"
|
|
159
|
-
? expandQueryNodes(trustedInput)
|
|
160
|
-
: [trustedInput];
|
|
161
|
-
const itemCount = items.length;
|
|
162
|
-
for (let itemIndex = 0; itemIndex < itemCount; itemIndex++) {
|
|
163
|
-
const item = enforceValidNode(items[itemIndex], `item ${itemIndex}`);
|
|
164
|
-
switch (item[$$type]) {
|
|
165
|
-
case "RAW": {
|
|
166
|
-
if (item.t === "") {
|
|
167
|
-
// No need to add blank raw text!
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
// IMPORTANT: this **must not** mangle primitives. Fortunately they're all single line so it should be fine.
|
|
171
|
-
teFragments.push(isDev ? item.t.replace(/\n/g, "\n" + " ".repeat(indent)) : item.t);
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
case "REF": {
|
|
175
|
-
const identifier = makeRef(item.v, item.n);
|
|
176
|
-
teFragments.push(identifier);
|
|
177
|
-
if (item.n != null && identifier !== item.n) {
|
|
178
|
-
variables.push(`const ${item.n} = ${identifier};`);
|
|
179
|
-
}
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
case "VARIABLE": {
|
|
183
|
-
const identifier = getVar(item.s);
|
|
184
|
-
teFragments.push(identifier);
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
case "INDENT": {
|
|
188
|
-
if (!isDev) {
|
|
189
|
-
throw new Error("INDENT nodes only allowed in development mode");
|
|
190
|
-
}
|
|
191
|
-
teFragments.push("\n" +
|
|
192
|
-
" ".repeat(indent + 1) +
|
|
193
|
-
print(item.c, indent + 1) +
|
|
194
|
-
"\n" +
|
|
195
|
-
" ".repeat(indent));
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
default: {
|
|
199
|
-
const never = item;
|
|
200
|
-
// This cannot happen
|
|
201
|
-
throw new Error(`Unsupported node found in TE: ${String(never)}`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return teFragments.join("");
|
|
206
|
-
}
|
|
207
|
-
let str = print(fragment);
|
|
182
|
+
/**
|
|
183
|
+
* Join this to generate the TE string
|
|
184
|
+
*/
|
|
185
|
+
let str = serialize(fragment, refs, refMap, varMap);
|
|
186
|
+
let variables = "";
|
|
208
187
|
for (const varName of varMap.values()) {
|
|
209
|
-
variables
|
|
188
|
+
variables = variables + `let ${varName};\n`;
|
|
210
189
|
}
|
|
211
190
|
if (variables.length > 0) {
|
|
212
|
-
str = variables
|
|
191
|
+
str = variables + "\n" + str;
|
|
213
192
|
}
|
|
214
193
|
const string = isDev ? str.replace(/\n\s*\n/g, "\n") : str;
|
|
215
194
|
return {
|
|
@@ -218,8 +197,6 @@ function compile(fragment) {
|
|
|
218
197
|
};
|
|
219
198
|
}
|
|
220
199
|
exports.compile = compile;
|
|
221
|
-
// LRU not necessary
|
|
222
|
-
const CACHE_SIMPLE_FRAGMENTS = new Map();
|
|
223
200
|
/**
|
|
224
201
|
* A template string tag function that creates a `TE` query out of some strings and
|
|
225
202
|
* some TE values. Use this to prepare all dynamically executed code code
|
|
@@ -238,49 +215,57 @@ const teBase = function te(strings, ...values) {
|
|
|
238
215
|
throw new Error("[tamedevil] te should be used as a template literal, not a function call.");
|
|
239
216
|
}
|
|
240
217
|
const stringsLength = strings.length;
|
|
241
|
-
const first = strings[0];
|
|
242
218
|
// Reduce memory churn with a cache
|
|
243
219
|
if (stringsLength === 1) {
|
|
220
|
+
const first = strings[0];
|
|
244
221
|
if (first === "") {
|
|
245
222
|
return blankNode;
|
|
246
223
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
node = makeRawNode(first);
|
|
250
|
-
CACHE_SIMPLE_FRAGMENTS.set(first, node);
|
|
224
|
+
else if (first === "undefined") {
|
|
225
|
+
return undefinedNode;
|
|
251
226
|
}
|
|
252
|
-
return
|
|
227
|
+
return makeRawNode(first);
|
|
253
228
|
}
|
|
254
229
|
// Special case te`${...}` - just return the node directly
|
|
255
230
|
if (stringsLength === 2 && strings[0] === "" && strings[1] === "") {
|
|
256
|
-
|
|
231
|
+
const v = values[0];
|
|
232
|
+
return v[thereCanBeOnlyOne_js_1.$$type] !== undefined ? v : enforceValidNode(v);
|
|
257
233
|
}
|
|
258
234
|
const items = [];
|
|
235
|
+
let lastRawNode = null;
|
|
259
236
|
let currentText = "";
|
|
237
|
+
const addText = () => {
|
|
238
|
+
if (lastRawNode === null || lastRawNode.t !== currentText) {
|
|
239
|
+
lastRawNode = makeRawNode(currentText);
|
|
240
|
+
}
|
|
241
|
+
items.push(lastRawNode);
|
|
242
|
+
currentText = "";
|
|
243
|
+
};
|
|
260
244
|
const finalStringIndex = stringsLength - 1;
|
|
261
245
|
for (let i = 0; i < stringsLength; i++) {
|
|
262
246
|
const text = strings[i];
|
|
263
|
-
if (typeof text !== "string") {
|
|
264
|
-
throw new Error("[tamedevil] te must be invoked as a template literal, not a function call.");
|
|
265
|
-
}
|
|
266
247
|
currentText += text;
|
|
267
|
-
if (i
|
|
268
|
-
const
|
|
269
|
-
|
|
248
|
+
if (i !== finalStringIndex) {
|
|
249
|
+
const v = values[i];
|
|
250
|
+
const valid = v[thereCanBeOnlyOne_js_1.$$type] !== undefined
|
|
251
|
+
? v
|
|
252
|
+
: enforceValidNode(v, `literal placeholder ${i}`);
|
|
253
|
+
if (valid[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
|
|
254
|
+
lastRawNode = valid;
|
|
270
255
|
currentText += valid.t;
|
|
271
256
|
}
|
|
272
|
-
else if (valid[
|
|
273
|
-
const nodes =
|
|
257
|
+
else if (valid[thereCanBeOnlyOne_js_1.$$type] === "QUERY") {
|
|
258
|
+
const nodes = valid.n;
|
|
274
259
|
const nodeCount = nodes.length;
|
|
275
260
|
for (let nodeIndex = 0; nodeIndex < nodeCount; nodeIndex++) {
|
|
276
261
|
const node = nodes[nodeIndex];
|
|
277
|
-
if (node[
|
|
262
|
+
if (node[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
|
|
263
|
+
lastRawNode = node;
|
|
278
264
|
currentText += node.t;
|
|
279
265
|
}
|
|
280
266
|
else {
|
|
281
267
|
if (currentText !== "") {
|
|
282
|
-
|
|
283
|
-
currentText = "";
|
|
268
|
+
/*#__INLINE__*/ addText();
|
|
284
269
|
}
|
|
285
270
|
items.push(node);
|
|
286
271
|
}
|
|
@@ -288,19 +273,31 @@ const teBase = function te(strings, ...values) {
|
|
|
288
273
|
}
|
|
289
274
|
else {
|
|
290
275
|
if (currentText !== "") {
|
|
291
|
-
|
|
292
|
-
currentText = "";
|
|
276
|
+
/*#__INLINE__*/ addText();
|
|
293
277
|
}
|
|
294
278
|
items.push(valid);
|
|
295
279
|
}
|
|
296
280
|
}
|
|
297
281
|
}
|
|
298
282
|
if (currentText !== "") {
|
|
299
|
-
|
|
300
|
-
currentText = "";
|
|
283
|
+
/*#__INLINE__*/ addText();
|
|
301
284
|
}
|
|
302
285
|
return items.length === 1 ? items[0] : makeQueryNode(items);
|
|
303
286
|
};
|
|
287
|
+
const teCacheCache = Object.create(null);
|
|
288
|
+
function cache(strings) {
|
|
289
|
+
if (strings.length !== 1) {
|
|
290
|
+
throw new Error(`te.cache can currently only be used with a static string`);
|
|
291
|
+
}
|
|
292
|
+
const str = strings[0];
|
|
293
|
+
const existing = teCacheCache[str];
|
|
294
|
+
if (existing)
|
|
295
|
+
return existing;
|
|
296
|
+
const node = makeRawNode(str);
|
|
297
|
+
teCacheCache[str] = node;
|
|
298
|
+
return node;
|
|
299
|
+
}
|
|
300
|
+
exports.cache = cache;
|
|
304
301
|
let rawWarningOutput = false;
|
|
305
302
|
/**
|
|
306
303
|
* Creates a TE node for a raw code string. Just plain ol‘ raw code - EXTREMELY
|
|
@@ -345,8 +342,8 @@ function ref(val, name) {
|
|
|
345
342
|
}
|
|
346
343
|
}
|
|
347
344
|
exports.ref = ref;
|
|
348
|
-
const blankNode =
|
|
349
|
-
const undefinedNode =
|
|
345
|
+
const blankNode = makeExportedRawNode(``, "blank");
|
|
346
|
+
const undefinedNode = makeExportedRawNode(`undefined`, "undefined");
|
|
350
347
|
exports.undefined = undefinedNode;
|
|
351
348
|
/**
|
|
352
349
|
* A regexp that matches the first character that might need escaping in a JSON
|
|
@@ -601,9 +598,11 @@ function canAccessViaDot(str) {
|
|
|
601
598
|
function get(key) {
|
|
602
599
|
return typeof key === "string" && canAccessViaDot(key)
|
|
603
600
|
? // ._mySimpleProperty
|
|
604
|
-
|
|
601
|
+
makeRawNode(`.${key}`)
|
|
605
602
|
: // ["@@meaning"]
|
|
606
|
-
|
|
603
|
+
typeof key === "string" || (typeof key === "number" && Number.isFinite(key))
|
|
604
|
+
? makeRawNode(`[${(0, exports.toJSON)(key)}]`)
|
|
605
|
+
: te `[${te.lit(key)}]`;
|
|
607
606
|
}
|
|
608
607
|
exports.get = get;
|
|
609
608
|
/**
|
|
@@ -616,9 +615,11 @@ exports.get = get;
|
|
|
616
615
|
function optionalGet(key) {
|
|
617
616
|
return typeof key === "string" && canAccessViaDot(key)
|
|
618
617
|
? // ?._mySimpleProperty
|
|
619
|
-
|
|
618
|
+
makeRawNode(`?.${key}`)
|
|
620
619
|
: // ?.["@@meaning"]
|
|
621
|
-
|
|
620
|
+
typeof key === "string" || (typeof key === "number" && Number.isFinite(key))
|
|
621
|
+
? makeRawNode(`?.[${(0, exports.toJSON)(key)}]`)
|
|
622
|
+
: te `?.[${te.lit(key)}]`;
|
|
622
623
|
}
|
|
623
624
|
exports.optionalGet = optionalGet;
|
|
624
625
|
// TODO: rename this. 'leftSet'? 'leftAccess'? 'safeAccess'?
|
|
@@ -639,9 +640,11 @@ function set(key, hasNullPrototype = false) {
|
|
|
639
640
|
}
|
|
640
641
|
return typeof key === "string" && canAccessViaDot(key)
|
|
641
642
|
? // ._mySimpleProperty
|
|
642
|
-
|
|
643
|
+
makeRawNode(`.${key}`)
|
|
643
644
|
: // ["@@meaning"]
|
|
644
|
-
|
|
645
|
+
typeof key === "string" || (typeof key === "number" && Number.isFinite(key))
|
|
646
|
+
? makeRawNode(`[${(0, exports.toJSON)(key)}]`)
|
|
647
|
+
: te `[${te.lit(key)}]`;
|
|
645
648
|
}
|
|
646
649
|
exports.set = set;
|
|
647
650
|
/**
|
|
@@ -658,7 +661,7 @@ exports.tempVar = tempVar;
|
|
|
658
661
|
* @experimental
|
|
659
662
|
*/
|
|
660
663
|
function tmp(obj, callback) {
|
|
661
|
-
const trustedObj = enforceValidNode(obj);
|
|
664
|
+
const trustedObj = obj[thereCanBeOnlyOne_js_1.$$type] !== undefined ? obj : enforceValidNode(obj);
|
|
662
665
|
// ENHANCEMENT: we should be able to reuse these tempvars between tmp calls
|
|
663
666
|
// that aren't nested (or are nested at the same level).
|
|
664
667
|
const varName = te.tempVar();
|
|
@@ -672,10 +675,15 @@ function run(fragmentOrStrings, ...values) {
|
|
|
672
675
|
if (values.length > 0) {
|
|
673
676
|
throw new Error("Invalid call to `te.run`");
|
|
674
677
|
}
|
|
675
|
-
const fragment =
|
|
678
|
+
const fragment = fragmentOrStrings[thereCanBeOnlyOne_js_1.$$type] !== undefined
|
|
679
|
+
? fragmentOrStrings
|
|
680
|
+
: enforceValidNode(fragmentOrStrings);
|
|
676
681
|
const compiled = compile(fragment);
|
|
677
682
|
const argNames = Object.keys(compiled.refs);
|
|
678
683
|
const argValues = Object.values(compiled.refs);
|
|
684
|
+
if (isDev && activeBatch) {
|
|
685
|
+
throw new Error(`te.run called, but batch is active - recommend you use runInBatch`);
|
|
686
|
+
}
|
|
679
687
|
try {
|
|
680
688
|
return newFunction(...argNames, compiled.string)(...argValues);
|
|
681
689
|
}
|
|
@@ -690,6 +698,37 @@ function run(fragmentOrStrings, ...values) {
|
|
|
690
698
|
}
|
|
691
699
|
exports.eval = run;
|
|
692
700
|
exports.run = run;
|
|
701
|
+
let activeBatch = null;
|
|
702
|
+
function runInBatch(fragment, callback) {
|
|
703
|
+
if (!activeBatch) {
|
|
704
|
+
throw new Error(`te.runInBatch failed - there's no active batch`);
|
|
705
|
+
}
|
|
706
|
+
activeBatch.push({ fragment, callback });
|
|
707
|
+
}
|
|
708
|
+
exports.runInBatch = runInBatch;
|
|
709
|
+
function batch(callback) {
|
|
710
|
+
if (activeBatch) {
|
|
711
|
+
throw new Error(`te.batch failed - there's already a batch in progress`);
|
|
712
|
+
}
|
|
713
|
+
let batch;
|
|
714
|
+
try {
|
|
715
|
+
activeBatch = [];
|
|
716
|
+
callback();
|
|
717
|
+
batch = activeBatch;
|
|
718
|
+
}
|
|
719
|
+
finally {
|
|
720
|
+
activeBatch = null;
|
|
721
|
+
}
|
|
722
|
+
if (batch.length === 0) {
|
|
723
|
+
return;
|
|
724
|
+
}
|
|
725
|
+
const finalCode = te `return [\n${te.join(batch.map((entry) => entry.fragment), ",\n")}\n];`;
|
|
726
|
+
const result = te.run(finalCode);
|
|
727
|
+
for (let i = 0, l = batch.length; i < l; i++) {
|
|
728
|
+
batch[i].callback(result[i]);
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
exports.batch = batch;
|
|
693
732
|
/** Because `new Function` retains the scope, we do it at top level to avoid capturing extra values */
|
|
694
733
|
function newFunction(...args) {
|
|
695
734
|
return new Function(...args);
|
|
@@ -712,7 +751,9 @@ function join(items, separator = "") {
|
|
|
712
751
|
}
|
|
713
752
|
else if (items.length === 1) {
|
|
714
753
|
const rawNode = items[0];
|
|
715
|
-
const node =
|
|
754
|
+
const node = rawNode[thereCanBeOnlyOne_js_1.$$type] !== undefined
|
|
755
|
+
? rawNode
|
|
756
|
+
: enforceValidNode(rawNode, `join item ${0}`);
|
|
716
757
|
return node;
|
|
717
758
|
}
|
|
718
759
|
const hasSeparator = separator.length > 0;
|
|
@@ -720,14 +761,16 @@ function join(items, separator = "") {
|
|
|
720
761
|
const currentItems = [];
|
|
721
762
|
for (let i = 0, l = items.length; i < l; i++) {
|
|
722
763
|
const rawNode = items[i];
|
|
723
|
-
const node =
|
|
764
|
+
const node = rawNode[thereCanBeOnlyOne_js_1.$$type] !== undefined
|
|
765
|
+
? rawNode
|
|
766
|
+
: enforceValidNode(rawNode, `join item ${i}`);
|
|
724
767
|
const addSeparator = i > 0 && hasSeparator;
|
|
725
768
|
if (addSeparator) {
|
|
726
769
|
currentText += separator;
|
|
727
770
|
}
|
|
728
|
-
if (node[
|
|
729
|
-
for (const innerNode of
|
|
730
|
-
if (innerNode[
|
|
771
|
+
if (node[thereCanBeOnlyOne_js_1.$$type] === "QUERY") {
|
|
772
|
+
for (const innerNode of node.n) {
|
|
773
|
+
if (innerNode[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
|
|
731
774
|
currentText += innerNode.t;
|
|
732
775
|
}
|
|
733
776
|
else {
|
|
@@ -739,7 +782,7 @@ function join(items, separator = "") {
|
|
|
739
782
|
}
|
|
740
783
|
}
|
|
741
784
|
}
|
|
742
|
-
else if (node[
|
|
785
|
+
else if (node[thereCanBeOnlyOne_js_1.$$type] === "RAW") {
|
|
743
786
|
currentText += node.t;
|
|
744
787
|
}
|
|
745
788
|
else {
|
|
@@ -759,14 +802,12 @@ function join(items, separator = "") {
|
|
|
759
802
|
: makeQueryNode(currentItems);
|
|
760
803
|
}
|
|
761
804
|
exports.join = join;
|
|
762
|
-
/** @internal */
|
|
763
|
-
function expandQueryNodes(node) {
|
|
764
|
-
return node.n;
|
|
765
|
-
}
|
|
766
805
|
function indent(fragmentOrStrings, ...values) {
|
|
767
806
|
const fragment = "raw" in fragmentOrStrings
|
|
768
807
|
? te(fragmentOrStrings, ...values)
|
|
769
|
-
:
|
|
808
|
+
: fragmentOrStrings[thereCanBeOnlyOne_js_1.$$type] !== undefined
|
|
809
|
+
? fragmentOrStrings
|
|
810
|
+
: enforceValidNode(fragmentOrStrings);
|
|
770
811
|
if (!isDev) {
|
|
771
812
|
return fragment;
|
|
772
813
|
}
|
|
@@ -777,7 +818,7 @@ function indent(fragmentOrStrings, ...values) {
|
|
|
777
818
|
* node, otherwise it will be returned verbatim.
|
|
778
819
|
*/
|
|
779
820
|
function indentIf(condition, fragment) {
|
|
780
|
-
const trusted = enforceValidNode(fragment);
|
|
821
|
+
const trusted = fragment[thereCanBeOnlyOne_js_1.$$type] !== undefined ? fragment : enforceValidNode(fragment);
|
|
781
822
|
return isDev && condition ? makeIndentNode(trusted) : trusted;
|
|
782
823
|
}
|
|
783
824
|
/**
|
|
@@ -787,8 +828,10 @@ function indentIf(condition, fragment) {
|
|
|
787
828
|
* @internal
|
|
788
829
|
*/
|
|
789
830
|
class Idents {
|
|
790
|
-
|
|
791
|
-
|
|
831
|
+
constructor() {
|
|
832
|
+
// Initialized with forbidden words
|
|
833
|
+
this.idents = new Set(reservedWords_js_1.reservedWords);
|
|
834
|
+
}
|
|
792
835
|
/**
|
|
793
836
|
* Don't allow using these identifiers (presumably because they're already in use).
|
|
794
837
|
*/
|
|
@@ -797,9 +840,10 @@ class Idents {
|
|
|
797
840
|
this.idents.add(identifier);
|
|
798
841
|
}
|
|
799
842
|
}
|
|
843
|
+
// TODO: we need a proper understanding of lexical scope so we can generate truly safe identifiers
|
|
800
844
|
makeSafeIdentifier(str) {
|
|
801
845
|
const { idents } = this;
|
|
802
|
-
const safe = str.replace(/[^a-zA-Z0-9_$]+/g, "").replace(/_+/, "_");
|
|
846
|
+
const safe = "i_" + str.replace(/[^a-zA-Z0-9_$]+/g, "").replace(/_+/, "_");
|
|
803
847
|
let ident = undefined;
|
|
804
848
|
for (let i = 1; i < 10000; i++) {
|
|
805
849
|
const val = safe + (i > 1 ? String(i) : "");
|
|
@@ -821,6 +865,7 @@ exports.te = te;
|
|
|
821
865
|
exports.default = te;
|
|
822
866
|
const attributes = {
|
|
823
867
|
te,
|
|
868
|
+
cache,
|
|
824
869
|
ref,
|
|
825
870
|
reference: ref,
|
|
826
871
|
lit,
|
|
@@ -837,6 +882,8 @@ const attributes = {
|
|
|
837
882
|
tempVar,
|
|
838
883
|
run,
|
|
839
884
|
eval: run,
|
|
885
|
+
runInBatch,
|
|
886
|
+
batch,
|
|
840
887
|
compile,
|
|
841
888
|
indent,
|
|
842
889
|
indentIf,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is the secret to our safety; since this is a symbol it cannot be faked
|
|
3
|
+
* in a JSON payload or other user-provided data, so external data cannot make
|
|
4
|
+
* itself trusted.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const $$type: unique symbol;
|
|
9
|
+
//# sourceMappingURL=thereCanBeOnlyOne.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thereCanBeOnlyOne.d.ts","sourceRoot":"","sources":["../src/thereCanBeOnlyOne.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAiD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.$$type = void 0;
|
|
4
|
+
/** IMPORTANT: bump this on incompatible changes to this module */
|
|
5
|
+
const revision = 1;
|
|
6
|
+
/**
|
|
7
|
+
* This is the secret to our safety; since this is a symbol it cannot be faked
|
|
8
|
+
* in a JSON payload or other user-provided data, so external data cannot make
|
|
9
|
+
* itself trusted.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
exports.$$type = Symbol.for(`tamedevil-type-${revision}`);
|
|
14
|
+
//# sourceMappingURL=thereCanBeOnlyOne.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thereCanBeOnlyOne.js","sourceRoot":"","sources":["../src/thereCanBeOnlyOne.ts"],"names":[],"mappings":";;;AAAA,kEAAkE;AAClE,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB;;;;;;GAMG;AACU,QAAA,MAAM,GAAkB,MAAM,CAAC,GAAG,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tamedevil",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.3",
|
|
4
4
|
"description": "Build and evaluate JavaScript strings safely via tagged template literals",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"jest": "^28.1.3",
|
|
42
42
|
"markdown-doctest": "^1.1.0",
|
|
43
43
|
"ts-node": "^10.9.1",
|
|
44
|
-
"typescript": "^5.0.
|
|
44
|
+
"typescript": "^5.0.4"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@graphile/lru": "^5.0.0-alpha.
|
|
48
|
-
"tslib": "^2.
|
|
47
|
+
"@graphile/lru": "^5.0.0-alpha.2",
|
|
48
|
+
"tslib": "^2.5.0"
|
|
49
49
|
},
|
|
50
50
|
"files": [
|
|
51
51
|
"dist"
|