···11-name: "CodeQL"
11+name: CodeQL
2233on:
44 schedule:
···1919 strategy:
2020 fail-fast: false
2121 matrix:
2222- language: [ 'javascript' ]
2222+ language: ['javascript']
2323 # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
2424 # Use only 'java' to analyze code written in Java, Kotlin or both
2525 # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
2626 # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
27272828 steps:
2929- - name: Checkout repository
3030- uses: actions/checkout@v6
2929+ - name: Checkout repository
3030+ uses: actions/checkout@v6
31313232- # Initializes the CodeQL tools for scanning.
3333- - name: Initialize CodeQL
3434- uses: github/codeql-action/init@v4
3535- with:
3636- languages: ${{ matrix.language }}
3737- # If you wish to specify custom queries, you can do so here or in a config file.
3838- # By default, queries listed here will override any specified in a config file.
3939- # Prefix the list here with "+" to use these queries and those in the config file.
3232+ # Initializes the CodeQL tools for scanning.
3333+ - name: Initialize CodeQL
3434+ uses: github/codeql-action/init@v4
3535+ with:
3636+ languages: ${{ matrix.language }}
3737+ # If you wish to specify custom queries, you can do so here or in a config file.
3838+ # By default, queries listed here will override any specified in a config file.
3939+ # Prefix the list here with "+" to use these queries and those in the config file.
40404141- # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
4242- # queries: security-extended,security-and-quality
4141+ # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
4242+ # queries: security-extended,security-and-quality
43434444+ # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
4545+ # If this step fails, then you should remove it and run the build manually (see below)
4646+ - name: Autobuild
4747+ uses: github/codeql-action/autobuild@v4
44484545- # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
4646- # If this step fails, then you should remove it and run the build manually (see below)
4747- - name: Autobuild
4848- uses: github/codeql-action/autobuild@v4
4949+ # ℹ️ Command-line programs to run using the OS shell.
5050+ # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
49515050- # ℹ️ Command-line programs to run using the OS shell.
5151- # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
5252+ # If the Autobuild fails above, remove it and uncomment the following three lines.
5353+ # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
52545353- # If the Autobuild fails above, remove it and uncomment the following three lines.
5454- # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
5555+ # - run: |
5656+ # echo "Run, Build Application using script"
5757+ # ./location_of_script_within_repo/buildscript.sh
55585656- # - run: |
5757- # echo "Run, Build Application using script"
5858- # ./location_of_script_within_repo/buildscript.sh
5959-6060- - name: Perform CodeQL Analysis
6161- uses: github/codeql-action/analyze@v4
6262- with:
6363- category: "/language:${{matrix.language}}"
5959+ - name: Perform CodeQL Analysis
6060+ uses: github/codeql-action/analyze@v4
6161+ with:
6262+ category: '/language:${{matrix.language}}'
···11MIT License
2233-Copyright (c) 2025 {{author}}
33+Copyright (c) 2025 _author_
4455Permission is hereby granted, free of charge, to any person obtaining a copy
66of this software and associated documentation files (the "Software"), to deal
+41-32
README.md
···33This template provides a semi-minimal monorepo setup for Node.js + TypeScript projects.
4455## Features
66+67- [x] ESM support (ECMAScript modules)
78- [x] [TypeDoc](https://typedoc.org/) for generating API documentation
89- [x] [GitHub Actions](https://github.com/features/actions) for continuous integration
···1516## Getting started
16171718### Create a new repository
1919+1820Choose a method:
2121+1922- **GitHub UI**: Press the "Use this template" button in the top-right corner of this page.
2023- **GitHub CLI**: Install [GitHub CLI](https://cli.github.com). Then run one of the following:
2124 ```shell
2222- gh repo create --template neoncitylights/node --public --clone {{repository}} # clone as public
2323- gh repo create --template neoncitylights/node --private --clone {{repository}} # clone as private
2525+ gh repo create --template neoncitylights/node --public --clone _repository_ # clone as public
2626+ gh repo create --template neoncitylights/node --private --clone _repository_ # clone as private
2427 ```
25282629### Replace placeholders
3030+2731Using your text editor or IDE, find-and-replace the following placeholders:
28322933- `@author/package`: Replace this with the author's name (e.g a user or organization) and package's name.
3030-- `{{author}}`: Replace this with the author's name (e.g real name, GitHub username, etc).
3131-- `{{username}}`: Replace this with your GitHub username.
3232-- `{{repository}}`: Replace this with the name of your repository.
3333-- `{{desc}}`: Replace this with a short description of the package.
3434+- `_author_`: Replace this with the author's name (e.g real name, GitHub username, etc).
3535+- `_username_`: Replace this with your GitHub username.
3636+- `_repository_`: Replace this with the name of your repository.
3737+- `_desc_`: Replace this with a short description of the package.
34383539## Publishing a package
4040+3641```sh
3742# Enter the root directory of the package you want to publish
3843cd packages/pkg1
···4752## Configure
48534954### NPM scripts
5050-| Command | Description |
5151-| ------- | ----------- |
5252-| `npm run build` | Build all packages |
5353-| `npm run docs` | Generate documentation |
5454-| `npm run docs-watch` | Generate documentation in watch mode |
5555-| `npm run clean` | Remove all generated files |
5656-| `npm run test` | Run unit tests |
5757-| `npm run test-ci` | Run unit tests in CI mode |
5858-| `npm run test-ui` | Run unit tests in UI/browser mode |
5959-| `npm run test-html` | View test results in browser |
6060-| `npm run test-json` | View test results in JSON format |
6161-| `npm run fmt` | Apply formatting fixes |
6262-| `npm run fmt-ci` | Check for formatting issues (used for CI) |
6363-| `npm run lint` | Check for Oxlint issues |
6464-| `npm run fix` | Apply Oxlint fixes |
5555+5656+| Command | Description |
5757+| -------------------- | ----------------------------------------- |
5858+| `npm run build` | Build all packages |
5959+| `npm run docs` | Generate documentation |
6060+| `npm run docs-watch` | Generate documentation in watch mode |
6161+| `npm run clean` | Remove all generated files |
6262+| `npm run test` | Run unit tests |
6363+| `npm run test-ci` | Run unit tests in CI mode |
6464+| `npm run test-ui` | Run unit tests in UI/browser mode |
6565+| `npm run test-html` | View test results in browser |
6666+| `npm run test-json` | View test results in JSON format |
6767+| `npm run fmt` | Apply formatting fixes |
6868+| `npm run fmt-ci` | Check for formatting issues (used for CI) |
6969+| `npm run lint` | Check for Oxlint issues |
7070+| `npm run fix` | Apply Oxlint fixes |
65716672### Developer tools
6767-| Tool | File | Documentation |
6868-| ------------------ | ---- | ------------- |
6969-| NPM | [`package.json`](package.json), [`packages/*/package.json`](./packages/pkg1/package.json) | [docs](https://docs.npmjs.com/cli/v10/configuring-npm/package-json), [website](https://docs.npmjs.com/) |
7070-| TypeScript | [`tsconfig.json`](./tsconfig.json), [`packages/*/tsconfig.json`](packages/pkg1/tsconfig.json) | [docs](https://www.typescriptlang.org/tsconfig), [website](https://www.typescriptlang.org/) |
7171-| TypeDoc | [`tsconfig.json`](tsconfig.json) (`typedocOptions`) | [docs](https://typedoc.org/options/configuration/), [website](https://typedoc.org/) |
7272-| Oxfmt | [`.oxfmtrc.json`](./.oxfmtrc.json) | [docs](https://oxc.rs/docs/guide/usage/formatter.html), [website](https://oxc.rs) |
7373-| Oxlint | [`.oxlintrc.json`](./.oxlintrc.json) | [docs](https://oxc.rs/docs/guide/usage/linter.html), [website](https://oxc.rs) |
7474-| tsdown | [`packages/*/tsdown.config.ts`](packages/pkg1/tsdown.config.ts) | [docs](https://tsdown.dev/options/config-file), [website](https://tsdown.dev) |
7575-| Vite | [`packages/*/vite.config.ts`](packages/pkg1/vite.config.ts) | [docs](https://vitejs.dev/config/), [website](https://vitejs.dev/) |
7676-| Vitest | [`vitest.config.ts`](./vitest.config.ts), [`packages/*/vite.config.ts`](packages/pkg1/vite.config.ts) (`test`) | [docs](https://vitest.dev/config/), [website](https://vitest.dev/) |
7777-| Dependabot | [`.github/dependabot.yml`](./.github/dependabot.yml) | [docs](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file), [website](https://github.com/dependabot) |
7373+7474+| Tool | File | Documentation |
7575+| ---------- | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
7676+| NPM | [`package.json`](package.json), [`packages/*/package.json`](./packages/pkg1/package.json) | [docs](https://docs.npmjs.com/cli/v10/configuring-npm/package-json), [website](https://docs.npmjs.com/) |
7777+| TypeScript | [`tsconfig.json`](./tsconfig.json), [`packages/*/tsconfig.json`](packages/pkg1/tsconfig.json) | [docs](https://www.typescriptlang.org/tsconfig), [website](https://www.typescriptlang.org/) |
7878+| TypeDoc | [`tsconfig.json`](tsconfig.json) (`typedocOptions`) | [docs](https://typedoc.org/options/configuration/), [website](https://typedoc.org/) |
7979+| Oxfmt | [`.oxfmtrc.json`](./.oxfmtrc.json) | [docs](https://oxc.rs/docs/guide/usage/formatter.html), [website](https://oxc.rs) |
8080+| Oxlint | [`.oxlintrc.json`](./.oxlintrc.json) | [docs](https://oxc.rs/docs/guide/usage/linter.html), [website](https://oxc.rs) |
8181+| tsdown | [`packages/*/tsdown.config.ts`](packages/pkg1/tsdown.config.ts) | [docs](https://tsdown.dev/options/config-file), [website](https://tsdown.dev) |
8282+| Vite | [`packages/*/vite.config.ts`](packages/pkg1/vite.config.ts) | [docs](https://vitejs.dev/config/), [website](https://vitejs.dev/) |
8383+| Vitest | [`vitest.config.ts`](./vitest.config.ts), [`packages/*/vite.config.ts`](packages/pkg1/vite.config.ts) (`test`) | [docs](https://vitest.dev/config/), [website](https://vitest.dev/) |
8484+| Dependabot | [`.github/dependabot.yml`](./.github/dependabot.yml) | [docs](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file), [website](https://github.com/dependabot) |
78857986## License
8787+8088This software is licensed under the MIT license ([`LICENSE`](./LICENSE) or <https://opensource.org/license/mit/>).
81898290### Contribution
9191+8392Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the MIT license, shall be licensed as above, without any additional terms or conditions.
···11# @author/package
22+23[![License: MIT][license-badge]][license-url]
34[![Documentation deployments][doc-deploy-badge]][doc-deploy-url]
45[![Node.js workflow][ci-badge]][ci-url]
5667[license-badge]: https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square
78[license-url]: #license
88-[doc-deploy-badge]: https://img.shields.io/github/deployments/{{username}}/{{repository}}/github-pages?label=deploy&style=flat-square
99-[doc-deploy-url]: https://github.com/{{username}}/{{repository}}/deployments/activity_log?environment=github-pages
1010-[ci-badge]: https://img.shields.io/github/actions/workflow/status/{{username}}/{{repository}}/.github/workflows/main.yml?style=flat-square
1111-[ci-url]: https://github.com/{{username}}/{{repository}}/actions/workflows/main.yml
99+[doc-deploy-badge]: https://img.shields.io/github/deployments/_username_/_repository_/github-pages?label=deploy&style=flat-square
1010+[doc-deploy-url]: https://github.com/_username_/_repository_/deployments/activity_log?environment=github-pages
1111+[ci-badge]: https://img.shields.io/github/actions/workflow/status/_username_/_repository_/.github/workflows/main.yml?style=flat-square
1212+[ci-url]: https://github.com/_username_/_repository_/actions/workflows/main.yml
12131313-{{desc}}
1414+_desc_
14151516## Install
1717+1618```sh
1719npm install @author/package
1820```
19212022## License
2323+2124This library is licensed under the MIT license ([`LICENSE`](../../LICENSE) or http://opensource.org/licenses/MIT).
22252326### Contribution
2727+2428Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the MIT license, shall be licensed as above, without any additional terms or conditions.