{"id":13799313,"url":"https://github.com/alexk111/node-red-node-typescript-starter","last_synced_at":"2025-03-16T20:30:54.186Z","repository":{"id":50776277,"uuid":"285841987","full_name":"alexk111/node-red-node-typescript-starter","owner":"alexk111","description":"🏁 Quick-start template repository for creating new Node-RED node sets in TypeScript.","archived":false,"fork":false,"pushed_at":"2023-03-31T06:52:42.000Z","size":655,"stargazers_count":87,"open_issues_count":5,"forks_count":15,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-16T05:12:56.148Z","etag":null,"topics":["node","node-red","nodejs","starter","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexk111.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-08-07T13:57:51.000Z","updated_at":"2025-03-13T16:24:02.000Z","dependencies_parsed_at":"2024-01-29T09:18:35.922Z","dependency_job_id":"cf23fb86-330e-4088-850f-5783f208709f","html_url":"https://github.com/alexk111/node-red-node-typescript-starter","commit_stats":null,"previous_names":[],"tags_count":3,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2Fnode-red-node-typescript-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2Fnode-red-node-typescript-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2Fnode-red-node-typescript-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2Fnode-red-node-typescript-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexk111","download_url":"https://codeload.github.com/alexk111/node-red-node-typescript-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243928236,"owners_count":20370257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node","node-red","nodejs","starter","typescript"],"created_at":"2024-08-04T00:01:01.258Z","updated_at":"2025-03-16T20:30:53.820Z","avatar_url":"https://github.com/alexk111.png","language":"JavaScript","readme":"# Node-RED Node TypeScript Starter\n\nThis is a quick-start template repository for creating new Node-RED node sets in TypeScript.\n\n## Project Structure\n\n```\nnode-red-node-typescript-starter/\n ├──src/                             * source files of the node set\n │   ├──__tests__/                   * tests for the node set (test file names should match *.test.ts glob pattern)\n │   │   └──transform-text.test.ts   * tests for the transform-text node\n │   │\n │   └──nodes/                       * node set folder, where subfolder names = node types\n │       ├──shared/                  * folder for .ts files shared across multiple nodes in the node set\n │       │\n │       └──transform-text/          * source files of the transform-text node\n │           ├──icons/               * custom icons used by the node set in the editor\n │           │\n │           ├──modules/             * .ts modules for the runtime side (transform-text.js file) of the node\n │           │\n │           ├──shared/              * folder for .ts files shared between the runtime side (.js file) and the editor side (.html file) of the node\n │           │\n │           ├──transform-text.html/ * files for compiling and bundling into the editor side (transform-text.html file) of the node\n │           │   ├──modules/         * .ts modules\n │           │   ├──editor.html      * html template for the edit dialog\n │           │   ├──help.html        * html template for the help in the info tab\n │           │   └──index.ts         * entry file\n │           │\n |           └──transform-text.ts    * entry file for the runtime side (transform-text.js file) of the node\n |\n ├──package.json                     * dependencies and node types for the Node-RED runtime to load\n |\n ├──rollup.config.editor.json        * rollup config for building the editor side of the nodes\n |\n ├──tsconfig.json                    * base typescript config, for the code editor\n ├──tsconfig.runtime.json            * config for creating a production build of the runtime side of the nodes\n └──tsconfig.runtime.watch.json      * config for watching and incremental building the runtime side of the nodes\n```\n\n## Getting Started\n\n1. Generate a new GitHub repository by clicking the `Use this template` button at the top of the repository homepage, then clone your new repo. Or you might just clone this repo: `git clone https://github.com/alexk111/node-red-node-typescript-starter.git` and cd into it: `cd node-red-node-typescript-starter`.\n2. This project is designed to work with `yarn`. If you don't have `yarn` installed, you can install it with `npm install -g yarn`.\n3. Install dependencies: `yarn install`.\n\n## Adding Nodes\n\nYou can quickly scaffold a new node and add it to the node set. Use the following command to create `my-new-node-type` node:\n\n```\nyarn add-node my-new-node-type\n```\n\nThe node generator is based on mustache templates. At the moment there are three templates available:\n\n- `blank` (used by default) - basic node for Node-RED \u003e=1.0\n- `blank-0` - node with a backward compatibility for running on Node-RED \u003c1.0\n- `config` - configuration node\n\nTo generate a node using a template, specify it as the third argument:\n\n```\nyarn add-node my-new-node-type blank\n```\n\nor\n\n```\nyarn add-node my-new-node-config config\n```\n\n### Adding Node Templates\n\nIf you want to make your own template available, add it to `./utils/templates/`.\n\n## Developing Nodes\n\nBuild \u0026 Test in Watch mode:\n\n```\nyarn dev\n```\n\n## Building Node Set\n\nCreate a production build:\n\n```\nyarn build\n```\n\n## Backers 💝\n\n[[Become a backer](https://mynode.alexkaul.com/gh-donate)]\n\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/0/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/0/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/1/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/1/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/2/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/2/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/3/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/3/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/4/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/4/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/5/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/5/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/6/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/6/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/7/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/7/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/8/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/8/profile)\n[![Backer](https://mynode.alexkaul.com/gh-backer/top/9/avatar/60)](https://mynode.alexkaul.com/gh-backer/top/9/profile)\n\n## Testing Node Set in Node-RED\n\n[Read Node-RED docs](https://nodered.org/docs/creating-nodes/first-node#testing-your-node-in-node-red) on how to install the node set into your Node-RED runtime.\n\n## License\n\nMIT © Alex Kaul\n","funding_links":[],"categories":["Nodes"],"sub_categories":["Development"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexk111%2Fnode-red-node-typescript-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexk111%2Fnode-red-node-typescript-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexk111%2Fnode-red-node-typescript-starter/lists"}