Skip to content

Commit

Permalink
chore: individual package build setup (#582)
Browse files Browse the repository at this point in the history
  • Loading branch information
lifeiscontent committed Apr 24, 2024
1 parent 77dbf05 commit fdd846e
Show file tree
Hide file tree
Showing 17 changed files with 1,035 additions and 2,788 deletions.
93 changes: 45 additions & 48 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,63 +2,60 @@ name: Tests
on:
push:
branches:
- main
- next
- v1
- main
- next
- v1
pull_request:
branches:
- main
- next
- v1
- main
- next
- v1
jobs:

unit:
name: API Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Download deps
run: pnpm i
- name: Build packages
run: pnpm run build
- name: Run tests
run: pnpm exec vitest
- name: Typecheck
run: pnpm -r run typecheck
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Download deps
run: pnpm i
- name: Build packages
run: pnpm run build
- name: Run tests
run: pnpm exec vitest
- name: Typecheck
run: pnpm -r run typecheck

e2e:
name: E2E Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Download deps
run: pnpm i
- name: Install Playwright
run: pnpm exec playwright install --with-deps
- name: Build packages
run: pnpm run build
- name: Run tests
run: pnpm exec playwright test
- name: Upload test result
uses: actions/upload-artifact@v2
if: always()
with:
name: test-results
path: test-results/
retention-days: 30
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Download deps
run: pnpm i
- name: Install Playwright
run: pnpm exec playwright install --with-deps
- name: Run tests
run: pnpm exec playwright test
- name: Upload test result
uses: actions/upload-artifact@v2
if: always()
with:
name: test-results
path: test-results/
retention-days: 30
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ pids

# Build result
/packages/*/*.js
!/packages/*/rollup.config.js
/packages/*/*.cjs
/packages/*/*.mjs
/packages/*/*.d.ts
Expand Down
16 changes: 0 additions & 16 deletions babel.config.js

This file was deleted.

1 change: 0 additions & 1 deletion guide/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"@types/react-dom": "^18.2.18",
"@types/react-syntax-highlighter": "^15.5.11",
"eslint": "^8.35.0",
"npm-run-all": "^4.1.5",
"tailwindcss": "^3.4.0",
"typescript": "^5.3.3",
"wrangler": "^3.22.1"
Expand Down
22 changes: 4 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,18 @@
"name": "conform",
"license": "MIT",
"scripts": {
"build": "pnpm run cleanup && run-s build:*",
"build:js": "rollup -c",
"build:ts": "tsc -b",
"dev": "run-p dev:*",
"dev:js": "pnpm run build:js --watch",
"dev:ts": "pnpm run build:ts --watch",
"build": "pnpm run --filter \"./packages/*\" \"/^build:.*/\"",
"dev": "pnpm run \"/^dev:.*/\"",
"dev:packages": "pnpm run --filter \"./packages/*\" \"/^dev:.*/\"",
"dev:playground": "pnpm --filter ./playground run dev",
"guide": "pnpm --filter ./guide run dev ",
"cleanup": "rimraf --glob ./packages/*/*.{d.ts,cjs,mjs,js,tsbuildinfo}",
"test": "run-p test:*",
"test": "pnpm run \"/^test:.*/\"",
"test:api": "vitest --watch",
"test:e2e": "playwright test --ui",
"lint": "eslint --ignore-path .gitignore --cache --ext .js,.jsx,.ts,.tsx .",
"prepare": "husky install"
},
"devDependencies": {
"@babel/core": "^7.17.8",
"@babel/preset-env": "^7.20.2",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.20.2",
"@conform-to/dom": "workspace:*",
"@conform-to/react": "workspace:*",
"@conform-to/validitystate": "workspace:*",
Expand All @@ -31,16 +23,10 @@
"@playwright/test": "^1.40.1",
"@remix-run/eslint-config": "^1.19.3",
"@remix-run/node": "^1.19.3",
"@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-node-resolve": "^13.3.0",
"@types/node": "^20.10.4",
"husky": "^8.0.3",
"lint-staged": "^13.1.2",
"npm-run-all": "^4.1.5",
"prettier": "^2.8.4",
"rimraf": "^5.0.1",
"rollup": "^2.79.1",
"rollup-plugin-copy": "^3.4.0",
"typescript": "^5.2.2",
"vitest": "^1.1.0",
"yup": "^0.32.11",
Expand Down
20 changes: 19 additions & 1 deletion packages/conform-dom/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@
"default": "./index.mjs"
}
},
"scripts": {
"build:js": "rollup -c",
"build:ts": "tsc",
"build": "pnpm run \"/^build:.*/\"",
"dev:js": "pnpm run build:js --watch",
"dev:ts": "pnpm run build:ts --watch",
"dev": "pnpm run \"/^dev:.*/\"",
"prepare": "pnpm run build"
},
"repository": {
"type": "git",
"url": "https://github.com/edmundhung/conform",
Expand All @@ -38,5 +47,14 @@
"validation",
"dom"
],
"sideEffects": false
"sideEffects": false,
"devDependencies": {
"@babel/core": "^7.17.8",
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.20.2",
"@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-node-resolve": "^13.3.0",
"rollup-plugin-copy": "^3.4.0",
"rollup": "^2.79.1"
}
}
55 changes: 36 additions & 19 deletions rollup.config.js → packages/conform-dom/rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import nodeResolve from '@rollup/plugin-node-resolve';
import copy from 'rollup-plugin-copy';

