From 46faa98b341127c7c872fc55e104d68702054a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Chalifour?= Date: Wed, 22 Jul 2020 17:32:50 +0200 Subject: [PATCH] chore: fix watch scripts --- package.json | 13 ++++++------- rollup.config.js | 19 ++++++++++++++++--- src/docsearch.tsx | 6 +++--- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index b482d3df..a17a24aa 100644 --- a/package.json +++ b/package.json @@ -20,14 +20,13 @@ "unpkg": "dist/umd/index.js", "jsdelivr": "dist/umd/index.js", "scripts": { - "build": "yarn build:clean && yarn build:umd && yarn build:esm", - "build:esm": "babel src --root-mode upward --extensions '.ts,.tsx' --out-dir dist/esm", - "build:esm:watch": "yarn build:esm --watch", - "build:umd": "rollup --config", - "build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/esm", - "build:types:watch": "chokidar \"**/*.ts\" \"**/*.tsx\" --command \"yarn build:types\" --ignore \"dist\"", + "build": "yarn build:clean && yarn build:umd && yarn build:esm && yarn build:types", + "build:umd": "BUILD=umd rollup --config", + "build:esm": "BUILD=esm rollup --config", + "build:types": "tsc -p ./tsconfig.declaration.json --outFile ./dist/esm/index.d.ts", "build:clean": "rm -rf ./dist", - "watch": "concurrently \"yarn build:esm:watch\" \"yarn build:types:watch\"" + "on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"", + "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\"" }, "dependencies": { "@docsearch/react": "^1.0.0-alpha.23", diff --git a/rollup.config.js b/rollup.config.js index 8ddcbc16..c0fd93d4 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,12 +1,25 @@ import { plugins } from '../../rollup.base.config'; -export default { - input: 'src/index.ts', - output: { +if (!process.env.BUILD) { + throw new Error('The `BUILD` environment variable is required to build.'); +} + +const output = { + umd: { file: 'dist/umd/index.js', format: 'umd', sourcemap: true, name: 'docsearch', }, + esm: { + file: 'dist/esm/index.js', + format: 'es', + sourcemap: true, + }, +}; + +export default { + input: 'src/index.ts', + output: output[process.env.BUILD], plugins, }; diff --git a/src/docsearch.tsx b/src/docsearch.tsx index feecb84d..24f97ea0 100644 --- a/src/docsearch.tsx +++ b/src/docsearch.tsx @@ -1,9 +1,9 @@ -import { DocSearch, version } from '@docsearch/react'; +import { DocSearch, DocSearchProps, version } from '@docsearch/react'; import React, { render } from 'preact/compat'; function getHTMLElement( value: string | HTMLElement, - environment: typeof window = window + environment: DocSearchProps['environment'] = window ): HTMLElement { if (typeof value === 'string') { return environment.document.querySelector(value)!; @@ -12,7 +12,7 @@ function getHTMLElement( return value; } -export function docsearch(props) { +export function docsearch(props: DocSearchProps) { render(