@typespec/compiler 1.10.0-dev.3 → 1.10.0-dev.6
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.Prototypes.ts-test.js +1 -1
- package/dist/generated-defs/TypeSpec.Prototypes.ts-test.js.map +1 -1
- package/dist/generated-defs/TypeSpec.ts-test.js +1 -1
- package/dist/generated-defs/TypeSpec.ts-test.js.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/core/binder.d.ts.map +1 -1
- package/dist/src/core/binder.js +10 -8
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +485 -46
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/type-name-utils.js +13 -0
- package/dist/src/core/helpers/type-name-utils.js.map +1 -1
- package/dist/src/core/js-marshaller.d.ts +4 -2
- package/dist/src/core/js-marshaller.d.ts.map +1 -1
- package/dist/src/core/js-marshaller.js +96 -6
- package/dist/src/core/js-marshaller.js.map +1 -1
- package/dist/src/core/messages.d.ts +101 -12
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +27 -2
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/name-resolver.d.ts.map +1 -1
- package/dist/src/core/name-resolver.js +30 -0
- package/dist/src/core/name-resolver.js.map +1 -1
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +34 -6
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/scanner.d.ts +5 -5
- package/dist/src/core/scanner.d.ts.map +1 -1
- package/dist/src/core/scanner.js +8 -8
- package/dist/src/core/scanner.js.map +1 -1
- package/dist/src/core/semantic-walker.d.ts +3 -3
- package/dist/src/core/semantic-walker.d.ts.map +1 -1
- package/dist/src/core/semantic-walker.js +63 -44
- package/dist/src/core/semantic-walker.js.map +1 -1
- package/dist/src/core/type-relation-checker.d.ts.map +1 -1
- package/dist/src/core/type-relation-checker.js +157 -10
- package/dist/src/core/type-relation-checker.js.map +1 -1
- package/dist/src/core/types.d.ts +187 -23
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +1 -0
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/experimental/typekit/index.d.ts.map +1 -1
- package/dist/src/experimental/typekit/index.js.map +1 -1
- package/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +13 -0
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/examples.d.ts +10 -3
- package/dist/src/lib/examples.d.ts.map +1 -1
- package/dist/src/lib/examples.js +22 -7
- package/dist/src/lib/examples.js.map +1 -1
- package/dist/src/server/type-signature.js +19 -0
- package/dist/src/server/type-signature.js.map +1 -1
- package/package.json +1 -1
- package/templates/__snapshots__/emitter-ts/eslint.config.js +10 -1
- package/templates/__snapshots__/emitter-ts/package.json +1 -2
- package/templates/__snapshots__/emitter-ts/test/test-host.ts +7 -34
- package/templates/__snapshots__/library-ts/eslint.config.js +10 -1
- package/templates/__snapshots__/library-ts/package.json +1 -2
- package/templates/__snapshots__/library-ts/test/decorators.test.ts +18 -23
- package/templates/__snapshots__/library-ts/test/test-host.ts +5 -15
- package/templates/emitter-ts/eslint.config.js +10 -1
- package/templates/emitter-ts/package.json +1 -2
- package/templates/emitter-ts/test/test-host.ts.mu +7 -34
- package/templates/library-ts/eslint.config.js +10 -1
- package/templates/library-ts/package.json +1 -2
- package/templates/library-ts/test/decorators.test.ts.mu +18 -23
- package/templates/library-ts/test/test-host.ts.mu +5 -15
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/node": "latest",
|
|
22
|
-
"
|
|
23
|
-
"@typescript-eslint/parser": "^8.15.0",
|
|
22
|
+
"typescript-eslint": "^8.49.0",
|
|
24
23
|
"@typespec/compiler": "latest",
|
|
25
24
|
"@typespec/library-linter": "latest",
|
|
26
25
|
"eslint": "^9.15.0",
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
import { strictEqual } from "node:assert";
|
|
2
|
-
import { describe, it
|
|
3
|
-
import type { Operation } from "@typespec/compiler";
|
|
4
|
-
import {
|
|
2
|
+
import { describe, it } from "node:test";
|
|
3
|
+
import type { Operation, Program } from "@typespec/compiler";
|
|
4
|
+
import { expectDiagnostics } from "@typespec/compiler/testing";
|
|
5
5
|
import { getAlternateName } from "../src/decorators.js";
|
|
6
|
-
import {
|
|
6
|
+
import { Tester } from "./test-host.js";
|
|
7
7
|
|
|
8
8
|
describe("decorators", () => {
|
|
9
|
-
let runner: BasicTestRunner;
|
|
10
|
-
|
|
11
|
-
beforeEach(async () => {
|
|
12
|
-
runner = await create{{#casing.pascalCase}}{{name}}{{/casing.pascalCase}}TestRunner();
|
|
13
|
-
})
|
|
14
|
-
|
|
15
9
|
describe("@alternateName", () => {
|
|
16
10
|
it("set alternate name on operation", async () => {
|
|
17
|
-
const { test } = (await
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
const { test, program } = (await Tester.compile(`
|
|
12
|
+
using {{#casing.pascalCase}}{{name}}{{/casing.pascalCase}};
|
|
13
|
+
@alternateName("bar") @test op test(): void;
|
|
14
|
+
`)) as unknown as { test: Operation; program: Program };
|
|
15
|
+
strictEqual(getAlternateName(program, test), "bar");
|
|
21
16
|
});
|
|
22
17
|
|
|
23
18
|
it("emit diagnostic if not used on an operation", async () => {
|
|
24
|
-
const diagnostics = await
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
const diagnostics = await Tester.diagnose(`
|
|
20
|
+
using {{#casing.pascalCase}}{{name}}{{/casing.pascalCase}};
|
|
21
|
+
@alternateName("bar") model Test {}
|
|
22
|
+
`);
|
|
27
23
|
expectDiagnostics(diagnostics, {
|
|
28
24
|
severity: "error",
|
|
29
25
|
code: "decorator-wrong-target",
|
|
@@ -33,15 +29,14 @@ describe("decorators", () => {
|
|
|
33
29
|
|
|
34
30
|
|
|
35
31
|
it("emit diagnostic if using banned name", async () => {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
);
|
|
32
|
+
const diagnostics = await Tester.diagnose(`
|
|
33
|
+
using {{#casing.pascalCase}}{{name}}{{/casing.pascalCase}};
|
|
34
|
+
@alternateName("banned") op test(): void;
|
|
35
|
+
`);
|
|
40
36
|
expectDiagnostics(diagnostics, {
|
|
41
37
|
severity: "error",
|
|
42
38
|
code: "{{name}}/banned-alternate-name",
|
|
43
|
-
message: `Banned alternate name "banned"
|
|
44
|
-
pos: pos + runner.autoCodeOffset
|
|
39
|
+
message: `Banned alternate name "banned".`
|
|
45
40
|
})
|
|
46
41
|
});
|
|
47
42
|
});
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { resolvePath } from "@typespec/compiler";
|
|
2
|
+
import { createTester } from "@typespec/compiler/testing";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export async function create{{#casing.pascalCase}}{{name}}{{/casing.pascalCase}}TestRunner() {
|
|
11
|
-
const host = await create{{#casing.pascalCase}}{{name}}{{/casing.pascalCase}}TestHost();
|
|
12
|
-
|
|
13
|
-
return createTestWrapper(host, {
|
|
14
|
-
autoUsings: ["{{#casing.pascalCase}}{{name}}{{/casing.pascalCase}}"]
|
|
15
|
-
});
|
|
16
|
-
}
|
|
4
|
+
export const Tester = createTester(resolvePath(import.meta.dirname, "../.."), {
|
|
5
|
+
libraries: ["{{name}}"],
|
|
6
|
+
}).import("{{name}}");
|
|
17
7
|
|