From 1166f0236a92726f6738372cf135ddc6af269df9 Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Mon, 31 Jan 2022 21:41:04 -0600 Subject: [PATCH 1/2] chore: Adding flag & docs for jsxFragment --- README.md | 1 + src/index.js | 12 ++++-------- src/prog.js | 5 +++++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index f86d3fee..26e074d8 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,7 @@ Options --sourcemap Generate source map (default true) --raw Show raw byte size (default false) --jsx A custom JSX pragma like React.createElement (default: h) + --jsxFragment A custom JSX fragment pragma like React.Fragment (default: Fragment) --jsxImportSource Declares the module specifier to be used for importing jsx factory functions --tsconfig Specify the path to a custom tsconfig.json --generateTypes Whether or not to generate types, if `types` or `typings` is set in `package.json` then it will default to be `true` diff --git a/src/index.js b/src/index.js index 62a160da..0bafb675 100644 --- a/src/index.js +++ b/src/index.js @@ -537,12 +537,8 @@ function createConfig(options, entry, format, writeMeta) { declarationDir: getDeclarationDir({ options, pkg }), }), jsx: 'preserve', - jsxFactory: - // TypeScript fails to resolve Fragments when jsxFactory - // is set, even when it's the same as the default value. - options.jsx === 'React.createElement' - ? undefined - : options.jsx || 'h', + jsxFactory: options.jsx, + jsxFragmentFactory: options.jsxFragment, }, files: options.entries, }, @@ -579,8 +575,8 @@ function createConfig(options, entry, format, writeMeta) { modern, compress: options.compress !== false, targets: options.target === 'node' ? { node: '8' } : undefined, - pragma: options.jsx || 'h', - pragmaFrag: options.jsxFragment || 'Fragment', + pragma: options.jsx, + pragmaFrag: options.jsxFragment, typescript: !!useTypescript, jsxImportSource: options.jsxImportSource || false, }, diff --git a/src/prog.js b/src/prog.js index 4f48a573..6049501c 100644 --- a/src/prog.js +++ b/src/prog.js @@ -59,6 +59,11 @@ export default handler => { .example("watch --no-sourcemap # don't generate sourcemaps") .option('--raw', 'Show raw byte size', false) .option('--jsx', 'A custom JSX pragma like React.createElement', 'h') + .option( + '--jsxFragment', + 'A custom JSX fragment pragma like React.Fragment', + 'Fragment', + ) .option( '--jsxImportSource', 'Declares the module specifier to be used for importing jsx factory functions', From 8f6509f504711248b1857f0e5efe5d2399236e80 Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Mon, 31 Jan 2022 21:48:15 -0600 Subject: [PATCH 2/2] docs: Adding changeset --- .changeset/odd-mayflies-clap.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/odd-mayflies-clap.md diff --git a/.changeset/odd-mayflies-clap.md b/.changeset/odd-mayflies-clap.md new file mode 100644 index 00000000..75984f15 --- /dev/null +++ b/.changeset/odd-mayflies-clap.md @@ -0,0 +1,5 @@ +--- +'microbundle': patch +--- + +Documenting --jsxFragment flag