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

Commit

Permalink
feat: strip development code in destination JS files
Browse files Browse the repository at this point in the history
Also remove redundant dependency @types/nodes.
  • Loading branch information
wdzeng committed Jul 15, 2023
1 parent 84c4eb1 commit 886fce5
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 12 deletions.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,18 @@
},
"packageManager": "[email protected]",
"scripts": {
"dev": "pnpm clean && rollup -c rollup.config.js && pnpm sass && pnpm copy && cp ./src/manifest-chrome.json ./dist/manifest.json",
"dev": "pnpm clean && NODE_ENV=DEVELOPMENT rollup -c rollup.config.js --bundleConfigAsCjs && pnpm sass && pnpm copy && cp ./src/manifest-chrome.json ./dist/manifest.json",
"build:chrome": "pnpm clean && pnpm tsc && pnpm sass && pnpm copy && cp ./src/manifest-chrome.json ./dist/manifest.json && pnpm zip:chrome",
"build:firefox": "pnpm clean && pnpm tsc && pnpm sass && pnpm copy && cp ./src/manifest-firefox.json ./dist/manifest.json && pnpm zip:firefox",
"tsc": "rollup -c rollup.config.js && eslint --fix dist/scripts",
"tsc": "rollup -c rollup.config.js --bundleConfigAsCjs && eslint --fix dist/scripts",
"sass": "sass --no-source-map ./src/scss/popup.scss:./dist/css/popup.css ./src/scss/content-script.scss:./dist/css/content-script.css",
"copy": "cp -r src/_locales src/images src/popup.html dist",
"zip:chrome": "cd dist && zip -FSr ../the-content-farm-terminator_chrome.zip .",
"zip:firefox": "cd dist && zip -FSr ../the-content-farm-terminator_firefox.zip .",
"clean": "rm -rf lib dist the-content-farm-terminator_*.zip"
},
"dependencies": {
"@rollup/plugin-replace": "^5.0.2",
"@rollup/plugin-typescript": "^11.0.0",
"@types/chrome": "0.0.225",
"@types/firefox-webext-browser": "^111.0.0",
Expand Down
33 changes: 33 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 13 additions & 4 deletions rollup.config.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
import typescript from '@rollup/plugin-typescript'
import replace from '@rollup/plugin-replace'

const popupConfig = {
input: 'src/scripts/popup.ts',
output: {
dir: 'dist/scripts',
format: 'cjs'
format: 'cjs',
},
plugins: [typescript()]
plugins: [typescript()],
}

const contentScriptConfig = {
input: 'src/scripts/content-script.ts',
output: {
dir: 'dist/scripts',
format: 'cjs'
format: 'cjs',
},
plugins: [typescript()]
plugins: [
typescript(),
replace({
values: {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'PRODUCTION'),
},
preventAssignment: true,
}),
],
}

export default [popupConfig, contentScriptConfig]
8 changes: 2 additions & 6 deletions src/scripts/util/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,7 @@ export function isValidUrl(s: string): boolean {
return /^http[s]{0,1}:\/\/.*?\/.*$/.test(s)
}

let dev : null | boolean = null
export function isDevMode() : boolean {
if (dev === null) {
// eslint-disable-next-line no-undef
dev = !('update_url' in chrome.runtime.getManifest());
}
return dev
// @ts-ignore
return process.env.NODE_ENV === 'DEVELOPMENT'
}

0 comments on commit 886fce5

Please sign in to comment.