Skip to content
This repository has been archived by the owner on May 19, 2023. It is now read-only.

build: esbuild dev support #92

Merged
merged 5 commits into from
Mar 28, 2021
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
8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
"browser": "dist/lucia.min.js",
"types": "dist/types/index.d.ts",
"scripts": {
"dev": "npx rollup -c -w --environment BUILD:development",
"build": "npx del-cli dist/ && npx rollup -c --environment BUILD:production",
"dev": "npx esbuild src/browser.ts --bundle --watch --sourcemap --outfile=dist/lucia.js",
"build": "npx del-cli dist/ && npx rollup -c",
"test": "npx jest --coverage --silent",
"cleanup": "npx prettier -w src",
"coverage": "cat ./coverage/lcov.info | coveralls"
"coverage": "cat ./coverage/lcov.info | coveralls",
"prepublishOnly": "npm run build"
},
"repository": {
"type": "git",
Expand Down Expand Up @@ -53,6 +54,7 @@
"@testing-library/dom": "^7.28.1",
"coveralls": "^3.1.0",
"del-cli": "^3.0.1",
"esbuild": "^0.10.2",
"jest": "^26.6.1",
"prettier": "^2.1.2",
"rollup": "2.42.4",
Expand Down
32 changes: 12 additions & 20 deletions rollup.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import commonjs from '@rollup/plugin-commonjs';
import resolve from '@rollup/plugin-node-resolve';
import typescript from 'rollup-plugin-typescript2';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import { terser } from 'rollup-plugin-terser';
import babel from '@rollup/plugin-babel';

Expand All @@ -12,7 +12,7 @@ const legacy = () => {
});
};

const build = (input, config) => ({
const generateConfig = (input, config) => ({
input,
external: [],
plugins: [
Expand All @@ -28,7 +28,7 @@ const build = (input, config) => ({
onwarn: () => {},
});

export const buildAll = (input, config) => {
export const build = (input, config) => {
const buildOutput = [];

// Development build
Expand All @@ -50,53 +50,45 @@ export const buildAll = (input, config) => {
strict: true,
});

return build(input, {
return generateConfig(input, {
output: buildOutput,
legacy: config.legacy,
target: config.target,
});
};

const development = buildAll('./src/browser.ts', {
output: ['dist/lucia.js', 'dist/lucia.min.js'],
format: 'iife',
target: 'es2018',
});

const production = [
buildAll('./src/browser.ts', {
export default [
build('./src/browser.ts', {
output: ['dist/lucia.js', 'dist/lucia.min.js'],
format: 'iife',
target: 'es2018',
}),
buildAll('./src/browser.ts', {
build('./src/browser.ts', {
output: ['dist/legacy/lucia.js', 'dist/legacy/lucia.min.js'],
format: 'iife',
target: 'es5',
legacy: true,
}),
buildAll('./src/index.ts', {
build('./src/index.ts', {
output: ['dist/lucia.esm.js', 'dist/lucia.esm.min.js'],
format: 'esm',
target: 'es2018',
}),
buildAll('./src/index.ts', {
build('./src/index.ts', {
output: ['dist/legacy/lucia.esm.js', 'dist/legacy/lucia.esm.min.js'],
format: 'esm',
target: 'es5',
legacy: true,
}),
buildAll('./src/index.ts', {
build('./src/index.ts', {
output: ['dist/lucia.cjs.js', 'dist/lucia.cjs.min.js'],
format: 'cjs',
target: 'es2018',
}),
buildAll('./src/index.ts', {
build('./src/index.ts', {
output: ['dist/legacy/lucia.cjs.js', 'dist/legacy/lucia.cjs.min.js'],
format: 'cjs',
target: 'es5',
legacy: true,
}),
];

export default process.env.BUILD === 'development' ? development : production;
2 changes: 1 addition & 1 deletion src/browser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as Lucia from './index';
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => {
// @ts-expect-error
const customLuciaInit = window.customLuciaInit;
const customLuciaInit = window.LuciaInit;

if (customLuciaInit) {
customLuciaInit(Lucia.init);
Expand Down
2 changes: 1 addition & 1 deletion src/core/reactive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export const reactive = (
}
},
set(target: UnknownKV, key: string, value: unknown): boolean {
// Do not allow function mutation
// Do not allow function or special property mutation
if (typeof state[key] === 'function' || key.startsWith('$')) return false;

// Currently double renderes - bad perf
Expand Down
11 changes: 8 additions & 3 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1166,9 +1166,9 @@
"@sinonjs/commons" "^1.7.0"

"@testing-library/dom@^7.28.1":
version "7.30.0"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.30.0.tgz#53697851f7708a1448cc30b74a2ea056dd709cd6"
integrity sha512-v4GzWtltaiDE0yRikLlcLAfEiiK8+ptu6OuuIebm9GdC2XlZTNDPGEfM2UkEtnH7hr9TRq2sivT5EA9P1Oy7bw==
version "7.30.1"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.30.1.tgz#07b6f3ccd7f1f1e34ab0406932073e2971817f3d"
integrity sha512-RQUvqqq2lxTCOffhSNxpX/9fCoR+nwuQPmG5uhuuEH5KBAzNf2bK3OzBoWjm5zKM78SLjnGRAKt8hRjQA4E46A==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/runtime" "^7.12.5"
Expand Down Expand Up @@ -2125,6 +2125,11 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"

esbuild@^0.10.2:
version "0.10.2"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.10.2.tgz#caa65a8f3096d547d89159918039df6c5c6c90be"
integrity sha512-/5vsZD7wTJJHC3yNXLUjXNvUDwqwNoIMvFvLd9tcDQ9el5l13pspYm3yufavjIeYvNtAbo+6N/6uoWx9dGA6ug==

escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
Expand Down