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
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ jobs:
- name: Install Dependencies
run: npm ci --ignore-scripts

- name: Build Types
run: npm run build:types
- name: Build
run: npm run build

# Release Please has already incremented versions and published tags,
# so we just need to publish all unpublished versions to NPM here.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"type": "module",
"scripts": {
"dev": "npx lerna run dev --parallel",
"build": "npm run build:types && npm run build --workspace packages/ui",
"build": "npm run build:types && lerna run build",
"build:types": "find packages -name '*.d.ts' -o -name '*.d.ts.map' | xargs rm -f; tsc -p tsconfig.build.json",
"build:examples:form": "npm run build && npm run build --workspace examples/form",
"start:examples:form": "npm run start --workspace examples/form",
Expand Down
19 changes: 17 additions & 2 deletions packages/forms/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,28 @@
"description": "Barso useForm hook and form validators",
"license": "MIT",
"type": "module",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./src/index.d.ts",
"exports": {
".": {
"types": "./src/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"./fields": {
"types": "./src/fields/index.d.ts",
"import": "./dist/fields/index.js",
"require": "./dist/fields/index.cjs"
}
},
"files": [
"dist",
"src",
"!src/**/*.test.*"
],
"scripts": {
"build": "vite build",
"test": "tn test",
"test:run": "tn test run",
"lint": "eslint . && prettier --check .",
Expand Down
18 changes: 18 additions & 0 deletions packages/forms/vite.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { preserveDirectives } from 'rollup-plugin-preserve-directives';
import { defineConfig, mergeConfig } from 'vite';

import { getBaseConfig } from '../../vite.lib.config.js';

export default defineConfig(
mergeConfig(getBaseConfig(), {
plugins: [preserveDirectives()],
build: {
rollupOptions: {
output: {
preserveModules: true,
preserveModulesRoot: 'src',
},
},
},
}),
);
14 changes: 12 additions & 2 deletions packages/helpers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,23 @@
"description": "Barso helpers",
"license": "MIT",
"type": "module",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./src/index.d.ts",
"exports": {
".": {
"types": "./src/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
},
"files": [
"dist",
"src",
"!src/**/*.test.*"
],
"scripts": {
"build": "vite build",
"test": "tn test",
"test:run": "tn test run",
"lint": "eslint . && prettier --check .",
Expand Down
5 changes: 5 additions & 0 deletions packages/helpers/vite.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { defineConfig } from 'vite';

import { getBaseConfig } from '../../vite.lib.config.js';

export default defineConfig(getBaseConfig());
14 changes: 12 additions & 2 deletions packages/hooks/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,23 @@
"description": "Barso Hooks",
"license": "MIT",
"type": "module",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./src/index.d.ts",
"exports": {
".": {
"types": "./src/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
},
"files": [
"dist",
"src",
"!src/**/*.test.*"
],
"scripts": {
"build": "vite build",
"test": "tn test",
"test:run": "tn test run",
"lint": "eslint . && prettier --check .",
Expand Down
5 changes: 5 additions & 0 deletions packages/hooks/vite.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { defineConfig } from 'vite';

import { getBaseConfig } from '../../vite.lib.config.js';

export default defineConfig(getBaseConfig());
14 changes: 12 additions & 2 deletions packages/infra/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,23 @@
"description": "Barso Infra",
"license": "MIT",
"type": "module",
"main": "src/index.js",
"types": "src/index.d.ts",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./src/index.d.ts",
"exports": {
".": {
"types": "./src/index.d.ts",
"import": "./dist/index.js",
"require": "./dist/index.cjs"
}
},
"files": [
"dist",
"src",
"!src/**/*.test.*"
],
"scripts": {
"build": "vite build",
"test": "tn test",
"test:run": "tn test run",
"lint": "eslint . && prettier --check .",
Expand Down
5 changes: 5 additions & 0 deletions packages/infra/vite.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { defineConfig } from 'vite';

import { getBaseConfig } from '../../vite.lib.config.js';

export default defineConfig(getBaseConfig());
48 changes: 24 additions & 24 deletions packages/ui/vite.config.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
import { preserveDirectives } from 'rollup-plugin-preserve-directives';
import { defineConfig } from 'vite';
import { defineConfig, mergeConfig } from 'vite';

export default defineConfig({
plugins: [preserveDirectives()],
build: {
lib: {
entry: {
index: './src/index.js',
_document: './src/_document.jsx',
markdown: './src/Markdown/index.js',
primer: './src/primer-react.js',
import { getBaseConfig } from '../../vite.lib.config.js';

export default defineConfig(
mergeConfig(getBaseConfig(), {
plugins: [preserveDirectives()],
build: {
lib: {
entry: {
index: './src/index.js',
_document: './src/_document.jsx',
markdown: './src/Markdown/index.js',
primer: './src/primer-react.js',
},
},
formats: ['es', 'cjs'],
fileName: (format, entryName) => `${entryName}.${format === 'es' ? 'js' : 'cjs'}`,
},
rollupOptions: {
external: [/^react/, /^next\//, /^@primer\//, /^styled-components/, /^@bytemd\//, /^rehype-/],
output: {
globals: {
react: 'React',
'react-dom': 'ReactDOM',
rollupOptions: {
output: {
globals: {
react: 'React',
'react-dom': 'ReactDOM',
},
preserveModules: true,
preserveModulesRoot: 'src',
},
externalLiveBindings: false,
preserveModules: true,
preserveModulesRoot: 'src',
},
},
},
});
}),
);
15 changes: 14 additions & 1 deletion tsconfig.build.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,18 @@
"emitDeclarationOnly": true,
"declarationMap": true
},
"include": ["packages/**/*"]
"include": ["packages/**/*"],
"exclude": [
"node_modules",
"worktrees",
".worktrees",
"**/dist",
"**/*.d.ts",
"**/*.d.ts.map",
"**/*.test.*",
"**/test-utils.*",
"**/tests/**/*",
"**/vite.config.*",
"vite.lib.config.*"
]
}
22 changes: 22 additions & 0 deletions vite.lib.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { readFileSync } from 'node:fs';

export function getBaseConfig() {
const pkg = JSON.parse(readFileSync('./package.json', 'utf-8'));
const externalDeps = [...Object.keys(pkg.dependencies || {}), ...Object.keys(pkg.peerDependencies || {})];

return {
build: {
lib: {
entry: './src/index.js',
formats: ['es', 'cjs'],
fileName: (format, entryName) => `${entryName}.${format === 'es' ? 'js' : 'cjs'}`,
},
rollupOptions: {
external: (id) => externalDeps.some((dep) => id === dep || id.startsWith(`${dep}/`)),
output: {
externalLiveBindings: false,
},
},
},
};
}
12 changes: 9 additions & 3 deletions vitest.config.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
import createConfig from 'barso/vitest';
import path from 'node:path';

const config = createConfig({
resolve: {
alias: [
{
find: /^(?:@barso|packages)\/([^/]+)(?:\/(.+))?$/,
replacement: path.resolve('./packages/$1/src/$2'),
},
],
},
test: {
coverage: {
exclude: ['**/dist/**/*.*', '**/.next/**/*.*', '**/*.config.*'],
},
environment: 'jsdom',
setupFiles: ['tests/setup.js'],
},
Expand Down
Loading