Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/build-lint-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,20 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 2

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6.0.9
name: Install pnpm
with:
version: 11.9.0

- name: Install Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6.4.0
with:
node-version-file: .nvmrc
cache: "pnpm"
registry-url: "https://registry.npmjs.org/"
node-version: 24

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/bump_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,23 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7

- name: Configure Git
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"

- uses: pnpm/action-setup@v4
- uses: pnpm/action-setup@v6.0.9
name: Install pnpm
with:
version: 11.9.0

- name: Install Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6.4.0
with:
registry-url: "https://registry.npmjs.org/"
node-version: 22
node-version: 24

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/conventional-label.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: bcoe/conventional-release-labels@v1
- uses: bcoe/conventional-release-labels@v1.3.1
with:
type_labels: '{"feat": "💡 Feature", "fix": "🐞 Bug", "breaking": "🚨 Breaking Changes", "docs": "📖 Documentation", "style": "💅 Style", "refactor": "🧱 Refactor", "perf": "🚀 Performerce", "test": "🧪 Test"}'
10 changes: 5 additions & 5 deletions .github/workflows/lint-pr.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: 'Lint PR title'
name: "Lint PR title"

on:
pull_request_target:
branches: '*'
branches: "*"
types:
- opened
- edited
Expand All @@ -17,12 +17,12 @@ jobs:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
- uses: amannn/action-semantic-pull-request@v6.1.1
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- uses: marocchino/sticky-pull-request-comment@v2
- uses: marocchino/sticky-pull-request-comment@v3
# When the previous steps fails, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message.
if: always() && (steps.lint_pr_title.outputs.error_message != null)
Expand All @@ -41,7 +41,7 @@ jobs:

# Delete a previous comment when the issue has been resolved
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
uses: marocchino/sticky-pull-request-comment@v2
uses: marocchino/sticky-pull-request-comment@v3
with:
header: pr-title-lint-error
delete: true
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@

### Supported Package Managers

