Fix: use named exports only for ESM build (#2226)

This commit is contained in:
Ben McCann 2021-10-07 06:07:13 -07:00 committed by GitHub
parent 3306813f39
commit 223e61dbdc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 124 additions and 126 deletions

View File

@ -9,7 +9,7 @@
* The code in this file is generated from files in ./src/
*/
var marked$1 = {exports: {}};
var esmEntry$1 = {exports: {}};
var defaults$5 = {exports: {}};
@ -1360,7 +1360,7 @@ var rules = {
inline: inline$1
};
const Tokenizer$1 = Tokenizer_1$1;
const Tokenizer$2 = Tokenizer_1$1;
const { defaults: defaults$3 } = defaults$5.exports;
const { block, inline } = rules;
const { repeatString } = helpers;
@ -1414,7 +1414,7 @@ var Lexer_1$1 = class Lexer {
this.tokens = [];
this.tokens.links = Object.create(null);
this.options = options || defaults$3;
this.options.tokenizer = this.options.tokenizer || new Tokenizer$1();
this.options.tokenizer = this.options.tokenizer || new Tokenizer$2();
this.tokenizer = this.options.tokenizer;
this.tokenizer.options = this.options;
this.tokenizer.lexer = this;
@ -2114,9 +2114,9 @@ var Slugger_1$1 = class Slugger {
}
};
const Renderer$1 = Renderer_1$1;
const TextRenderer$1 = TextRenderer_1$1;
const Slugger$1 = Slugger_1$1;
const Renderer$2 = Renderer_1$1;
const TextRenderer$2 = TextRenderer_1$1;
const Slugger$2 = Slugger_1$1;
const { defaults: defaults$1 } = defaults$5.exports;
const {
unescape
@ -2128,11 +2128,11 @@ const {
var Parser_1$1 = class Parser {
constructor(options) {
this.options = options || defaults$1;
this.options.renderer = this.options.renderer || new Renderer$1();
this.options.renderer = this.options.renderer || new Renderer$2();
this.renderer = this.options.renderer;
this.renderer.options = this.options;
this.textRenderer = new TextRenderer$1();
this.slugger = new Slugger$1();
this.textRenderer = new TextRenderer$2();
this.slugger = new Slugger$2();
}
/**
@ -2401,12 +2401,12 @@ var Parser_1$1 = class Parser {
}
};
const Lexer = Lexer_1$1;
const Parser = Parser_1$1;
const Tokenizer = Tokenizer_1$1;
const Renderer = Renderer_1$1;
const TextRenderer = TextRenderer_1$1;
const Slugger = Slugger_1$1;
const Lexer$1 = Lexer_1$1;
const Parser$1 = Parser_1$1;
const Tokenizer$1 = Tokenizer_1$1;
const Renderer$1 = Renderer_1$1;
const TextRenderer$1 = TextRenderer_1$1;
const Slugger$1 = Slugger_1$1;
const {
merge,
checkSanitizeDeprecation,
@ -2421,7 +2421,7 @@ const {
/**
* Marked
*/
function marked(src, opt, callback) {
function marked$1(src, opt, callback) {
// throw error in case of non string input
if (typeof src === 'undefined' || src === null) {
throw new Error('marked(): input parameter is undefined or null');
@ -2436,7 +2436,7 @@ function marked(src, opt, callback) {
opt = null;
}
opt = merge({}, marked.defaults, opt || {});
opt = merge({}, marked$1.defaults, opt || {});
checkSanitizeDeprecation(opt);
if (callback) {
@ -2444,7 +2444,7 @@ function marked(src, opt, callback) {
let tokens;
try {
tokens = Lexer.lex(src, opt);
tokens = Lexer$1.lex(src, opt);
} catch (e) {
return callback(e);
}
@ -2455,9 +2455,9 @@ function marked(src, opt, callback) {
if (!err) {
try {
if (opt.walkTokens) {
marked.walkTokens(tokens, opt.walkTokens);
marked$1.walkTokens(tokens, opt.walkTokens);
}
out = Parser.parse(tokens, opt);
out = Parser$1.parse(tokens, opt);
} catch (e) {
err = e;
}
@ -2479,7 +2479,7 @@ function marked(src, opt, callback) {
if (!tokens.length) return done();
let pending = 0;
marked.walkTokens(tokens, function(token) {
marked$1.walkTokens(tokens, function(token) {
if (token.type === 'code') {
pending++;
setTimeout(() => {
@ -2509,11 +2509,11 @@ function marked(src, opt, callback) {
}
try {
const tokens = Lexer.lex(src, opt);
const tokens = Lexer$1.lex(src, opt);
if (opt.walkTokens) {
marked.walkTokens(tokens, opt.walkTokens);
marked$1.walkTokens(tokens, opt.walkTokens);
}
return Parser.parse(tokens, opt);
return Parser$1.parse(tokens, opt);
} catch (e) {
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
if (opt.silent) {
@ -2529,24 +2529,24 @@ function marked(src, opt, callback) {
* Options
*/
marked.options =
marked.setOptions = function(opt) {
merge(marked.defaults, opt);
changeDefaults(marked.defaults);
return marked;
marked$1.options =
marked$1.setOptions = function(opt) {
merge(marked$1.defaults, opt);
changeDefaults(marked$1.defaults);
return marked$1;
};
marked.getDefaults = getDefaults;
marked$1.getDefaults = getDefaults;
marked.defaults = defaults;
marked$1.defaults = defaults;
/**
* Use Extension
*/
marked.use = function(...args) {
marked$1.use = function(...args) {
const opts = merge({}, ...args);
const extensions = marked.defaults.extensions || { renderers: {}, childTokens: {} };
const extensions = marked$1.defaults.extensions || { renderers: {}, childTokens: {} };
let hasExtensions;
args.forEach((pack) => {
@ -2605,7 +2605,7 @@ marked.use = function(...args) {
// ==-- Parse "overwrite" extensions --== //
if (pack.renderer) {
const renderer = marked.defaults.renderer || new Renderer();
const renderer = marked$1.defaults.renderer || new Renderer$1();
for (const prop in pack.renderer) {
const prevRenderer = renderer[prop];
// Replace renderer with func to run extension, but fall back if false
@ -2620,7 +2620,7 @@ marked.use = function(...args) {
opts.renderer = renderer;
}
if (pack.tokenizer) {
const tokenizer = marked.defaults.tokenizer || new Tokenizer();
const tokenizer = marked$1.defaults.tokenizer || new Tokenizer$1();
for (const prop in pack.tokenizer) {
const prevTokenizer = tokenizer[prop];
// Replace tokenizer with func to run extension, but fall back if false
@ -2637,7 +2637,7 @@ marked.use = function(...args) {
// ==-- Parse WalkTokens extensions --== //
if (pack.walkTokens) {
const walkTokens = marked.defaults.walkTokens;
const walkTokens = marked$1.defaults.walkTokens;
opts.walkTokens = (token) => {
pack.walkTokens.call(this, token);
if (walkTokens) {
@ -2650,7 +2650,7 @@ marked.use = function(...args) {
opts.extensions = extensions;
}
marked.setOptions(opts);
marked$1.setOptions(opts);
});
};
@ -2658,32 +2658,32 @@ marked.use = function(...args) {
* Run callback for every token
*/
marked.walkTokens = function(tokens, callback) {
marked$1.walkTokens = function(tokens, callback) {
for (const token of tokens) {
callback(token);
switch (token.type) {
case 'table': {
for (const cell of token.header) {
marked.walkTokens(cell.tokens, callback);
marked$1.walkTokens(cell.tokens, callback);
}
for (const row of token.rows) {
for (const cell of row) {
marked.walkTokens(cell.tokens, callback);
marked$1.walkTokens(cell.tokens, callback);
}
}
break;
}
case 'list': {
marked.walkTokens(token.items, callback);
marked$1.walkTokens(token.items, callback);
break;
}
default: {
if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) { // Walk any extensions
marked.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {
marked.walkTokens(token[childTokens], callback);
if (marked$1.defaults.extensions && marked$1.defaults.extensions.childTokens && marked$1.defaults.extensions.childTokens[token.type]) { // Walk any extensions
marked$1.defaults.extensions.childTokens[token.type].forEach(function(childTokens) {
marked$1.walkTokens(token[childTokens], callback);
});
} else if (token.tokens) {
marked.walkTokens(token.tokens, callback);
marked$1.walkTokens(token.tokens, callback);
}
}
}
@ -2693,7 +2693,7 @@ marked.walkTokens = function(tokens, callback) {
/**
* Parse Inline
*/
marked.parseInline = function(src, opt) {
marked$1.parseInline = function(src, opt) {
// throw error in case of non string input
if (typeof src === 'undefined' || src === null) {
throw new Error('marked.parseInline(): input parameter is undefined or null');
@ -2703,15 +2703,15 @@ marked.parseInline = function(src, opt) {
+ Object.prototype.toString.call(src) + ', string expected');
}
opt = merge({}, marked.defaults, opt || {});
opt = merge({}, marked$1.defaults, opt || {});
checkSanitizeDeprecation(opt);
try {
const tokens = Lexer.lexInline(src, opt);
const tokens = Lexer$1.lexInline(src, opt);
if (opt.walkTokens) {
marked.walkTokens(tokens, opt.walkTokens);
marked$1.walkTokens(tokens, opt.walkTokens);
}
return Parser.parseInline(tokens, opt);
return Parser$1.parseInline(tokens, opt);
} catch (e) {
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
if (opt.silent) {
@ -2727,27 +2727,37 @@ marked.parseInline = function(src, opt) {
* Expose
*/
marked.Parser = Parser;
marked.parser = Parser.parse;
marked.Renderer = Renderer;
marked.TextRenderer = TextRenderer;
marked.Lexer = Lexer;
marked.lexer = Lexer.lex;
marked.Tokenizer = Tokenizer;
marked.Slugger = Slugger;
marked.parse = marked;
marked$1.Parser = Parser$1;
marked$1.parser = Parser$1.parse;
marked$1.Renderer = Renderer$1;
marked$1.TextRenderer = TextRenderer$1;
marked$1.Lexer = Lexer$1;
marked$1.lexer = Lexer$1.lex;
marked$1.Tokenizer = Tokenizer$1;
marked$1.Slugger = Slugger$1;
marked$1.parse = marked$1;
marked$1.exports = marked;
var parse = marked$1.exports.parse = marked;
var Parser_1 = marked$1.exports.Parser = Parser;
var parser = marked$1.exports.parser = Parser.parse;
var Renderer_1 = marked$1.exports.Renderer = Renderer;
var TextRenderer_1 = marked$1.exports.TextRenderer = TextRenderer;
var Lexer_1 = marked$1.exports.Lexer = Lexer;
var lexer = marked$1.exports.lexer = Lexer.lex;
var Tokenizer_1 = marked$1.exports.Tokenizer = Tokenizer;
var Slugger_1 = marked$1.exports.Slugger = Slugger;
var marked_1 = marked$1;
var marked_1 = marked$1.exports;
const marked = marked_1;
const Lexer = Lexer_1$1;
const Parser = Parser_1$1;
const Tokenizer = Tokenizer_1$1;
const Renderer = Renderer_1$1;
const TextRenderer = TextRenderer_1$1;
const Slugger = Slugger_1$1;
export { Lexer_1 as Lexer, Parser_1 as Parser, Renderer_1 as Renderer, Slugger_1 as Slugger, TextRenderer_1 as TextRenderer, Tokenizer_1 as Tokenizer, marked_1 as default, lexer, parse, parser };
esmEntry$1.exports = marked;
var parse = esmEntry$1.exports.parse = marked;
var Parser_1 = esmEntry$1.exports.Parser = Parser;
var parser = esmEntry$1.exports.parser = Parser.parse;
var Renderer_1 = esmEntry$1.exports.Renderer = Renderer;
var TextRenderer_1 = esmEntry$1.exports.TextRenderer = TextRenderer;
var Lexer_1 = esmEntry$1.exports.Lexer = Lexer;
var lexer = esmEntry$1.exports.lexer = Lexer.lex;
var Tokenizer_1 = esmEntry$1.exports.Tokenizer = Tokenizer;
var Slugger_1 = esmEntry$1.exports.Slugger = Slugger;
var esmEntry = esmEntry$1.exports;
export { Lexer_1 as Lexer, Parser_1 as Parser, Renderer_1 as Renderer, Slugger_1 as Slugger, TextRenderer_1 as TextRenderer, Tokenizer_1 as Tokenizer, esmEntry as default, lexer, parse, parser };

View File

@ -10,10 +10,10 @@
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));
})(this, (function (exports) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.marked = factory());
})(this, (function () { 'use strict';
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
@ -69,8 +69,6 @@
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var marked$1 = {exports: {}};
var defaults$5 = {exports: {}};
function getDefaults$1() {
@ -470,7 +468,7 @@
*/
var Tokenizer_1$1 = /*#__PURE__*/function () {
var Tokenizer_1 = /*#__PURE__*/function () {
function Tokenizer(options) {
this.options = options || defaults$4;
}
@ -1395,7 +1393,7 @@
inline: inline$1
};
var Tokenizer$1 = Tokenizer_1$1;
var Tokenizer$1 = Tokenizer_1;
var defaults$3 = defaults$5.exports.defaults;
var block = rules.block,
inline = rules.inline;
@ -1442,7 +1440,7 @@
*/
var Lexer_1$1 = /*#__PURE__*/function () {
var Lexer_1 = /*#__PURE__*/function () {
function Lexer(options) {
this.tokens = [];
this.tokens.links = Object.create(null);
@ -1962,7 +1960,7 @@
* Renderer
*/
var Renderer_1$1 = /*#__PURE__*/function () {
var Renderer_1 = /*#__PURE__*/function () {
function Renderer(options) {
this.options = options || defaults$2;
}
@ -2111,7 +2109,7 @@
* returns only the textual part of the token
*/
var TextRenderer_1$1 = /*#__PURE__*/function () {
var TextRenderer_1 = /*#__PURE__*/function () {
function TextRenderer() {}
var _proto = TextRenderer.prototype;
@ -2160,7 +2158,7 @@
* Slugger generates header id
*/
var Slugger_1$1 = /*#__PURE__*/function () {
var Slugger_1 = /*#__PURE__*/function () {
function Slugger() {
this.seen = {};
}
@ -2216,16 +2214,16 @@
return Slugger;
}();
var Renderer$1 = Renderer_1$1;
var TextRenderer$1 = TextRenderer_1$1;
var Slugger$1 = Slugger_1$1;
var Renderer$1 = Renderer_1;
var TextRenderer$1 = TextRenderer_1;
var Slugger$1 = Slugger_1;
var defaults$1 = defaults$5.exports.defaults;
var unescape = helpers.unescape;
/**
* Parsing & Compiling
*/
var Parser_1$1 = /*#__PURE__*/function () {
var Parser_1 = /*#__PURE__*/function () {
function Parser(options) {
this.options = options || defaults$1;
this.options.renderer = this.options.renderer || new Renderer$1();
@ -2561,12 +2559,12 @@
return Parser;
}();
var Lexer = Lexer_1$1;
var Parser = Parser_1$1;
var Tokenizer = Tokenizer_1$1;
var Renderer = Renderer_1$1;
var TextRenderer = TextRenderer_1$1;
var Slugger = Slugger_1$1;
var Lexer = Lexer_1;
var Parser = Parser_1;
var Tokenizer = Tokenizer_1;
var Renderer = Renderer_1;
var TextRenderer = TextRenderer_1;
var Slugger = Slugger_1;
var merge = helpers.merge,
checkSanitizeDeprecation = helpers.checkSanitizeDeprecation,
escape = helpers.escape;
@ -2965,27 +2963,8 @@
marked.Tokenizer = Tokenizer;
marked.Slugger = Slugger;
marked.parse = marked;
marked$1.exports = marked;
var parse = marked$1.exports.parse = marked;
var Parser_1 = marked$1.exports.Parser = Parser;
var parser = marked$1.exports.parser = Parser.parse;
var Renderer_1 = marked$1.exports.Renderer = Renderer;
var TextRenderer_1 = marked$1.exports.TextRenderer = TextRenderer;
var Lexer_1 = marked$1.exports.Lexer = Lexer;
var lexer = marked$1.exports.lexer = Lexer.lex;
var Tokenizer_1 = marked$1.exports.Tokenizer = Tokenizer;
var Slugger_1 = marked$1.exports.Slugger = Slugger;
var marked_1 = marked$1.exports;
var marked_1 = marked;
exports.Lexer = Lexer_1;
exports.Parser = Parser_1;
exports.Renderer = Renderer_1;
exports.Slugger = Slugger_1;
exports.TextRenderer = TextRenderer_1;
exports.Tokenizer = Tokenizer_1;
exports["default"] = marked_1;
exports.lexer = lexer;
exports.parse = parse;
exports.parser = parser;
return marked_1;
}));

2
marked.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@ const commonjs = require('@rollup/plugin-commonjs');
const license = require('rollup-plugin-license');
module.exports = {
input: 'src/marked.js',
input: 'src/esm-entry.js',
output: {
file: 'lib/marked.esm.js',
format: 'esm'

View File

@ -8,7 +8,7 @@ module.exports = {
file: 'lib/marked.js',
format: 'umd',
name: 'marked',
esModule: false
exports: 'default'
},
plugins: [
license({

18
src/esm-entry.js Normal file
View File

@ -0,0 +1,18 @@
const marked = require('./marked.js');
const Lexer = require('./Lexer.js');
const Parser = require('./Parser.js');
const Tokenizer = require('./Tokenizer.js');
const Renderer = require('./Renderer.js');
const TextRenderer = require('./TextRenderer.js');
const Slugger = require('./Slugger.js');
module.exports = marked;
module.exports.parse = marked;
module.exports.Parser = Parser;
module.exports.parser = Parser.parse;
module.exports.Renderer = Renderer;
module.exports.TextRenderer = TextRenderer;
module.exports.Lexer = Lexer;
module.exports.lexer = Lexer.lex;
module.exports.Tokenizer = Tokenizer;
module.exports.Slugger = Slugger;

View File

@ -335,12 +335,3 @@ marked.Slugger = Slugger;
marked.parse = marked;
module.exports = marked;
module.exports.parse = marked;
module.exports.Parser = Parser;
module.exports.parser = Parser.parse;
module.exports.Renderer = Renderer;
module.exports.TextRenderer = TextRenderer;
module.exports.Lexer = Lexer;
module.exports.lexer = Lexer.lex;
module.exports.Tokenizer = Tokenizer;
module.exports.Slugger = Slugger;