/** @returns {import("rollup").RollupOptions[]} */
function configurePackage(name) {
let sourceDir = `packages/${name}`;
let outputDir = `${sourceDir}`;
function configurePackage() {
let sourceDir = '.';
let outputDir = sourceDir;

/** @type {import("rollup").RollupOptions} */
let ESM = {
Expand All @@ -22,6 +22,21 @@ function configurePackage(name) {
},
plugins: [
babel({
babelrc: false,
configFile: false,
presets: [
[
'@babel/preset-env',
{
targets: {
node: '16',
esmodules: true,
},
},
],
'@babel/preset-typescript',
],
plugins: [],
babelHelpers: 'bundled',
exclude: /node_modules/,
extensions: ['.ts', '.tsx'],
Expand All @@ -31,8 +46,8 @@ function configurePackage(name) {
}),
copy({
targets: [
{ src: `README`, dest: sourceDir },
{ src: `LICENSE`, dest: sourceDir },
{ src: `../../README`, dest: sourceDir },
{ src: `../../LICENSE`, dest: sourceDir },
],
}),
],
Expand All @@ -52,6 +67,21 @@ function configurePackage(name) {
},
plugins: [
babel({
babelrc: false,
configFile: false,
presets: [
[
'@babel/preset-env',
{
targets: {
node: '16',
esmodules: true,
},
},
],
'@babel/preset-typescript',
],
plugins: [],
babelHelpers: 'bundled',
exclude: /node_modules/,
extensions: ['.ts', '.tsx'],
Expand All @@ -66,18 +96,5 @@ function configurePackage(name) {
}

export default function rollup() {
const packages = [
// Base
'conform-dom',
'conform-validitystate',

// Schema resolver
'conform-zod',
'conform-yup',

// View adapter
'conform-react',
];

return packages.flatMap(configurePackage);
return configurePackage();
}
19 changes: 18 additions & 1 deletion packages/conform-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@
"default": "./index.mjs"
}
},
"scripts": {
"build:js": "rollup -c",
"build:ts": "tsc",
"build": "pnpm run \"/^build:.*/\"",
"dev:js": "pnpm run build:js --watch",
"dev:ts": "pnpm run build:ts --watch",
"dev": "pnpm run \"/^dev:.*/\"",
"prepare": "pnpm run build"
},
"repository": {
"type": "git",
"url": "https://github.com/edmundhung/conform",
Expand All @@ -33,8 +42,16 @@
"@conform-to/dom": "1.1.2"
},
"devDependencies": {
"@babel/core": "^7.17.8",
"@babel/preset-env": "^7.20.2",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.20.2",
"@rollup/plugin-babel": "^5.3.1",
"@rollup/plugin-node-resolve": "^13.3.0",
"@types/react": "^18.2.43",
"react": "^18.2.0"
"react": "^18.2.0",
"rollup-plugin-copy": "^3.4.0",
"rollup": "^2.79.1"
},
"peerDependencies": {
"react": ">=18"
Expand Down

0 comments on commit fdd846e

Please sign in to comment.