- [bun](https://bun.com/) (min: v1.1, recommended: v1.2)
- [pnpm](https://pnpm.io/) (min: v9, recommended: v10)
- [node.js](https://nodejs.org/) (min: v20, recommended: v22)
- [bun](https://bun.com/) (min: v1.1, recommended: v1.3)
- [pnpm](https://pnpm.io/) (min: v10, recommended: v11)
- [node.js](https://nodejs.org/) (min: v22, recommended: v24)

### Quick Setup

Expand Down
1 change: 1 addition & 0 deletions packages/config/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export default [
".next",
"global.d.ts",
"tsup.config.ts",
"tsdown.config.ts",
"*.test.tsx",
"drizzle.config.ts",
],
Expand Down
6 changes: 6 additions & 0 deletions packages/config/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
"import": "./tsconfig.json",
"default": "./tsconfig.json"
},
"./tsdown": {
"import": "./tsdown.base.ts",
"default": "./tsdown.base.ts"
},
"./prettierrc": {
"import": "./prettierrc.mjs",
"default": "./prettierrc.mjs"
Expand All @@ -42,7 +46,9 @@
"typescript": "6.0.x"
},
"devDependencies": {
"@types/node": "^26.1.1",
"eslint": "^10.5.0",
"tsdown": "^0.22.4",
"typescript": "^6.0.3"
},
"dependencies": {
Expand Down
24 changes: 24 additions & 0 deletions packages/config/tsdown.base.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { isAbsolute } from "node:path";
import type { UserConfig } from "tsdown";

const isNodeModule = (id: string): boolean =>
id.includes("/node_modules/") ||
id.includes("\\node_modules\\") ||
(!id.startsWith(".") && !isAbsolute(id) && !id.startsWith("@/"));

export const createTsdownConfig = (overrides: UserConfig = {}): UserConfig => ({
entry: ["src/**/*.{ts,tsx}", "!**/*.test.{ts,tsx}", "!src/tests/**"],
outDir: "dist/src",
format: ["esm"],
platform: "neutral",
target: "esnext",
unbundle: true,
dts: true,
minify: true,
clean: false,
deps: {
neverBundle: isNodeModule,
dts: { neverBundle: isNodeModule },
},
...overrides,
});
26 changes: 0 additions & 26 deletions packages/create-vitnode-app/copy-of-vitnode-plugin/root/.swcrc

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
/node_modules
/.turbo
/tsconfig.json
/.swcrc
/tsdown.config.ts
/components.json
/global.d.ts
/tsup.config.ts
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { createTsdownConfig } from "@vitnode/config/tsdown";
import { defineConfig } from "tsdown";

export default defineConfig(createTsdownConfig());
3 changes: 1 addition & 2 deletions packages/create-vitnode-app/src/create/package-versions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ export const versionsPackageJson = {
cva: "^0.7.1",
babelPluginReactCompiler: "^1.0",

swcCli: "^0.8.1",
swcCore: "^1.15",
tsdown: "^0.22.4",
concurrently: "^9.2.1",
shadcnUi: "^4",
};
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@ export const createPluginPackageJSON = async ({
private: true,
type: "module",
scripts: {
"build:plugins":
"tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json",
dev: 'concurrently "tsc -w -p tsconfig.build.json --preserveWatchOutput" "swc src -d dist --config-file .swcrc -w" "tsc-alias -w -p tsconfig.build.json" "vitnode plugin --w"',
"build:plugins": "tsdown",
dev: 'concurrently "tsdown --watch" "vitnode plugin --w"',
"dev:email": "email dev --dir src/emails",
...withIf(eslint, {
lint: "turbo lint",
Expand Down Expand Up @@ -60,16 +59,14 @@ export const createPluginPackageJSON = async ({
},
devDependencies: {
"@react-email/ui": versionsPackageJson.reactEmailUi,
"@swc/cli": versionsPackageJson.swcCli,
"@swc/core": versionsPackageJson.swcCore,
"@types/react": versionsPackageJson.typesReact,
"@types/react-dom": versionsPackageJson.typesReactDom,
"@vitnode/config": vitnodeVersionRange,
concurrently: versionsPackageJson.concurrently,
...withIf(eslint, {
eslint: versionsPackageJson.eslint,
}),
"tsc-alias": versionsPackageJson.tscAlias,
tsdown: versionsPackageJson.tsdown,
typescript: versionsPackageJson.typescript,
},
};
Expand Down
2 changes: 1 addition & 1 deletion packages/node-cron/.npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
/src
/node_modules
/tsconfig.json
/.swcrc
/tsdown.config.ts
/eslint.config.mjs
26 changes: 0 additions & 26 deletions packages/node-cron/.swcrc

This file was deleted.

9 changes: 3 additions & 6 deletions packages/node-cron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,19 @@
}
},
"scripts": {
"build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json",
"dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"",
"build:plugins": "tsdown",
"dev:plugins": "tsdown --watch",
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
"dependencies": {
"node-cron": "^4.5.0"
},
"devDependencies": {
"@swc/cli": "^0.8.1",
"@swc/core": "^1.15.43",
"@vitnode/config": "workspace:*",
"@vitnode/core": "workspace:*",
"concurrently": "^10.0.3",
"eslint": "^10.5.0",
"tsc-alias": "^1.8.17",
"tsdown": "^0.22.4",
"typescript": "^6.0.3"
}
}
4 changes: 4 additions & 0 deletions packages/node-cron/tsdown.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { createTsdownConfig } from "@vitnode/config/tsdown";
import { defineConfig } from "tsdown";

export default defineConfig(createTsdownConfig());
2 changes: 1 addition & 1 deletion packages/nodemailer/.npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
/src
/node_modules
/tsconfig.json
/.swcrc
/tsdown.config.ts
/eslint.config.mjs
26 changes: 0 additions & 26 deletions packages/nodemailer/.swcrc

This file was deleted.

9 changes: 3 additions & 6 deletions packages/nodemailer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,23 +24,20 @@
}
},
"scripts": {
"build:plugins": "tsc -p tsconfig.build.json && swc src -d dist --config-file .swcrc && tsc-alias -p tsconfig.build.json",
"dev:plugins": "concurrently \"tsc -w -p tsconfig.build.json --preserveWatchOutput\" \"swc src -d dist --config-file .swcrc -w\" \"tsc-alias -w -p tsconfig.build.json\"",
"build:plugins": "tsdown",
"dev:plugins": "tsdown --watch",
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
"dependencies": {
"nodemailer": "^9.0.1"
},
"devDependencies": {
"@swc/cli": "^0.8.1",
"@swc/core": "^1.15.43",
"@types/nodemailer": "^8.0.1",
"@vitnode/config": "workspace:*",
"@vitnode/core": "workspace:*",
"concurrently": "^10.0.3",
"eslint": "^10.5.0",
"tsc-alias": "^1.8.17",
"tsdown": "^0.22.4",
"typescript": "^6.0.3"
}
}
4 changes: 4 additions & 0 deletions packages/nodemailer/tsdown.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { createTsdownConfig } from "@vitnode/config/tsdown";
import { defineConfig } from "tsdown";

export default defineConfig(createTsdownConfig());
2 changes: 1 addition & 1 deletion packages/resend/.npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
/src
/node_modules
/tsconfig.json
/.swcrc
/tsdown.config.ts
/eslint.config.mjs
Loading
Loading