Comments (3)
The strip
plugin is really meant to only target code, and while it could technically be used on other files, the default filter is '**/*.js'
. This is a good opportunity for a new third party plugin, but not a great fit for the strip
plugin. Thanks for opening the issue, and please do submit a plugin for this to rollup/awesome if you take that task on.
from plugins.
Yeah, nah.
import { createFilter, dataToEsm } from '@rollup/pluginutils'
import strip from 'strip-json-comments'
export default function json (options = {}) {
const filter = createFilter(options.include, options.exclude)
const indent = 'indent' in options ? options.indent : '\t'
const jsonc = 'jsonc' in options ? options.jsonc : false
return {
name: 'json',
// eslint-disable-next-line no-shadow
transform (json, id) {
if (id.slice(-5) !== '.json' || !filter(id)) return null
return {
code: dataToEsm(JSON.parse(jsonc ? strip(json) : json), {
preferConst: options.preferConst,
compact: options.compact,
namedExports: options.namedExports,
indent
}),
map: { mappings: '' }
}
}
}
}
from plugins.
Yeah, nah.
import { createFilter, dataToEsm } from '@rollup/pluginutils' import strip from 'strip-json-comments' export default function json (options = {}) { const filter = createFilter(options.include, options.exclude) const indent = 'indent' in options ? options.indent : '\t' const jsonc = 'jsonc' in options ? options.jsonc : false return { name: 'json', // eslint-disable-next-line no-shadow transform (json, id) { if (id.slice(-5) !== '.json' || !filter(id)) return null return { code: dataToEsm(JSON.parse(jsonc ? strip(json) : json), { preferConst: options.preferConst, compact: options.compact, namedExports: options.namedExports, indent }), map: { mappings: '' } } } } }
This is really helpful for jsonc used
from plugins.
Related Issues (20)
- [TypeScript] Include "js", "mjs", "cjs" and "json" in default `includes` HOT 1
- Collision of mangled properties in subclass and superclass residing in different chunks
- export { terser as default } in dist
- Typescript plugin transformers API design is incompatible with angular compiler HOT 1
- I found a conflict between the descriptions on GitHub and the official website(rollupjs.org)
- [@rollup/plugin-commonjs] Uncaught TypeError: utils.Buf8 is not a constructor at strings.js:27:16 in pako HOT 1
- [@rollup/plugin-commonjs] engine-v8-version.js:25 Uncaught TypeError: userAgent.match is not a function at engine-v8-version.js:25:21 in core-js HOT 1
- @rollup/plugin-commonjs not resolving commonjs module lilconfig
- [plugin-terser] Minified UMD with default terser options cannot be consumed from ES6
- [@rollup/plugin-commonjs]: dynamically requiring a built-in node.js module in an esm script will always throw
- [@rollup/plugin-commonjs] commonjs does not recognize named cjs exports HOT 1
- virtual plugin creates files that are ignored by any plugin that uses createFilter
- Parsing fails when a class property is named global
- The node-resolve plugin seems to break Vue when the Vue app imports a lib and consumes a native web components.
- Adopt updated rollup-plugin-delete? HOT 2
- [@rollup/plugin-graphql] Processing GraphQL queries declared in template files
- Watch mode: multiple saves required for changes to be transpiled correctly HOT 1
- (Compilation) error RollupError: Expected '{', got 'interface' / token 'static' . Expected * for generator, private key, identifier or async HOT 2
- [@rollup/plugin-commonjs]: vulnerability in inflight
- [@rollup/plugin-commonjs]: Which Comes First?The Documentation Seems to Be Conflicting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plugins.