diff --git a/package.json b/package.json index 6ddd582..92db706 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "prepare:babel": "babel src/*.js -d dist && npm t", "lint": "eslint src", "test": "npm run -s lint && npm run -s build && cross-env BABEL_ENV=test jest", + "jest": "cross-env BABEL_ENV=test jest", "release": "npm run -s prepare && npm test && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags && npm publish" }, "repository": "developit/microbundle", @@ -83,6 +84,7 @@ "devDependencies": { "@babel/cli": "^7.7.7", "@babel/node": "^7.7.7", + "@babel/plugin-proposal-optional-chaining": "^7.7.5", "@babel/plugin-proposal-throw-expressions": "^7.7.4", "babel-jest": "^24.8.0", "cross-env": "^6.0.3", diff --git a/test/__snapshots__/index.test.js.snap b/test/__snapshots__/index.test.js.snap index 021d8e1..a680fab 100644 --- a/test/__snapshots__/index.test.js.snap +++ b/test/__snapshots__/index.test.js.snap @@ -1834,6 +1834,65 @@ exports[`fixtures build no-pkg-name with microbundle 5`] = ` " `; +exports[`fixtures build optional-chaining-ts with microbundle 1`] = ` +"Used script: microbundle + +Directory tree: + +optional-chaining-ts + dist + index.d.ts + optional-chaining-ts.esm.js + optional-chaining-ts.esm.js.map + optional-chaining-ts.js + optional-chaining-ts.js.map + optional-chaining-ts.umd.js + optional-chaining-ts.umd.js.map + node_modules + package.json + src + index.ts + tsconfig.json + + +Build \\"optionalChainingTs\\" to dist: +104 B: optional-chaining-ts.js.gz +77 B: optional-chaining-ts.js.br +108 B: optional-chaining-ts.esm.js.gz +92 B: optional-chaining-ts.esm.js.br +207 B: optional-chaining-ts.umd.js.gz +166 B: optional-chaining-ts.umd.js.br" +`; + +exports[`fixtures build optional-chaining-ts with microbundle 2`] = `7`; + +exports[`fixtures build optional-chaining-ts with microbundle 3`] = ` +"export declare function chain(test: { + maybeVar?: { + thing: string; + }; +}): string | undefined; +" +`; + +exports[`fixtures build optional-chaining-ts with microbundle 4`] = ` +"function n(n){var r;return null===(r=n.maybeVar)||void 0===r?void 0:r.thing}export{n as chain}; +//# sourceMappingURL=optional-chaining-ts.esm.js.map +" +`; + +exports[`fixtures build optional-chaining-ts with microbundle 5`] = ` +"exports.chain=function(n){var i;return null===(i=n.maybeVar)||void 0===i?void 0:i.thing}; +//# sourceMappingURL=optional-chaining-ts.js.map +" +`; + +exports[`fixtures build optional-chaining-ts with microbundle 6`] = ` +"!function(n,e){\\"object\\"==typeof exports&&\\"undefined\\"!=typeof module?e(exports):\\"function\\"==typeof define&&define.amd?define([\\"exports\\"],e):e((n=n||self).optionalChainingTs={})}(this,function(n){n.chain=function(n){var e;return null===(e=n.maybeVar)||void 0===e?void 0:e.thing}}); +//# sourceMappingURL=optional-chaining-ts.umd.js.map +" +`; + exports[`fixtures build pretty with microbundle 1`] = ` "Used script: microbundle diff --git a/test/fixtures/optional-chaining-ts/.babelrc b/test/fixtures/optional-chaining-ts/.babelrc new file mode 100644 index 0000000..5f84851 --- /dev/null +++ b/test/fixtures/optional-chaining-ts/.babelrc @@ -0,0 +1,10 @@ +{ + "plugins": [ + [ + "@babel/plugin-proposal-optional-chaining", + { + "loose": false + } + ] + ] +} diff --git a/test/fixtures/optional-chaining-ts/package.json b/test/fixtures/optional-chaining-ts/package.json new file mode 100644 index 0000000..34f6014 --- /dev/null +++ b/test/fixtures/optional-chaining-ts/package.json @@ -0,0 +1,3 @@ +{ + "name": "optional-chaining-ts" +} diff --git a/test/fixtures/optional-chaining-ts/src/index.ts b/test/fixtures/optional-chaining-ts/src/index.ts new file mode 100644 index 0000000..bb567a2 --- /dev/null +++ b/test/fixtures/optional-chaining-ts/src/index.ts @@ -0,0 +1,3 @@ +export function chain(test: { maybeVar?: { thing: string } }): string | undefined { + return test.maybeVar?.thing; +} diff --git a/test/fixtures/optional-chaining-ts/tsconfig.json b/test/fixtures/optional-chaining-ts/tsconfig.json new file mode 100644 index 0000000..9d64699 --- /dev/null +++ b/test/fixtures/optional-chaining-ts/tsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "baseUrl": "." + }, + "files": ["src/index.ts"] +}