@typespec/compiler 1.11.0-dev.0 → 1.11.0-dev.4
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/generated-defs/TypeSpec.d.ts +7 -1
- package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
- package/dist/generated-defs/TypeSpec.ts-test.js +5 -1
- package/dist/generated-defs/TypeSpec.ts-test.js.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +16 -3
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/decorators.d.ts +21 -0
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +23 -2
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/tsp-index.d.ts.map +1 -1
- package/dist/src/lib/tsp-index.js +8 -1
- package/dist/src/lib/tsp-index.js.map +1 -1
- package/dist/src/lib/visibility.d.ts.map +1 -1
- package/dist/src/lib/visibility.js +33 -15
- package/dist/src/lib/visibility.js.map +1 -1
- package/dist/src/server/completion.d.ts.map +1 -1
- package/dist/src/server/completion.js +21 -0
- package/dist/src/server/completion.js.map +1 -1
- package/lib/std/visibility.tsp +75 -38
- package/package.json +17 -17
|
@@ -2,6 +2,7 @@ import { CompletionItemKind, MarkupKind, Range, TextEdit, } from "vscode-languag
|
|
|
2
2
|
import { getSymNode } from "../core/binder.js";
|
|
3
3
|
import { getDeprecationDetails } from "../core/deprecation.js";
|
|
4
4
|
import { compilerAssert, getSourceLocation } from "../core/diagnostics.js";
|
|
5
|
+
import { getLocationContext } from "../core/helpers/location-context.js";
|
|
5
6
|
import { printIdentifier } from "../core/helpers/syntax-utils.js";
|
|
6
7
|
import { getFirstAncestor, positionInRange } from "../core/parser.js";
|
|
7
8
|
import { getAnyExtensionFromPath, getBaseFileName, getDirectoryPath, hasTrailingDirectorySeparator, resolvePath, } from "../core/path-utils.js";
|
|
@@ -303,7 +304,11 @@ async function addIdentifierCompletion({ program, completions }, node) {
|
|
|
303
304
|
if (result.size === 0) {
|
|
304
305
|
return;
|
|
305
306
|
}
|
|
307
|
+
const sourceLocation = getLocationContext(program, node);
|
|
306
308
|
for (const [key, { sym, label, suffix }] of result) {
|
|
309
|
+
if (!canAccessCompletionSymbol(sym, sourceLocation)) {
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
307
312
|
let kind;
|
|
308
313
|
let deprecated = false;
|
|
309
314
|
const symNode = getSymNode(sym);
|
|
@@ -363,6 +368,22 @@ async function addIdentifierCompletion({ program, completions }, node) {
|
|
|
363
368
|
if (node.parent?.kind === SyntaxKind.TypeReference) {
|
|
364
369
|
addKeywordCompletion("identifier", completions);
|
|
365
370
|
}
|
|
371
|
+
function canAccessCompletionSymbol(sym, sourceLocation) {
|
|
372
|
+
const isInternalDeclaration = (sym.flags & (8388608 /* SymbolFlags.Internal */ | 1048576 /* SymbolFlags.Declaration */)) ===
|
|
373
|
+
(8388608 /* SymbolFlags.Internal */ | 1048576 /* SymbolFlags.Declaration */);
|
|
374
|
+
if (!isInternalDeclaration)
|
|
375
|
+
return true;
|
|
376
|
+
if (sourceLocation.type === "synthetic" || sourceLocation.type === "compiler")
|
|
377
|
+
return true;
|
|
378
|
+
return sym.declarations.some((decl) => {
|
|
379
|
+
const declLocation = getLocationContext(program, decl);
|
|
380
|
+
if (declLocation.type !== sourceLocation.type)
|
|
381
|
+
return false;
|
|
382
|
+
if (declLocation.type === "project")
|
|
383
|
+
return true;
|
|
384
|
+
return declLocation === sourceLocation;
|
|
385
|
+
});
|
|
386
|
+
}
|
|
366
387
|
}
|
|
367
388
|
const directiveNames = ["suppress", "deprecated"];
|
|
368
389
|
function addDirectiveCompletion({ completions }, node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAGlB,UAAU,EACV,KAAK,EACL,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,EAC7B,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAQL,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AASrD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA0B,EAC1B,SAAyB;IAEzB,IAAI,IAAI,GAAqB,SAAS,CAAC,IAAI,CAAC;IAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IACE,SAAS,CAAC,mBAAmB,KAAK,CAAC;YACnC,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,EACnD,CAAC;YACD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4GAA4G;QAC5G,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACvB,uEAAuE;gBACvE,kEAAkE;gBAClE,sEAAsE;gBACtE,gDAAgD;gBAChD,IAAI,GAAG,SAAS,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC;YACvD,CAAC;YACD,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,MAAM,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,WAAW,CAAC;AAC7B,CAAC;AAED,SAAS,8BAA8B,CACrC,SAAyB,EACzB,OAA0B;IAE1B,IAAI,SAAS,CAAC,mBAAmB,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,6BAA6B,EAAE,CAAC;IAC5D,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAC3B,SAAS,CAAC,IAAI,EACd,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc;QACpC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe;QACrC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,kBAAkB;QACxC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,kBAAkB;QACxC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,4BAA4B,EACpD,IAAI,CAAC,eAAe,CACrB,CAAC;IAEF,OAAO,IAAI,KAAK,SAAS,IAAI,kCAAkC,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAa,EACb,SAAyB,EACzB,OAA0B;IAE1B,MAAM,mBAAmB,GAAG,CAAC,CAAiB,EAAE,EAAE;QAChD,uEAAuE;QACvE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC,CAAC;IACF,MAAM,GAAG,GAAgD;QACvD,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa;QAC1C,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,cAAc;QAC5C,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,iBAAiB;QAClD,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,iBAAiB;KACnD,CAAC;IACF,QAAQ,OAAO,EAAE,IAAI,EAAE,CAAC;QACtB,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,eAAe,CAAC;QAChC,KAAK,UAAU,CAAC,kBAAkB,CAAC;QACnC,KAAK,UAAU,CAAC,kBAAkB;YAChC,MAAM,QAAQ,GACZ,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG;gBACrC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,SAAS,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;gBAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,cAAc,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;gBAC/D,CAAC;gBACD,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,KAAK,UAAU,CAAC,4BAA4B;YAC1C,IAAI,SAAS,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtE,oBAAoB,CAAC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAAG,KAAK,SAAS,CAAC,mBAAmB,EAAE,CAAC;gBACzF,OAAO,kCAAkC,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;YACD,MAAM;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,IAAsB,EACtB,OAA0B,EAC1B,SAAyB,EACzB,eAAwB,IAAI;IAE5B,IACE,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB;QACzC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU;YAClC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,cAAc;gBAC9C,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,kBAAkB,CAAC,CAAC,EACzD,CAAC;QACD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,UAAU,CAAC,kBAAkB;gBAChC,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,UAAU,CAAC,eAAe;gBAC7B,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxD,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM;YACR,KAAK,UAAU,CAAC,UAAU;gBACxB,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,UAAU,CAAC,aAAa;gBAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;oBACnE,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,KAAK,UAAU,CAAC,cAAc,CAAC;YAC/B,KAAK,UAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,UAAU,CAAC,eAAe;gBAC7B,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC7C,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAcD,MAAM,QAAQ,GAAG;IACf,YAAY;IACZ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAE1B,qBAAqB;IACrB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE1C,qCAAqC;IACrC;QACE,SAAS;QACT,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;KAC1F;IACD,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAEpD,gBAAgB;IAChB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9B,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAE/B,YAAY;IACZ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAE7C,UAAU;IACV,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;CACtB,CAAC;AAEX,SAAS,oBAAoB,CAAC,IAAuB,EAAE,WAA2B;IAChF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACzC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,kBAAkB,CAAC,OAAO;SACjC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAkB,EAAE,IAAY;IAC7D,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,cAAc,CAAC;AACxB,CAAC;AACD,wEAAwE;AACxE,KAAK,UAAU,mBAAmB,CAAC,IAAkB,EAAE,GAAW;IAChE,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAErF,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAqB,EACjD,IAAuB;IAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC3E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,eAAe,CACvC,OAAO,CAAC,IAAI,EACZ,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CACzC,CAAC;QACF,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,WAAW,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAC3C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,WAAW,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAC/C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;YAC3E,IAAI,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC3D,MAAM,KAAK,GAAG;oBACZ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;oBAC5D,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;iBAC3D,CAAC;gBACF,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;oBACrB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC;oBAC7C,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,kBAAkB,CAAC,MAAM;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAA0B,EAAE,IAAuB;IACpF,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAkB,EAAE,IAAY;IAC9D,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAqB,EACjD,IAAuB;IAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACpC,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC,KAAK;QACZ,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAC9E,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,cAAc,CAClD,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG;QACZ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;QACrE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;KAC3D,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAEhD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;oBACrB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB,CAAC,IAAI;oBAC7B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;iBACxC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,EAAE;gBACL,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;oBACrB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,kBAAkB,CAAC,MAAM;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;iBACxC,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAA0B,EAAE,SAAyB;IACrF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,IACE,CAAC,IAAI;QACL,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc;YACtC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,eAAe;YACxC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC,EACzC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC9C,oCAAoC;QACpC,OAAO;IACT,CAAC;SAAM,CAAC;QACN,wFAAwF;QACxF,+FAA+F;QAC/F,qIAAqI;QACrI,MAAM,QAAQ,GAAG;YACf,IAAI,EACF,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa;gBACpC,CAAC,CAAC,UAAU,CAAC,qBAAqB;gBAClC,CAAC,CAAC,UAAU,CAAC,aAAa;YAC9B,KAAK,wBAAgB;YACrB,MAAM,EAAE,IAAI;SACb,CAAC;QACF,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,UAAU,CAAC,UAAU;YAC3B,EAAE,EAAE,EAAE;YACN,KAAK,wBAAgB;YACrB,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAwB,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,EAAE,OAAO,EAAE,WAAW,EAAqB,EAC3C,IAAoB;IAEpB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QACnD,IAAI,IAAwB,CAAC;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,iEAA4C,CAAC,EAAE,CAAC;YAC/D,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QACrC,CAAC;aAAM,IACL,GAAG,CAAC,KAAK,kCAAwB;YACjC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,kBAAkB,EAC9C,CAAC;YACD,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YACnC,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC;QAClE,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAmB;YAC3B,KAAK,EAAE,KAAK,IAAI,GAAG;YACnB,aAAa,EAAE,aAAa;gBAC1B,CAAC,CAAC;oBACE,IAAI,EAAE,UAAU,CAAC,QAAQ;oBACzB,KAAK,EAAE,aAAa;iBACrB;gBACH,CAAC,CAAC,SAAS;YACb,IAAI;SACL,CAAC;QAEF,iEAAiE;QACjE,oFAAoF;QACpF,IACE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC;YAC7D,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,QAAQ;YACzC,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU;YAC/B,IAAI,CAAC,aAAa,KAAK,SAAS,EAChC,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO;YAC9B,wFAAwF;YACxF,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EACtC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CACtC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,sDAAsD;YACtD,0FAA0F;YAC1F,8CAA8C;YAC9C,SAAS;QACX,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC;QACnD,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAClD,SAAS,sBAAsB,CAAC,EAAE,WAAW,EAAqB,EAAE,IAAoB;IACtF,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3F,OAAO;IACT,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,kBAAkB,CAAC,OAAO;SACjC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB,EAAE,MAAY;IAC3D,QAAQ,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1B,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,cAAc;YAC5B,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACjC,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO,kBAAkB,CAAC,UAAU,CAAC;QACvC,KAAK,UAAU,CAAC,cAAc;YAC5B,OAAO,kBAAkB,CAAC,QAAQ,CAAC;QACrC,KAAK,UAAU,CAAC,cAAc;YAC5B,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAClC,KAAK,UAAU,CAAC,eAAe;YAC7B,OAAO,kBAAkB,CAAC,IAAI,CAAC;QACjC,KAAK,UAAU,CAAC,aAAa;YAC3B,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAClC,KAAK,UAAU,CAAC,kBAAkB;YAChC,OAAO,kBAAkB,CAAC,MAAM,CAAC;QACnC,KAAK,UAAU,CAAC,kBAAkB;YAChC,OAAO,kBAAkB,CAAC,MAAM,CAAC;QACnC;YACE,OAAO,kBAAkB,CAAC,MAAM,CAAC;IACrC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/server/completion.ts"],"names":[],"mappings":"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"}
|
package/lib/std/visibility.tsp
CHANGED
|
@@ -299,12 +299,60 @@ model VisibilityFilter {
|
|
|
299
299
|
* }
|
|
300
300
|
* ```
|
|
301
301
|
*/
|
|
302
|
+
#deprecated "withVisibilityFilter is deprecated and will be removed in a future release. Use the `FilterVisibility` template or Lifecycle specific templates (e.g. `Read`, `Create`, `Update`, etc.) instead."
|
|
302
303
|
extern dec withVisibilityFilter(
|
|
303
304
|
target: Model,
|
|
304
305
|
filter: valueof VisibilityFilter,
|
|
305
306
|
nameTemplate?: valueof string
|
|
306
307
|
);
|
|
307
308
|
|
|
309
|
+
/**
|
|
310
|
+
* A copy of the input model `M` with only the properties that match the given visibility filter.
|
|
311
|
+
*
|
|
312
|
+
* This transformation is recursive, so it will also apply the filter to any nested
|
|
313
|
+
* or referenced models that are the types of any properties in the `target`.
|
|
314
|
+
*
|
|
315
|
+
* If a `nameTemplate` is provided, newly-created type instances will be named according
|
|
316
|
+
* to the template. See the `@friendlyName` decorator for more information on the template
|
|
317
|
+
* syntax. The transformed type is provided as the argument to the template.
|
|
318
|
+
*
|
|
319
|
+
* @template M the model to apply the visibility filter to.
|
|
320
|
+
* @template Filter the visibility filter to apply to the properties of the target model.
|
|
321
|
+
* @template NameTemplate the name template to use when renaming new type instances.
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```typespec
|
|
325
|
+
* model Dog {
|
|
326
|
+
* @visibility(CustomVisibility.A)
|
|
327
|
+
* id: int32;
|
|
328
|
+
* @removeVisibility(CustomVisibility.A)
|
|
329
|
+
* name: string;
|
|
330
|
+
* }
|
|
331
|
+
*
|
|
332
|
+
* enum CustomVisibility {
|
|
333
|
+
* A,
|
|
334
|
+
* B,
|
|
335
|
+
* }
|
|
336
|
+
*
|
|
337
|
+
* const customFilter: VisibilityFilter = #{ all: #[CustomVisibility.A] };
|
|
338
|
+
*
|
|
339
|
+
* // This model will have the `id` property but not the `name` property, since `id` has the CustomVisibility.A visibility and `name` does not.
|
|
340
|
+
* model DogRead is FilterVisibility<Dog, customFilter, "Read{name}">;
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
alias FilterVisibility<
|
|
344
|
+
M extends Model,
|
|
345
|
+
Filter extends valueof VisibilityFilter,
|
|
346
|
+
NameTemplate extends valueof string
|
|
347
|
+
> = applyVisibilityFilter(M, Filter, NameTemplate);
|
|
348
|
+
|
|
349
|
+
#suppress "experimental-feature"
|
|
350
|
+
internal extern fn applyVisibilityFilter(
|
|
351
|
+
input: Model,
|
|
352
|
+
filter: valueof VisibilityFilter,
|
|
353
|
+
nameTemplate?: valueof string
|
|
354
|
+
): Model;
|
|
355
|
+
|
|
308
356
|
/**
|
|
309
357
|
* Transforms the `target` model to include only properties that are visible during the
|
|
310
358
|
* "Update" lifecycle phase.
|
|
@@ -338,8 +386,12 @@ extern dec withVisibilityFilter(
|
|
|
338
386
|
* }
|
|
339
387
|
* ```
|
|
340
388
|
*/
|
|
389
|
+
#deprecated "withLifecycleUpdate is deprecated and will be removed in a future release. Use the `Update` template instead."
|
|
341
390
|
extern dec withLifecycleUpdate(target: Model, nameTemplate?: valueof string);
|
|
342
391
|
|
|
392
|
+
#suppress "experimental-feature"
|
|
393
|
+
internal extern fn applyLifecycleUpdate(input: Model, nameTemplate?: valueof string): Model;
|
|
394
|
+
|
|
343
395
|
/**
|
|
344
396
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
345
397
|
* "Create" resource lifecycle phase.
|
|
@@ -366,12 +418,10 @@ extern dec withLifecycleUpdate(target: Model, nameTemplate?: valueof string);
|
|
|
366
418
|
* model CreateDog is Create<Dog>;
|
|
367
419
|
* ```
|
|
368
420
|
*/
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
...T;
|
|
374
|
-
}
|
|
421
|
+
alias Create<
|
|
422
|
+
T extends Model,
|
|
423
|
+
NameTemplate extends valueof string = "Create{name}"
|
|
424
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Create] }, NameTemplate);
|
|
375
425
|
|
|
376
426
|
/**
|
|
377
427
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -405,12 +455,10 @@ model Create<T extends Reflection.Model, NameTemplate extends valueof string = "
|
|
|
405
455
|
* model ReadDog is Read<Dog>;
|
|
406
456
|
* ```
|
|
407
457
|
*/
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
...T;
|
|
413
|
-
}
|
|
458
|
+
alias Read<
|
|
459
|
+
T extends Model,
|
|
460
|
+
NameTemplate extends valueof string = "Read{name}"
|
|
461
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Read] }, NameTemplate);
|
|
414
462
|
|
|
415
463
|
/**
|
|
416
464
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -445,12 +493,10 @@ model Read<T extends Reflection.Model, NameTemplate extends valueof string = "Re
|
|
|
445
493
|
* model UpdateDog is Update<Dog>;
|
|
446
494
|
* ```
|
|
447
495
|
*/
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
...T;
|
|
453
|
-
}
|
|
496
|
+
alias Update<
|
|
497
|
+
T extends Model,
|
|
498
|
+
NameTemplate extends valueof string = "Update{name}"
|
|
499
|
+
> = applyLifecycleUpdate(T, NameTemplate);
|
|
454
500
|
|
|
455
501
|
/**
|
|
456
502
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -487,15 +533,10 @@ model Update<T extends Reflection.Model, NameTemplate extends valueof string = "
|
|
|
487
533
|
* model CreateOrUpdateDog is CreateOrUpdate<Dog>;
|
|
488
534
|
* ```
|
|
489
535
|
*/
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
@withVisibilityFilter(#{ any: #[Lifecycle.Create, Lifecycle.Update] }, NameTemplate)
|
|
493
|
-
model CreateOrUpdate<
|
|
494
|
-
T extends Reflection.Model,
|
|
536
|
+
alias CreateOrUpdate<
|
|
537
|
+
T extends Model,
|
|
495
538
|
NameTemplate extends valueof string = "CreateOrUpdate{name}"
|
|
496
|
-
> {
|
|
497
|
-
...T;
|
|
498
|
-
}
|
|
539
|
+
> = applyVisibilityFilter(T, #{ any: #[Lifecycle.Create, Lifecycle.Update] }, NameTemplate);
|
|
499
540
|
|
|
500
541
|
/**
|
|
501
542
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -531,12 +572,10 @@ model CreateOrUpdate<
|
|
|
531
572
|
* model DeleteDog is Delete<Dog>;
|
|
532
573
|
* ```
|
|
533
574
|
*/
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
...T;
|
|
539
|
-
}
|
|
575
|
+
alias Delete<
|
|
576
|
+
T extends Model,
|
|
577
|
+
NameTemplate extends valueof string = "Delete{name}"
|
|
578
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Delete] }, NameTemplate);
|
|
540
579
|
|
|
541
580
|
/**
|
|
542
581
|
* A copy of the input model `T` with only the properties that are visible during the
|
|
@@ -580,9 +619,7 @@ model Delete<T extends Reflection.Model, NameTemplate extends valueof string = "
|
|
|
580
619
|
* model QueryDog is Query<Dog>;
|
|
581
620
|
* ```
|
|
582
621
|
*/
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
...T;
|
|
588
|
-
}
|
|
622
|
+
alias Query<
|
|
623
|
+
T extends Model,
|
|
624
|
+
NameTemplate extends valueof string = "Query{name}"
|
|
625
|
+
> = applyVisibilityFilter(T, #{ all: #[Lifecycle.Query] }, NameTemplate);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/compiler",
|
|
3
|
-
"version": "1.11.0-dev.
|
|
3
|
+
"version": "1.11.0-dev.4",
|
|
4
4
|
"description": "TypeSpec compiler and standard library",
|
|
5
5
|
"author": "Microsoft Corporation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -84,18 +84,18 @@
|
|
|
84
84
|
],
|
|
85
85
|
"dependencies": {
|
|
86
86
|
"@babel/code-frame": "~7.29.0",
|
|
87
|
-
"@inquirer/prompts": "^8.0
|
|
87
|
+
"@inquirer/prompts": "^8.3.0",
|
|
88
88
|
"ajv": "~8.18.0",
|
|
89
89
|
"change-case": "~5.4.4",
|
|
90
90
|
"env-paths": "^4.0.0",
|
|
91
|
-
"globby": "~16.1.
|
|
91
|
+
"globby": "~16.1.1",
|
|
92
92
|
"is-unicode-supported": "^2.1.0",
|
|
93
93
|
"mustache": "~4.2.0",
|
|
94
94
|
"picocolors": "~1.1.1",
|
|
95
|
-
"prettier": "~3.8.
|
|
96
|
-
"semver": "^7.7.
|
|
97
|
-
"tar": "^7.5.
|
|
98
|
-
"temporal-polyfill": "^0.3.
|
|
95
|
+
"prettier": "~3.8.1",
|
|
96
|
+
"semver": "^7.7.4",
|
|
97
|
+
"tar": "^7.5.11",
|
|
98
|
+
"temporal-polyfill": "^0.3.2",
|
|
99
99
|
"vscode-languageserver": "~9.0.1",
|
|
100
100
|
"vscode-languageserver-textdocument": "~1.0.12",
|
|
101
101
|
"yaml": "~2.8.2",
|
|
@@ -103,23 +103,23 @@
|
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
105
|
"@types/babel__code-frame": "~7.27.0",
|
|
106
|
-
"@types/mustache": "~4.2.
|
|
107
|
-
"@types/node": "~25.
|
|
108
|
-
"@types/semver": "^7.
|
|
109
|
-
"@types/yargs": "~17.0.
|
|
110
|
-
"@typespec/internal-build-utils": "^0.80.0 || >= 0.81.0-dev.
|
|
111
|
-
"@vitest/coverage-v8": "^4.0
|
|
112
|
-
"@vitest/ui": "^4.0
|
|
106
|
+
"@types/mustache": "~4.2.6",
|
|
107
|
+
"@types/node": "~25.5.0",
|
|
108
|
+
"@types/semver": "^7.7.1",
|
|
109
|
+
"@types/yargs": "~17.0.35",
|
|
110
|
+
"@typespec/internal-build-utils": "^0.80.0 || >= 0.81.0-dev.1",
|
|
111
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
112
|
+
"@vitest/ui": "^4.1.0",
|
|
113
113
|
"c8": "^11.0.0",
|
|
114
114
|
"grammarkdown": "~3.3.2",
|
|
115
115
|
"pathe": "^2.0.3",
|
|
116
116
|
"rimraf": "~6.1.3",
|
|
117
117
|
"source-map-support": "~0.5.21",
|
|
118
|
-
"tmlanguage-generator": "^0.6.8 || >= 0.6.9-dev.
|
|
118
|
+
"tmlanguage-generator": "^0.6.8 || >= 0.6.9-dev.9",
|
|
119
119
|
"typescript": "~5.9.3",
|
|
120
|
-
"vitest": "^4.0
|
|
120
|
+
"vitest": "^4.1.0",
|
|
121
121
|
"vscode-oniguruma": "~2.0.1",
|
|
122
|
-
"vscode-textmate": "~9.3.
|
|
122
|
+
"vscode-textmate": "~9.3.2"
|
|
123
123
|
},
|
|
124
124
|
"scripts": {
|
|
125
125
|
"clean": "rimraf ./dist ./temp",
|