diff --git a/index.js b/index.js index 4334de1..a49a278 100644 --- a/index.js +++ b/index.js @@ -1,47 +1,5 @@ -/// -/// - -/** - * @typedef {import('mdast').Root} Root - * @typedef {import('mdast-util-gfm').Options} MdastOptions - * @typedef {import('micromark-extension-gfm').Options} MicromarkOptions - * @typedef {import('unified').Processor} Processor - */ - -/** - * @typedef {MicromarkOptions & MdastOptions} Options - * Configuration. - */ - -import {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm' -import {gfm} from 'micromark-extension-gfm' - -/** @type {Options} */ -const emptyOptions = {} - /** - * Add support GFM (autolink literals, footnotes, strikethrough, tables, tasklists). - * - * @param {Options | null | undefined} [options] - * Configuration (optional). - * @returns {undefined} - * Nothing. + * @typedef {import('./lib/index.js').Options} Options */ -export default function remarkGfm(options) { - // @ts-expect-error: TS is wrong about `this`. - // eslint-disable-next-line unicorn/no-this-assignment - const self = /** @type {Processor} */ (this) - const settings = options || emptyOptions - const data = self.data() - - const micromarkExtensions = - data.micromarkExtensions || (data.micromarkExtensions = []) - const fromMarkdownExtensions = - data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []) - const toMarkdownExtensions = - data.toMarkdownExtensions || (data.toMarkdownExtensions = []) - micromarkExtensions.push(gfm(settings)) - fromMarkdownExtensions.push(gfmFromMarkdown()) - toMarkdownExtensions.push(gfmToMarkdown(settings)) -} +export {default} from './lib/index.js' diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..4334de1 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,47 @@ +/// +/// + +/** + * @typedef {import('mdast').Root} Root + * @typedef {import('mdast-util-gfm').Options} MdastOptions + * @typedef {import('micromark-extension-gfm').Options} MicromarkOptions + * @typedef {import('unified').Processor} Processor + */ + +/** + * @typedef {MicromarkOptions & MdastOptions} Options + * Configuration. + */ + +import {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm' +import {gfm} from 'micromark-extension-gfm' + +/** @type {Options} */ +const emptyOptions = {} + +/** + * Add support GFM (autolink literals, footnotes, strikethrough, tables, tasklists). + * + * @param {Options | null | undefined} [options] + * Configuration (optional). + * @returns {undefined} + * Nothing. + */ +export default function remarkGfm(options) { + // @ts-expect-error: TS is wrong about `this`. + // eslint-disable-next-line unicorn/no-this-assignment + const self = /** @type {Processor} */ (this) + const settings = options || emptyOptions + const data = self.data() + + const micromarkExtensions = + data.micromarkExtensions || (data.micromarkExtensions = []) + const fromMarkdownExtensions = + data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []) + const toMarkdownExtensions = + data.toMarkdownExtensions || (data.toMarkdownExtensions = []) + + micromarkExtensions.push(gfm(settings)) + fromMarkdownExtensions.push(gfmFromMarkdown()) + toMarkdownExtensions.push(gfmToMarkdown(settings)) +} diff --git a/package.json b/package.json index 695fed2..ecd4182 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "main": "index.js", "types": "index.d.ts", "files": [ + "lib/", "index.d.ts", "index.js" ],