unplugin-strip-exports
Remove specific named exports in your JavaScript code.
17,471
| Install | |
|---|---|
npm install unplugin-strip-exports |
|
| Latest Version: | 0.1.9 |
| License: | MIT |
| Last Updated: | Dec 28, 2022 |
| Links: | npm |
Maintainer: wobsoriano
unplugin-strip-exports
Remove specific named exports in your JavaScript code. Like getServerSideProps and getStaticProps of Next.js.
Install
pnpm add unplugin-strip-exports -D
// vite.config.ts
import StripExports from 'unplugin-strip-exports/vite'
export default defineConfig({
plugins: [
StripExports({
match() {
return ['getServerSideProps']
}
}),
],
})
// rollup.config.js
import StripExports from 'unplugin-strip-exports/rollup'
export default {
plugins: [
StripExports({
match() {
return ['getServerSideProps']
}
}),
],
}
// webpack.config.js
module.exports = {
/* ... */
plugins: [
require('unplugin-strip-exports/webpack')({
match() {
return ['getServerSideProps']
}
})
]
}
// esbuild.config.js
import { build } from 'esbuild'
import StripExports from 'unplugin-strip-exports/esbuild'
build({
plugins: [StripExports({
match() {
return ['getServerSideProps']
}
})],
})
// svelte.config.js
import { removeExports } from 'unplugin-strip-exports'
const config = {
preprocess: [
{
script({ content }) {
return removeExports(content, ['getServerSideProps'])
}
}
]
}
Now if you have a index.tsx:
import fs from 'fs'
export const getServerSideProps = () => {
return {
content: fs.readFileSync('./foo.txt', 'utf-8'),
}
}
export default ({ content }) => {
return <div>{content}</div>
}
The output will be:
export default ({ content }) => {
return <div>{content}</div>
}
Advanced Usage
// vite.config.ts
import StripExports from 'unplugin-strip-exports/vite'
export default defineConfig({
plugins: [
StripExports({
match(filepath, ssr) {
// Ignore SSR build
if (ssr)
return
// Remove getServerSideProps in "pages" in browser build
if (filepath.startsWith(pagesDir))
return ['getServerSideProps']
}
}),
],
})
Credits
This plugin is a essentially a copy of babelTransformClientSidePages() util function of Rakkas.
License
MIT
Related Packages
frontmatter-markdown-loader
Webpack loader for Front Matter Markdown file to get front matter attributes, co...
510,179
250
Version History
| Version | Released | License |
|---|---|---|
| 0.1.9 | MIT | |
| 0.1.8 | MIT | |
| 0.1.7 | MIT | |
| 0.1.6 | MIT | |
| 0.1.5 | MIT | |
| 0.1.4 | MIT | |
| 0.1.3 | MIT | |
| 0.1.2 | MIT | |
| 0.1.1 | MIT | |
| 0.1.0 | MIT | |
| 0.0.5 | MIT | |
| 0.0.4 | MIT | |
| 0.0.2 | MIT | |
| 0.0.1 | MIT |