From 5d4f4a824c0382ee522a291bd1bbc1c7310fd46e Mon Sep 17 00:00:00 2001 From: Steve Konves Date: Sat, 23 Aug 2025 13:13:39 -0700 Subject: [PATCH 1/2] Upgrade to latest packages --- package-lock.json | 51 ++++++++++++++++++++------------------ package.json | 4 +-- src/snapshot/test-utils.ts | 4 +-- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad4f936..ddf748d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "0.2.0", "license": "MIT", "dependencies": { - "@basketry/typescript": "^0.2.0", - "basketry": "^0.2.0", + "@basketry/typescript": "^0.2.3", + "basketry": "^0.2.1", "case": "^1.6.3", "prettier": "^2.5.1" }, @@ -563,9 +563,9 @@ } }, "node_modules/@basketry/ir": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@basketry/ir/-/ir-0.2.0.tgz", - "integrity": "sha512-jHUGjuj6DlLMPn657PN/+jvzytBU8DBvQ5hJ24Qn2eM0JEUXc6hXAgyowXns8a3/q0AFwNNUwOCiYSULY8SDuw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@basketry/ir/-/ir-0.2.1.tgz", + "integrity": "sha512-zUsBMpsDH5kdENT37HgsBCqJtRolgfeffYmbOofUbtnUTgM5BGQo4jB2JaiDHzji7YeGYaa7bHvwQ5QSZh4wiA==", "dependencies": { "ajv": "^8.17.1" }, @@ -594,13 +594,16 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/@basketry/typescript": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@basketry/typescript/-/typescript-0.2.0.tgz", - "integrity": "sha512-CF24bt9NiLDccQKqA1iUDYfC+6FMC0IYrd56F2rnXVt9pTkaITk/Rj7IZL8NHHjTLcRw//4EJa/D4eISkbe3xg==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@basketry/typescript/-/typescript-0.2.3.tgz", + "integrity": "sha512-H8PqffITWwSJ2Cd2QelMa9q4LvRCkqYOEHoOkjHLv/HStYSRIjamZPxujpQ5MeA1xYD6usera3tsYsGs7HgUxA==", "dependencies": { - "basketry": "^0.2.0", + "basketry": "^0.2.1", "case": "^1.6.3" }, + "bin": { + "basketry-typescript": "lib/rpc.js" + }, "funding": { "url": "https://github.com/sponsors/basketry" } @@ -2223,11 +2226,11 @@ "dev": true }, "node_modules/basketry": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/basketry/-/basketry-0.2.0.tgz", - "integrity": "sha512-LLd6QdP/2Mnhm2YGDnW5m95/bYaAJJYuuNeDLL/V2ohptorfFJcpnJFrMrfXWMGCnoQDd4ICPTiayKLoXqCkUw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/basketry/-/basketry-0.2.1.tgz", + "integrity": "sha512-EyJNaJkHJioa6heYC9HQ3EDbgkb5hadYE9FnxOC8+aPf14gcLWTzRWF++xW30a5KvwJONIGfuemCAadCubMNqA==", "dependencies": { - "@basketry/ir": "^0.2.0", + "@basketry/ir": "^0.2.1", "case": "^1.6.3", "chalk": "^4.1.2", "ts-node": "^10.7.0", @@ -8110,9 +8113,9 @@ } }, "@basketry/ir": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@basketry/ir/-/ir-0.2.0.tgz", - "integrity": "sha512-jHUGjuj6DlLMPn657PN/+jvzytBU8DBvQ5hJ24Qn2eM0JEUXc6hXAgyowXns8a3/q0AFwNNUwOCiYSULY8SDuw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@basketry/ir/-/ir-0.2.1.tgz", + "integrity": "sha512-zUsBMpsDH5kdENT37HgsBCqJtRolgfeffYmbOofUbtnUTgM5BGQo4jB2JaiDHzji7YeGYaa7bHvwQ5QSZh4wiA==", "requires": { "ajv": "^8.17.1" }, @@ -8136,11 +8139,11 @@ } }, "@basketry/typescript": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@basketry/typescript/-/typescript-0.2.0.tgz", - "integrity": "sha512-CF24bt9NiLDccQKqA1iUDYfC+6FMC0IYrd56F2rnXVt9pTkaITk/Rj7IZL8NHHjTLcRw//4EJa/D4eISkbe3xg==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@basketry/typescript/-/typescript-0.2.3.tgz", + "integrity": "sha512-H8PqffITWwSJ2Cd2QelMa9q4LvRCkqYOEHoOkjHLv/HStYSRIjamZPxujpQ5MeA1xYD6usera3tsYsGs7HgUxA==", "requires": { - "basketry": "^0.2.0", + "basketry": "^0.2.1", "case": "^1.6.3" } }, @@ -9372,11 +9375,11 @@ "dev": true }, "basketry": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/basketry/-/basketry-0.2.0.tgz", - "integrity": "sha512-LLd6QdP/2Mnhm2YGDnW5m95/bYaAJJYuuNeDLL/V2ohptorfFJcpnJFrMrfXWMGCnoQDd4ICPTiayKLoXqCkUw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/basketry/-/basketry-0.2.1.tgz", + "integrity": "sha512-EyJNaJkHJioa6heYC9HQ3EDbgkb5hadYE9FnxOC8+aPf14gcLWTzRWF++xW30a5KvwJONIGfuemCAadCubMNqA==", "requires": { - "@basketry/ir": "^0.2.0", + "@basketry/ir": "^0.2.1", "case": "^1.6.3", "chalk": "^4.1.2", "ts-node": "^10.7.0", diff --git a/package.json b/package.json index 64f8caf..397d787 100644 --- a/package.json +++ b/package.json @@ -49,8 +49,8 @@ "typescript": "^4.5.5" }, "dependencies": { - "@basketry/typescript": "^0.2.0", - "basketry": "^0.2.0", + "@basketry/typescript": "^0.2.3", + "basketry": "^0.2.1", "case": "^1.6.3", "prettier": "^2.5.1" } diff --git a/src/snapshot/test-utils.ts b/src/snapshot/test-utils.ts index d799c0e..6e17f9f 100644 --- a/src/snapshot/test-utils.ts +++ b/src/snapshot/test-utils.ts @@ -1,4 +1,4 @@ -import { Engine, File } from 'basketry'; +import { NodeEngine, File } from 'basketry'; import { generateDocs } from '../readme-factory'; import { NamespacedTypescriptOptions } from '@basketry/typescript/lib/types'; @@ -11,7 +11,7 @@ export async function* generateFiles(): AsyncIterable { const options: NamespacedTypescriptOptions = {}; - const { engines } = await Engine.load({ + const { engines } = await NodeEngine.load({ sourcePath: 'source/path.ext', sourceContent: JSON.stringify(service), parser: (x) => ({ service: JSON.parse(x), violations: [] }), From 2a18ca51088809e162f168963931159fff2c43e2 Mon Sep 17 00:00:00 2001 From: Steve Konves Date: Sat, 23 Aug 2025 13:19:01 -0700 Subject: [PATCH 2/2] Implement RPC shim --- package.json | 4 ++++ src/rpc.ts | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 src/rpc.ts diff --git a/package.json b/package.json index 397d787..e5e8efa 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,9 @@ "version": "0.2.0", "description": "Basketry generator for documenting services that have a Typescript language target.", "main": "./lib/index.js", + "bin": { + "basketry-typescript-docs": "./lib/rpc.js" + }, "scripts": { "test": "jest", "clean": "run-s -s clean:*", @@ -13,6 +16,7 @@ "start": "node ./lib/index.js", "prebuild": "run-s -s clean lint", "build": "tsc", + "postbuild": "chmod +x ./lib/rpc.js", "lint:eslint": "eslint src/**/*.*", "fix:eslint": "eslint --fix src/**/*.*", "lint:prettier": "prettier -c .", diff --git a/src/rpc.ts b/src/rpc.ts new file mode 100644 index 0000000..ef124f7 --- /dev/null +++ b/src/rpc.ts @@ -0,0 +1,6 @@ +#!/usr/bin/env node + +import { RPC } from 'basketry'; +import generator from '.'; + +new RPC({ generator }).execute();