typespec-typescript-emitter 0.1.1 → 0.2.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.
- package/.github/workflows/create-release.yml +25 -0
- package/.github/workflows/publish-npm.yml +26 -0
- package/.husky/pre-commit +1 -0
- package/.vscode/settings.json +5 -0
- package/CHANGELOG.md +11 -0
- package/README.md +2 -2
- package/dist/src/emit_types.js +1 -1
- package/dist/src/emit_types.js.map +1 -1
- package/package.json +4 -3
- package/src/emit_types.ts +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: Create Release
|
|
2
|
+
on:
|
|
3
|
+
workflow_dispatch:
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
changelog:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
steps:
|
|
9
|
+
- uses: actions/checkout@v4
|
|
10
|
+
with:
|
|
11
|
+
token: ${{ secrets.GH_TOKEN }}
|
|
12
|
+
- name: Create Conventional Changelog
|
|
13
|
+
id: changelog
|
|
14
|
+
uses: TriPSs/conventional-changelog-action@v5.4.0
|
|
15
|
+
with:
|
|
16
|
+
github-token: ${{ secrets.GH_TOKEN }}
|
|
17
|
+
- name: Create Release
|
|
18
|
+
uses: actions/create-release@v1
|
|
19
|
+
if: ${{ steps.changelog.outputs.skipped == 'false' }}
|
|
20
|
+
env:
|
|
21
|
+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
22
|
+
with:
|
|
23
|
+
tag_name: ${{ steps.changelog.outputs.tag }}
|
|
24
|
+
release_name: ${{ steps.changelog.outputs.tag }}
|
|
25
|
+
body: ${{ steps.changelog.outputs.clean_changelog }}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: Publish to NPM
|
|
2
|
+
on:
|
|
3
|
+
release:
|
|
4
|
+
types: [created]
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
build-publish:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- name: Checkout
|
|
11
|
+
uses: actions/checkout@v4
|
|
12
|
+
with:
|
|
13
|
+
token: ${{ secrets.GH_TOKEN }}
|
|
14
|
+
- name: Setup Node
|
|
15
|
+
uses: actions/setup-node@v4
|
|
16
|
+
with:
|
|
17
|
+
node-version: "20"
|
|
18
|
+
registry-url: "https://registry.npmjs.org"
|
|
19
|
+
- name: Install dependencies
|
|
20
|
+
run: npm ci
|
|
21
|
+
- name: Build
|
|
22
|
+
run: npm run build
|
|
23
|
+
- name: Publish package to NPM
|
|
24
|
+
run: npm publish
|
|
25
|
+
env:
|
|
26
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm run build
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# 0.2.0 (2024-11-12)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- warning log level ([8b74b01](https://github.com/crowbait/typespec-typescript-emitter/commit/8b74b0197ed4b8fa3aad57d0f50cb884af879243))
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- routes emitter ([fdafc1c](https://github.com/crowbait/typespec-typescript-emitter/commit/fdafc1c081058e9d683946b010d10ff3bd962cdc))
|
|
10
|
+
- support optional model properties ([729d9f1](https://github.com/crowbait/typespec-typescript-emitter/commit/729d9f125434ead7a33326014082cd172c79f2ff))
|
|
11
|
+
- types emitter ([e31d459](https://github.com/crowbait/typespec-typescript-emitter/commit/e31d459edce08d010e590681e3a2e17d636de64e))
|
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ namespace myProject { // remember to set in config!
|
|
|
74
74
|
title: string,
|
|
75
75
|
subtitle: null | string,
|
|
76
76
|
read: ReadStatus,
|
|
77
|
-
chapterTitles
|
|
77
|
+
chapterTitles?: string[]
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
// you can either nest namespaces like this:
|
|
@@ -102,7 +102,7 @@ export interface Book {
|
|
|
102
102
|
title: string;
|
|
103
103
|
subtitile: null | string;
|
|
104
104
|
read: ReadStatus;
|
|
105
|
-
chapterTitles
|
|
105
|
+
chapterTitles?: string[];
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
// the other namespace will be emitted to `/path/to/outdir/SubNameSpace.ts`
|
package/dist/src/emit_types.js
CHANGED
|
@@ -129,7 +129,7 @@ const emitTypes = (context, namespace) => {
|
|
|
129
129
|
const typeStr = resolveType(p.type, nestlevel);
|
|
130
130
|
if (typeStr.includes("unknown"))
|
|
131
131
|
console.warn(`Could not resolve property ${p.name} on ${m.name}`);
|
|
132
|
-
ret = ret.addLine(`${p.name}: ${typeStr}${i < m.properties.size ? "," : ""}`, nestlevel + 1);
|
|
132
|
+
ret = ret.addLine(`${p.name}${p.optional ? "?" : ""}: ${typeStr}${i < m.properties.size ? "," : ""}`, nestlevel + 1);
|
|
133
133
|
i++;
|
|
134
134
|
});
|
|
135
135
|
ret = ret.addLine("}", nestlevel, true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit_types.js","sourceRoot":"","sources":["../../src/emit_types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"emit_types.js","sourceRoot":"","sources":["../../src/emit_types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typespec-typescript-emitter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A TypeSpec library providing an emitter that generates TypeScript types and a structured routes object for robust importing",
|
|
5
5
|
"homepage": "https://github.com/crowbait/typespec-typescript-emitter#readme",
|
|
6
6
|
"bugs": "https://github.com/crowbait/typespec-typescript-emitter/issues",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
27
27
|
"@typescript-eslint/parser": "^6.0.0",
|
|
28
28
|
"eslint": "^8.45.0",
|
|
29
|
+
"husky": "^9.1.6",
|
|
29
30
|
"prettier": "^3.0.3",
|
|
30
31
|
"rimraf": "^6.0.1",
|
|
31
32
|
"typescript": "^5.3.3"
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
"lint:fix": "eslint . --report-unused-disable-directives --fix",
|
|
43
44
|
"format": "prettier . --write",
|
|
44
45
|
"format:check": "prettier --check .",
|
|
45
|
-
"prepare": "
|
|
46
|
-
"prepublishOnly": "npm
|
|
46
|
+
"prepare": "husky",
|
|
47
|
+
"prepublishOnly": "npm run build"
|
|
47
48
|
}
|
|
48
49
|
}
|
package/src/emit_types.ts
CHANGED
|
@@ -168,7 +168,7 @@ const emitTypes = (
|
|
|
168
168
|
if (typeStr.includes("unknown"))
|
|
169
169
|
console.warn(`Could not resolve property ${p.name} on ${m.name}`);
|
|
170
170
|
ret = ret.addLine(
|
|
171
|
-
`${p.name}: ${typeStr}${i < m.properties.size ? "," : ""}`,
|
|
171
|
+
`${p.name}${p.optional ? "?" : ""}: ${typeStr}${i < m.properties.size ? "," : ""}`,
|
|
172
172
|
nestlevel + 1,
|
|
173
173
|
);
|
|
174
174
|
i++;
|