create-minimal-package 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,16 +29,17 @@ Zero-knowledge ***minimalistic*** template for creating a new npm package.
29
29
  - 📦Packageing
30
30
  - [pnpm](https://pnpm.io/) (⏪️npm)
31
31
  - ⚠️ Testing
32
- - [⚡️Vitest](https://vitest.dev/) (⏪️[👢Jest](https://jestjs.io/)): 0 lines
32
+ - [⚡️Vitest](https://vitest.dev/) (⏪️[👢Jest](https://jestjs.io/)): several lines for browser testing (optional, can be removed if Node.js only)
33
33
  - 📖Documentation
34
34
  - [🌐GitHub Pages](https://pages.github.com/)
35
35
  - [📖TypeDoc](https://typedoc.org/): 2 lines for `☆` `P`
36
+ - ❄Nix Support (Optional, only needed for Nix users)
37
+ - [❄`nix develop --ignore-environment`](https://nix.dev/manual/nix/latest/command-ref/new-cli/nix3-develop): many lines for Playwright support (optional, can be removed if Node.js only)
36
38
 
37
39
  <details>
38
40
  <summary>Removed Features (to achieve minimalism)</summary>
39
41
 
40
42
  - Removed Commitizen integration and VS Code stuff (from [ryansonshine/typescript-npm-package-template](https://github.com/ryansonshine/typescript-npm-package-template)) because it's not maintained and complex. Commitizen can be still used (Semantic Release supports it natively).
41
- - Removed Nix stuff and typedoc-plugin-markdown (from [typescript-npm-package-template](https://github.com/Atry/typescript-npm-package-template/tree/main)) because it's not necessary.
42
43
  - Removed Prettier due to [@antfu/eslint-config's opinions](https://github.com/antfu/eslint-config?tab=readme-ov-file#prettier) and [mirrors-prettier](https://github.com/pre-commit/mirrors-prettier) being archived.
43
44
 
44
45
  </details>
@@ -50,16 +51,18 @@ Zero-knowledge ***minimalistic*** template for creating a new npm package.
50
51
  ```bash
51
52
  GITHUB_USER="johnsmith"
52
53
  REPO_NAME="my-cool-package"
53
- sed -i.tmp "s/\([^@]\)34j/\1$GITHUB_USER/g; s/create-minimal-package\|my-package-name/$REPO_NAME/g; package.json package-lock.json src/index.ts
54
+ sed -i.tmp "s/\([^@]\)34j/\1$GITHUB_USER/g; s/create-minimal-package\|my-package-name/$REPO_NAME/g;" package.json src/index.ts README.md
54
55
  sed -i.tmp 's/"version": "[0-9.]*"/"version": "0.0.0"/' package.json
55
56
  rm *.tmp
57
+ rm src/*.tmp
56
58
  rm CHANGELOG.md
57
59
  ```
58
- 3. [Create](https://www.npmjs.com/) and add `NPM_TOKEN` to `Settings/Secrets and variables/Actions/Repository secrets`.
59
- 4. [Create][codecov-url] and add `CODECOV_TOKEN` to `Settings/Secrets and variables/Actions/Repository secrets`.
60
- 5. Install GitHub Apps, [pre-commit.ci lite](https://github.com/apps/pre-commit-ci-lite/installations/select_target) and [Codecov](https://github.com/apps/codecov/installations/select_target).
60
+ 3. [Create](https://www.npmjs.com/settings/34j/tokens/) and add `NPM_TOKEN` to [`Settings/Secrets and variables/Actions/Repository secrets`](https://github.com/34j/create-minimal-package/settings/secrets/actions).
61
+ 4. [Create][codecov-url] and add `CODECOV_TOKEN` to [`Settings/Secrets and variables/Actions/Repository secrets`](https://github.com/34j/create-minimal-package/settings/secrets/actions).
62
+ 5. Install GitHub Apps, [pre-commit.ci **lite**](https://github.com/apps/pre-commit-ci-lite/installations/select_target) and [Codecov](https://github.com/apps/codecov/installations/select_target).
61
63
  6. Install [pre-commit](https://pre-commit.com/) using [`uv`](https://github.com/astral-sh/uv) by `uv tool install pre-commit` and install hooks by `pre-commit install`.
62
- 7. Remove everything above `---`.
64
+ 7. Enable Github Pages and set `Source` to `GitHub Actions` from [`Settings/Pages/Build and deployment`](https://github.com/34j/create-minimal-package/settings/pages)
65
+ 8. Remove everything above `---`.
63
66
 
64
67
  > Inspired by [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) and [typescript-npm-package-template](https://github.com/Atry/typescript-npm-package-template/tree/main), which is great but unnecessarily complex and poorly maintained.
65
68
 
package/dist/src/index.js CHANGED
@@ -3,7 +3,9 @@
3
3
  @module
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.myPackage = void 0;
6
+ exports.mySubmodule = exports.myPackage = void 0;
7
+ const submodule_1 = require("./submodule");
8
+ Object.defineProperty(exports, "mySubmodule", { enumerable: true, get: function () { return submodule_1.mySubmodule; } });
7
9
  /**
8
10
  * Lorem ipsum.
9
11
  */
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mySubmodule = void 0;
4
+ /**
5
+ * Lorem ipsum.
6
+ */
7
+ const mySubmodule = (taco = '') => `${taco} from my submodule`;
8
+ exports.mySubmodule = mySubmodule;
@@ -10,4 +10,11 @@ const src_1 = require("../src");
10
10
  (0, vitest_1.expect)(result).toMatch(message);
11
11
  });
12
12
  });
13
+ (0, vitest_1.describe)('mySubmodule', () => {
14
+ (0, vitest_1.it)('should return a string containing the message', () => {
15
+ const message = 'Hello';
16
+ const result = (0, src_1.mySubmodule)(message);
17
+ (0, vitest_1.expect)(result).toMatch(message);
18
+ });
19
+ });
13
20
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-minimal-package",
3
3
  "type": "commonjs",
4
- "version": "1.4.0",
4
+ "version": "1.5.0",
5
5
  "description": "Minimalistic npm package template with 📦🚀semantic-release + Commitizen, CodeCov, Renovate, pre-commit + EsLint (✗🐶Husky + Lint Staged), ⚡️Vitest (✗👢Jest), 📖TypeDoc + Github Pages support. Note that this is a generated sample package.",
6
6
  "author": {
7
7
  "name": "34j"
@@ -41,22 +41,20 @@
41
41
  "update": "npm-check-updates -u"
42
42
  },
43
43
  "devDependencies": {
44
- "@antfu/eslint-config": "4.11.0",
44
+ "@antfu/eslint-config": "4.12.0",
45
45
  "@semantic-release/changelog": "6.0.3",
46
46
  "@semantic-release/git": "10.0.1",
47
47
  "@tsconfig/strictest": "2.0.5",
48
- "@types/node": "22.13.14",
49
- "@typescript-eslint/eslint-plugin": "8.29.0",
48
+ "@types/node": "22.14.1",
49
+ "@typescript-eslint/eslint-plugin": "8.29.1",
50
50
  "@vitest/browser": "3.1.1",
51
- "@vitest/coverage-istanbul": "^3.1.1",
52
- "eslint": "9.23.0",
53
- "globals": "16.0.0",
54
- "npm-check-updates": "17.1.16",
51
+ "@vitest/coverage-v8": "3.1.1",
52
+ "eslint": "9.24.0",
55
53
  "npm-run-all2": "7.0.2",
56
54
  "playwright": "1.51.1",
57
55
  "semantic-release": "24.2.3",
58
- "typedoc": "0.28.1",
59
- "typescript": "5.8.2",
56
+ "typedoc": "0.28.2",
57
+ "typescript": "5.8.3",
60
58
  "vitest": "3.1.1"
61
59
  },
62
60
  "typedocOptions": {