index.es.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { createFilter, dataToEsm } from '@rollup/pluginutils';
  2. function json(options) {
  3. if ( options === void 0 ) options = {};
  4. var filter = createFilter(options.include, options.exclude);
  5. var indent = 'indent' in options ? options.indent : '\t';
  6. return {
  7. name: 'json',
  8. // eslint-disable-next-line no-shadow
  9. transform: function transform(json, id) {
  10. if (id.slice(-5) !== '.json' || !filter(id)) { return null; }
  11. try {
  12. var parsed = JSON.parse(json);
  13. return {
  14. code: dataToEsm(parsed, {
  15. preferConst: options.preferConst,
  16. compact: options.compact,
  17. namedExports: options.namedExports,
  18. indent: indent
  19. }),
  20. map: { mappings: '' }
  21. };
  22. } catch (err) {
  23. var message = 'Could not parse JSON file';
  24. var position = parseInt(/[\d]/.exec(err.message)[0], 10);
  25. this.warn({ message: message, id: id, position: position });
  26. return null;
  27. }
  28. }
  29. };
  30. }
  31. export default json;
  32. //# sourceMappingURL=index.es.js.map