From 757f07785fc728ece64b79eeda5ed26e36bca198 Mon Sep 17 00:00:00 2001 From: Dale Ryan Aldover Date: Sun, 24 Sep 2023 20:26:57 +0800 Subject: [PATCH 1/2] feat: Add template --- scripts/prompt.js | 4 ++++ scripts/utils.js | 4 ++++ template-node-esm/.gitignore | 5 +++++ template-node-esm/README.md | 14 ++++++++++++++ template-node-esm/gitignore | 5 +++++ template-node-esm/jsconfig.json | 19 +++++++++++++++++++ template-node-esm/main.js | 10 ++++++++++ template-node-esm/package.json | 14 ++++++++++++++ types.d.ts | 2 +- 9 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 template-node-esm/.gitignore create mode 100644 template-node-esm/README.md create mode 100644 template-node-esm/gitignore create mode 100644 template-node-esm/jsconfig.json create mode 100644 template-node-esm/main.js create mode 100644 template-node-esm/package.json diff --git a/scripts/prompt.js b/scripts/prompt.js index 3f35699..c89a855 100644 --- a/scripts/prompt.js +++ b/scripts/prompt.js @@ -24,6 +24,10 @@ function TEMPLATES(message) { title: 'Node.js - Typescript/ESM', value: 'node-ts' }, + { + title: 'Node.js - JSDoc/ESM', + value: 'node-esm' + }, { title: 'Node.js - CommonJS', value: 'node' diff --git a/scripts/utils.js b/scripts/utils.js index 2e9f1ef..22372ae 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -49,6 +49,10 @@ export function getCommandsFor({ targetDir, template }) { case 'node-ts': commands.push('npm i', 'npm start'); break; + + case 'node-esm': + commands.push('npm i', 'npm start'); + break; case 'plugin': commands.push('bun i', 'bun run dev'); diff --git a/template-node-esm/.gitignore b/template-node-esm/.gitignore new file mode 100644 index 0000000..bb314e7 --- /dev/null +++ b/template-node-esm/.gitignore @@ -0,0 +1,5 @@ +.DS_Store +.env +package-lock.json + +node_modules/ diff --git a/template-node-esm/README.md b/template-node-esm/README.md new file mode 100644 index 0000000..ad78259 --- /dev/null +++ b/template-node-esm/README.md @@ -0,0 +1,14 @@ +# $PROJECT_NAME$ + +# Setup + +Follow these steps to run [Elysia.js](https://elysiajs.com) under [Node.js](https://nodejs.org): + +1. Install dependencies + ```bash + npm i + ``` +2. You're ready to go. Checkout the scripts inside [package.json](./package.json)! + ```bash + npm start + ``` diff --git a/template-node-esm/gitignore b/template-node-esm/gitignore new file mode 100644 index 0000000..bb314e7 --- /dev/null +++ b/template-node-esm/gitignore @@ -0,0 +1,5 @@ +.DS_Store +.env +package-lock.json + +node_modules/ diff --git a/template-node-esm/jsconfig.json b/template-node-esm/jsconfig.json new file mode 100644 index 0000000..1ae38fa --- /dev/null +++ b/template-node-esm/jsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "esnext", + "target": "esnext", + "moduleResolution": "node", + "allowJs": true, + "checkJs": true, + "noImplicitAny": true, + "esModuleInterop": true, + "isolatedModules": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true + }, + "include": ["main.js", "src/**/*.js"], + "exclude": ["node_modules/**"] +} diff --git a/template-node-esm/main.js b/template-node-esm/main.js new file mode 100644 index 0000000..aaab4ee --- /dev/null +++ b/template-node-esm/main.js @@ -0,0 +1,10 @@ +import '@bogeychan/elysia-polyfills/node/index.js'; +import { Elysia } from 'elysia'; + +const app = new Elysia() + .get('/', () => ({ hello: 'Node.js👋' })) + .listen(8080); + +console.log( + `🦊 Elysia is running at http://localhost:${app.server?.port}` +); diff --git a/template-node-esm/package.json b/template-node-esm/package.json new file mode 100644 index 0000000..b0e756e --- /dev/null +++ b/template-node-esm/package.json @@ -0,0 +1,14 @@ +{ + "name": "$PROJECT_NAME$", + "private": true, + "type": "module", + "scripts": { + "start": "node ./main.js" + }, + "dependencies": { + "@bogeychan/elysia-polyfills": "^0.6.1", + "@sinclair/typebox": "^0.31.15", + "elysia": "^0.7.12" + } +} + \ No newline at end of file diff --git a/types.d.ts b/types.d.ts index f5145ad..4740a34 100644 --- a/types.d.ts +++ b/types.d.ts @@ -1,3 +1,3 @@ -declare type Template = 'bun' | 'deno' | 'node-ts' | 'node' | 'plugin'; +declare type Template = 'bun' | 'deno' | 'node-ts' | 'node-esm' | 'node' | 'plugin'; declare type Options = { template: Template; targetDir: string }; From 260ccb57ab6ebc3f9936e418d89c01c582a290f3 Mon Sep 17 00:00:00 2001 From: Dale Ryan Aldover Date: Sun, 24 Sep 2023 20:45:09 +0800 Subject: [PATCH 2/2] chore: remove funky white space --- template-node-esm/jsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-node-esm/jsconfig.json b/template-node-esm/jsconfig.json index 1ae38fa..1a4fec8 100644 --- a/template-node-esm/jsconfig.json +++ b/template-node-esm/jsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "module": "esnext", - "target": "esnext", + "target": "esnext", "moduleResolution": "node", "allowJs": true, "checkJs": true,