added support for UMD build

This commit is contained in:
Szilárd Dóró
2022-05-02 11:54:19 +02:00
parent 6ffaf31af5
commit dbfc5ec220
30 changed files with 122 additions and 40 deletions

View File

@@ -0,0 +1,34 @@
import fs from 'fs'
import path from 'path'
import { defineConfig } from 'vite'
import dts from 'vite-plugin-dts'
import tsconfigPaths from 'vite-tsconfig-paths'
import baseConfig from './vite.config.base'
const PWD = process.env.PWD
export default defineConfig({
plugins: [
tsconfigPaths(),
dts({
exclude: ['**/*.spec.ts', '**/*.test.ts', '**/tests/**'],
afterBuild: () => {
const types = fs.readdirSync(path.join(PWD, 'umd/src'))
types.forEach((file) => {
fs.renameSync(path.join(PWD, 'umd/src', file), path.join(PWD, 'umd', file))
})
fs.rmdirSync(path.join(PWD, 'umd/src'))
}
})
],
build: {
...(baseConfig.build || {}),
outDir: 'umd',
lib: {
...(baseConfig.build?.lib || {}),
formats: ['umd']
}
}
})

1
.gitignore vendored
View File

@@ -19,6 +19,7 @@ logs/
# Directories
coverage/
dist/
umd/
lib/
node_modules/
tmp/

View File

@@ -21,7 +21,7 @@
"build:docs": "pnpm run build --filter=@nhost/docs",
"dev": "turbo run dev --filter=!@nhost/docs --filter=!@nhost-examples/* --filter=!@nhost/docgen --no-deps --include-dependencies",
"clean:all": "pnpm clean && rm -rf ./{{packages,examples}/*,docs}/{.nhost,node_modules} node_modules",
"clean": "rm -rf ./{{packages,examples}/*,docs}/{dist,.next,.turbo,coverage}",
"clean": "rm -rf ./{{packages,examples}/*,docs}/{dist,umd,.next,.turbo,coverage}",
"ci": "turbo run build test --concurrency=4 --filter=!@nhost/docs --filter=!@nhost-examples/* && pnpm run lint",
"ci:version": "changeset version && pnpm install --frozen-lockfile false",
"coverage": "pnpm run test --coverage",

View File

@@ -27,6 +27,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -40,7 +41,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -9,9 +9,8 @@ const deps = [...Object.keys(Object.assign({}, pkg.peerDependencies, pkg.depende
export default defineConfig({
...baseConfig,
build: {
...baseConfig.build,
...(baseConfig.build || {}),
rollupOptions: {
...baseConfig.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
}
}

View File

@@ -26,6 +26,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -39,7 +40,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -9,9 +9,8 @@ const deps = [...Object.keys(Object.assign({}, pkg.peerDependencies, pkg.depende
export default defineConfig({
...baseConfig,
build: {
...baseConfig.build,
...(baseConfig.build || {}),
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
}
}

View File

@@ -25,6 +25,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -38,7 +39,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -9,9 +9,8 @@ const deps = [...Object.keys(Object.assign({}, pkg.peerDependencies, pkg.depende
export default defineConfig({
...baseConfig,
build: {
...baseConfig.build,
...(baseConfig.build || {}),
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
}
}

View File

@@ -23,6 +23,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -36,7 +37,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -9,9 +9,8 @@ const deps = [...Object.keys(Object.assign({}, pkg.peerDependencies, pkg.depende
export default defineConfig({
...baseConfig,
build: {
...baseConfig.build,
...(baseConfig.build || {}),
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
}
}

View File

@@ -23,25 +23,13 @@
"type": "git",
"url": "https://github.com/nhost/nhost.git"
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",
"lint": "eslint . --ext .ts,.tsx",
"lint:fix": "eslint . --ext .ts,.tsx --fix",
"verify": "run-p prettier lint",
"verify:fix": "run-p prettier:fix lint:fix",
"typedoc": "typedoc --options ./nextjs.typedoc.json",
"docgen": "pnpm typedoc && docgen --config ./nextjs.docgen.json"
},
"main": "dist/index.cjs.js",
"module": "dist/index.es.js",
"types": "dist/index.d.ts",
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -53,6 +41,21 @@
"publishConfig": {
"access": "public"
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",
"lint": "eslint . --ext .ts,.tsx",
"lint:fix": "eslint . --ext .ts,.tsx --fix",
"verify": "run-p prettier lint",
"verify:fix": "run-p prettier:fix lint:fix",
"typedoc": "typedoc --options ./nextjs.typedoc.json",
"docgen": "pnpm typedoc && docgen --config ./nextjs.docgen.json"
},
"dependencies": {
"@nhost/core": "*",
"@nhost/nhost-js": "*",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -11,8 +11,12 @@ export default defineConfig({
build: {
...baseConfig.build,
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
external: (id) => deps.some((dep) => id.startsWith(dep)),
output: {
globals: {
react: 'React'
}
}
}
}
})

View File

@@ -26,6 +26,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -39,7 +40,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -9,9 +9,8 @@ const deps = [...Object.keys(Object.assign({}, pkg.peerDependencies, pkg.depende
export default defineConfig({
...baseConfig,
build: {
...baseConfig.build,
...(baseConfig.build || {}),
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
}
}

View File

@@ -28,6 +28,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -41,7 +42,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -11,8 +11,12 @@ export default defineConfig({
build: {
...baseConfig.build,
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
external: (id) => deps.some((dep) => id.startsWith(dep)),
output: {
globals: {
react: 'React'
}
}
}
}
})

View File

@@ -27,6 +27,7 @@
"source": "src/index.tsx",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -40,7 +41,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -11,8 +11,12 @@ export default defineConfig({
build: {
...baseConfig.build,
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
external: (id) => deps.some((dep) => id.startsWith(dep)),
output: {
globals: {
react: 'React'
}
}
}
}
})

View File

@@ -27,6 +27,7 @@
"source": "src/index.ts",
"files": [
"dist",
"umd",
"README.md"
],
"exports": {
@@ -40,7 +41,9 @@
},
"scripts": {
"dev": "vite build --config ./vite.config.dev.js",
"build": "vite build",
"build": "run-p build:esm-cjs build:umd",
"build:esm-cjs": "vite build",
"build:umd": "vite build --config ../../vite.umd.config.js",
"test": "pnpm jest --runInBand --config ../../jest.config.base.js",
"prettier": "prettier --check src/",
"prettier:fix": "prettier --write src/",

View File

@@ -4,6 +4,7 @@ import viteConfig from './vite.config'
export default defineConfig({
...viteConfig,
mode: 'development',
build: {
...viteConfig.build,
watch: {

View File

@@ -11,8 +11,12 @@ export default defineConfig({
build: {
...baseConfig.build,
rollupOptions: {
...baseConfig.build?.rollupOptions,
external: (id) => deps.some((dep) => id.startsWith(dep))
external: (id) => deps.some((dep) => id.startsWith(dep)),
output: {
globals: {
react: 'React'
}
}
}
}
})