├── .gitattributes ├── .github └── workflows │ └── release.yml ├── .gitignore ├── README.md ├── biome.json ├── lefthook.yaml ├── package.json ├── pnpm-lock.yaml ├── sample-inputs ├── _snippets │ ├── api-key:header.json │ ├── api-key:query.json │ ├── http:bearer.json │ └── oauth2:authorization-code.json ├── asana.json ├── github.json ├── hacker-news.json ├── hetzner.json ├── lichess.json ├── n8n.json ├── openai.json └── wayback.json ├── sample-outputs ├── _snippets │ ├── ApiKeyHeaderSnippetApi.credentials.js │ ├── ApiKeyQuerySnippetApi.credentials.js │ ├── HttpBearerSnippetApi.credentials.js │ └── OAuth2SnippetOAuth2Api.credentials.js ├── asana │ ├── Asana.node.js │ ├── Asana.node.json │ ├── AsanaApi.credentials.js │ ├── AsanaApi.credentials.json │ ├── AsanaOAuth2Api.credentials.js │ ├── AsanaOAuth2Api.credentials.json │ ├── asana.deref.json │ └── asana.extract.json ├── github │ ├── GitHub.node.js │ ├── GitHub.node.json │ ├── github.deref.json │ └── github.extract.json ├── hacker-news │ ├── HackerNews.node.js │ ├── HackerNews.node.json │ ├── hacker-news.deref.json │ └── hacker-news.extract.json ├── hetzner │ ├── Hetzner.node.js │ ├── Hetzner.node.json │ ├── hetzner.deref.json │ └── hetzner.extract.json ├── lichess │ ├── Lichess.node.js │ ├── Lichess.node.json │ ├── LichessOAuth2Api.credentials.js │ ├── LichessOAuth2Api.credentials.json │ ├── lichess.deref.json │ └── lichess.extract.json ├── n8n │ ├── N8n.node.js │ ├── N8n.node.json │ ├── N8nApi.credentials.js │ ├── N8nApi.credentials.json │ ├── n8n.deref.json │ └── n8n.extract.json ├── openai │ ├── OpenAi.node.js │ ├── OpenAi.node.json │ ├── openai.deref.json │ └── openai.extract.json └── wayback │ ├── Wayback.node.js │ ├── Wayback.node.json │ ├── wayback.deref.json │ └── wayback.extract.json ├── scripts ├── diff-samples.sh ├── extract-samples.ts ├── generate-js.ts ├── generate-json.ts ├── inputs-outputs-table.mjs ├── release.sh ├── run-perf.sh └── write-samples.ts ├── src ├── casing.ts ├── cli.ts ├── constants.ts ├── parse │ ├── param-extractor.ts │ └── spec-parser.ts ├── types.ts └── write │ ├── formatter.ts │ ├── js-generator.ts │ ├── js │ ├── js-cred-type-generator.ts │ ├── js-cred-type-param-builder.ts │ ├── js-node-type-generator.ts │ ├── js-node-type-param-builder.ts │ └── js-output-community-repo.ts │ └── json-generator.ts ├── tsconfig.build.json └── tsconfig.json /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/README.md -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/biome.json -------------------------------------------------------------------------------- /lefthook.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/lefthook.yaml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /sample-inputs/_snippets/api-key:header.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/_snippets/api-key:header.json -------------------------------------------------------------------------------- /sample-inputs/_snippets/api-key:query.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/_snippets/api-key:query.json -------------------------------------------------------------------------------- /sample-inputs/_snippets/http:bearer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/_snippets/http:bearer.json -------------------------------------------------------------------------------- /sample-inputs/_snippets/oauth2:authorization-code.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/_snippets/oauth2:authorization-code.json -------------------------------------------------------------------------------- /sample-inputs/asana.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/asana.json -------------------------------------------------------------------------------- /sample-inputs/github.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/github.json -------------------------------------------------------------------------------- /sample-inputs/hacker-news.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/hacker-news.json -------------------------------------------------------------------------------- /sample-inputs/hetzner.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/hetzner.json -------------------------------------------------------------------------------- /sample-inputs/lichess.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/lichess.json -------------------------------------------------------------------------------- /sample-inputs/n8n.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/n8n.json -------------------------------------------------------------------------------- /sample-inputs/openai.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/openai.json -------------------------------------------------------------------------------- /sample-inputs/wayback.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-inputs/wayback.json -------------------------------------------------------------------------------- /sample-outputs/_snippets/ApiKeyHeaderSnippetApi.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/_snippets/ApiKeyHeaderSnippetApi.credentials.js -------------------------------------------------------------------------------- /sample-outputs/_snippets/ApiKeyQuerySnippetApi.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/_snippets/ApiKeyQuerySnippetApi.credentials.js -------------------------------------------------------------------------------- /sample-outputs/_snippets/HttpBearerSnippetApi.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/_snippets/HttpBearerSnippetApi.credentials.js -------------------------------------------------------------------------------- /sample-outputs/_snippets/OAuth2SnippetOAuth2Api.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/_snippets/OAuth2SnippetOAuth2Api.credentials.js -------------------------------------------------------------------------------- /sample-outputs/asana/Asana.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/Asana.node.js -------------------------------------------------------------------------------- /sample-outputs/asana/Asana.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/Asana.node.json -------------------------------------------------------------------------------- /sample-outputs/asana/AsanaApi.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/AsanaApi.credentials.js -------------------------------------------------------------------------------- /sample-outputs/asana/AsanaApi.credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/AsanaApi.credentials.json -------------------------------------------------------------------------------- /sample-outputs/asana/AsanaOAuth2Api.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/AsanaOAuth2Api.credentials.js -------------------------------------------------------------------------------- /sample-outputs/asana/AsanaOAuth2Api.credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/AsanaOAuth2Api.credentials.json -------------------------------------------------------------------------------- /sample-outputs/asana/asana.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/asana.deref.json -------------------------------------------------------------------------------- /sample-outputs/asana/asana.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/asana/asana.extract.json -------------------------------------------------------------------------------- /sample-outputs/github/GitHub.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/github/GitHub.node.js -------------------------------------------------------------------------------- /sample-outputs/github/GitHub.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/github/GitHub.node.json -------------------------------------------------------------------------------- /sample-outputs/github/github.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/github/github.deref.json -------------------------------------------------------------------------------- /sample-outputs/github/github.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/github/github.extract.json -------------------------------------------------------------------------------- /sample-outputs/hacker-news/HackerNews.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hacker-news/HackerNews.node.js -------------------------------------------------------------------------------- /sample-outputs/hacker-news/HackerNews.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hacker-news/HackerNews.node.json -------------------------------------------------------------------------------- /sample-outputs/hacker-news/hacker-news.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hacker-news/hacker-news.deref.json -------------------------------------------------------------------------------- /sample-outputs/hacker-news/hacker-news.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hacker-news/hacker-news.extract.json -------------------------------------------------------------------------------- /sample-outputs/hetzner/Hetzner.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hetzner/Hetzner.node.js -------------------------------------------------------------------------------- /sample-outputs/hetzner/Hetzner.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hetzner/Hetzner.node.json -------------------------------------------------------------------------------- /sample-outputs/hetzner/hetzner.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hetzner/hetzner.deref.json -------------------------------------------------------------------------------- /sample-outputs/hetzner/hetzner.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/hetzner/hetzner.extract.json -------------------------------------------------------------------------------- /sample-outputs/lichess/Lichess.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/lichess/Lichess.node.js -------------------------------------------------------------------------------- /sample-outputs/lichess/Lichess.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/lichess/Lichess.node.json -------------------------------------------------------------------------------- /sample-outputs/lichess/LichessOAuth2Api.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/lichess/LichessOAuth2Api.credentials.js -------------------------------------------------------------------------------- /sample-outputs/lichess/LichessOAuth2Api.credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/lichess/LichessOAuth2Api.credentials.json -------------------------------------------------------------------------------- /sample-outputs/lichess/lichess.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/lichess/lichess.deref.json -------------------------------------------------------------------------------- /sample-outputs/lichess/lichess.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/lichess/lichess.extract.json -------------------------------------------------------------------------------- /sample-outputs/n8n/N8n.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/n8n/N8n.node.js -------------------------------------------------------------------------------- /sample-outputs/n8n/N8n.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/n8n/N8n.node.json -------------------------------------------------------------------------------- /sample-outputs/n8n/N8nApi.credentials.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/n8n/N8nApi.credentials.js -------------------------------------------------------------------------------- /sample-outputs/n8n/N8nApi.credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/n8n/N8nApi.credentials.json -------------------------------------------------------------------------------- /sample-outputs/n8n/n8n.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/n8n/n8n.deref.json -------------------------------------------------------------------------------- /sample-outputs/n8n/n8n.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/n8n/n8n.extract.json -------------------------------------------------------------------------------- /sample-outputs/openai/OpenAi.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/openai/OpenAi.node.js -------------------------------------------------------------------------------- /sample-outputs/openai/OpenAi.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/openai/OpenAi.node.json -------------------------------------------------------------------------------- /sample-outputs/openai/openai.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/openai/openai.deref.json -------------------------------------------------------------------------------- /sample-outputs/openai/openai.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/openai/openai.extract.json -------------------------------------------------------------------------------- /sample-outputs/wayback/Wayback.node.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/wayback/Wayback.node.js -------------------------------------------------------------------------------- /sample-outputs/wayback/Wayback.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/wayback/Wayback.node.json -------------------------------------------------------------------------------- /sample-outputs/wayback/wayback.deref.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/wayback/wayback.deref.json -------------------------------------------------------------------------------- /sample-outputs/wayback/wayback.extract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/sample-outputs/wayback/wayback.extract.json -------------------------------------------------------------------------------- /scripts/diff-samples.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/diff-samples.sh -------------------------------------------------------------------------------- /scripts/extract-samples.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/extract-samples.ts -------------------------------------------------------------------------------- /scripts/generate-js.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/generate-js.ts -------------------------------------------------------------------------------- /scripts/generate-json.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/generate-json.ts -------------------------------------------------------------------------------- /scripts/inputs-outputs-table.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/inputs-outputs-table.mjs -------------------------------------------------------------------------------- /scripts/release.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/release.sh -------------------------------------------------------------------------------- /scripts/run-perf.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/run-perf.sh -------------------------------------------------------------------------------- /scripts/write-samples.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/scripts/write-samples.ts -------------------------------------------------------------------------------- /src/casing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/casing.ts -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/cli.ts -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/parse/param-extractor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/parse/param-extractor.ts -------------------------------------------------------------------------------- /src/parse/spec-parser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/parse/spec-parser.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/write/formatter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/formatter.ts -------------------------------------------------------------------------------- /src/write/js-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/js-generator.ts -------------------------------------------------------------------------------- /src/write/js/js-cred-type-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/js/js-cred-type-generator.ts -------------------------------------------------------------------------------- /src/write/js/js-cred-type-param-builder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/js/js-cred-type-param-builder.ts -------------------------------------------------------------------------------- /src/write/js/js-node-type-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/js/js-node-type-generator.ts -------------------------------------------------------------------------------- /src/write/js/js-node-type-param-builder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/js/js-node-type-param-builder.ts -------------------------------------------------------------------------------- /src/write/js/js-output-community-repo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/js/js-output-community-repo.ts -------------------------------------------------------------------------------- /src/write/json-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/src/write/json-generator.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivov/nodewriter/HEAD/tsconfig.json --------------------------------------------------------------------------------