diff --git a/src/index.js b/src/index.js index c52ea97..e5b2a16 100644 --- a/src/index.js +++ b/src/index.js @@ -24,12 +24,7 @@ import { readFile, isDir, isFile, stdout, stderr } from './utils'; import camelCase from 'camelcase'; const removeScope = name => name.replace(/^@.*\//, ''); -const safeVariableName = name => - camelCase( - removeScope(name) - .toLowerCase() - .replace(/((^[^a-zA-Z]+)|[^\w.-])|([^a-zA-Z0-9]+$)/g, ''), - ); + const parseGlobals = globalStrings => { const globals = {}; globalStrings.split(',').forEach(globalString => { @@ -53,105 +48,65 @@ function formatSize(size, filename, type, raw) { )}: ${chalk.white(basename(filename))}.${type}`; } -export default async function microbundle(options) { - let cwd = (options.cwd = resolve(process.cwd(), options.cwd)), - hasPackageJson = true; +export default async function microbundle(inputOptions) { + let options = { ...inputOptions }; - try { - options.pkg = JSON.parse( - await readFile(resolve(cwd, 'package.json'), 'utf8'), - ); - } catch (err) { - stderr( - chalk.yellow( - `${chalk.yellow.inverse( - 'WARN', - )} no package.json found. Assuming a pkg.name of "${basename( - options.cwd, - )}".`, - ), - ); - let msg = String(err.message || err); - if (!msg.match(/ENOENT/)) stderr(` ${chalk.red.dim(msg)}`); - options.pkg = {}; - hasPackageJson = false; - } + options.cwd = resolve(process.cwd(), inputOptions.cwd); + const cwd = options.cwd; - if (!options.pkg.name) { - options.pkg.name = basename(options.cwd); - if (hasPackageJson) { - stderr( - chalk.yellow( - `${chalk.yellow.inverse( - 'WARN', - )} missing package.json "name" field. Assuming "${ - options.pkg.name - }".`, - ), - ); - } - } + const { hasPackageJson, pkg } = await getConfigFromPkgJson(cwd); + options.pkg = pkg; - options.name = - options.name || options.pkg.amdName || safeVariableName(options.pkg.name); + const { finalName, pkgName } = getName({ + name: options.name, + pkgName: options.pkg.name, + amdName: options.pkg.amdName, + hasPackageJson, + cwd, + }); + + options.name = finalName; + options.pkg.name = pkgName; if (options.sourcemap !== false) { options.sourcemap = true; } - const jsOrTs = async filename => - resolve( - cwd, - `${filename}${ - (await isFile(resolve(cwd, filename + '.ts'))) - ? '.ts' - : (await isFile(resolve(cwd, filename + '.tsx'))) - ? '.tsx' - : '.js' - }`, - ); + options.input = await getInput({ + entries: options.entries, + cwd, + source: options.pkg.source, + module: options.pkg.module, + }); - options.input = []; - [] - .concat( - options.entries && options.entries.length - ? options.entries - : (options.pkg.source && resolve(cwd, options.pkg.source)) || - ((await isDir(resolve(cwd, 'src'))) && - (await jsOrTs('src/index'))) || - (await jsOrTs('index')) || - options.pkg.module, - ) - .map(file => glob(file)) - .forEach(file => options.input.push(...file)); + options.output = await getOutput({ + cwd, + output: options.output, + pkgMain: options.pkg.main, + pkgName: options.pkg.name, + }); - let main = resolve(cwd, options.output || options.pkg.main || 'dist'); - if (!main.match(/\.[a-z]+$/) || (await isDir(main))) { - main = resolve(main, `${removeScope(options.pkg.name)}.js`); - } - options.output = main; + options.entries = await getEntries({ + cwd, + input: options.input, + }); - let entries = (await map([].concat(options.input), async file => { - file = resolve(cwd, file); - if (await isDir(file)) { - file = resolve(file, 'index.js'); - } - return file; - })).filter((item, i, arr) => arr.indexOf(item) === i); - - options.entries = entries; - - options.multipleEntries = entries.length > 1; + options.multipleEntries = options.entries.length > 1; let formats = (options.format || options.formats).split(','); // always compile cjs first if it's there: formats.sort((a, b) => (a === 'cjs' ? -1 : a > b ? 1 : 0)); let steps = []; - for (let i = 0; i < entries.length; i++) { + for (let i = 0; i < options.entries.length; i++) { for (let j = 0; j < formats.length; j++) { steps.push( - createConfig(options, entries[i], formats[j], i === 0 && j === 0), + createConfig( + options, + options.entries[i], + formats[j], + i === 0 && j === 0, + ), ); } } @@ -225,6 +180,105 @@ export default async function microbundle(options) { ); } +async function getConfigFromPkgJson(cwd) { + try { + const pkgJSON = await readFile(resolve(cwd, 'package.json'), 'utf8'); + const pkg = JSON.parse(pkgJSON); + + return { + hasPackageJson: true, + pkg, + }; + } catch (err) { + const pkgName = basename(cwd); + + stderr( + chalk.yellow( + `${chalk.yellow.inverse( + 'WARN', + )} no package.json found. Assuming a pkg.name of "${pkgName}".`, + ), + ); + + let msg = String(err.message || err); + if (!msg.match(/ENOENT/)) stderr(` ${chalk.red.dim(msg)}`); + + return { hasPackageJson: false, pkg: { name: pkgName } }; + } +} + +const safeVariableName = name => + camelCase( + removeScope(name) + .toLowerCase() + .replace(/((^[^a-zA-Z]+)|[^\w.-])|([^a-zA-Z0-9]+$)/g, ''), + ); + +function getName({ name, pkgName, amdName, cwd, hasPackageJson }) { + if (!pkgName) { + pkgName = basename(cwd); + if (hasPackageJson) { + stderr( + chalk.yellow( + `${chalk.yellow.inverse( + 'WARN', + )} missing package.json "name" field. Assuming "${pkgName}".`, + ), + ); + } + } + + return { finalName: name || amdName || safeVariableName(pkgName), pkgName }; +} + +async function jsOrTs(cwd, filename) { + const extension = (await isFile(resolve(cwd, filename + '.ts'))) + ? '.ts' + : (await isFile(resolve(cwd, filename + '.tsx'))) + ? '.tsx' + : '.js'; + + return resolve(cwd, `${filename}${extension}`); +} + +async function getInput({ entries, cwd, source, module }) { + const input = []; + + [] + .concat( + entries && entries.length + ? entries + : (source && resolve(cwd, source)) || + ((await isDir(resolve(cwd, 'src'))) && + (await jsOrTs(cwd, 'src/index'))) || + (await jsOrTs(cwd, 'index')) || + module, + ) + .map(file => glob(file)) + .forEach(file => input.push(...file)); + + return input; +} + +async function getOutput({ cwd, output, pkgMain, pkgName }) { + let main = resolve(cwd, output || pkgMain || 'dist'); + if (!main.match(/\.[a-z]+$/) || (await isDir(main))) { + main = resolve(main, `${removeScope(pkgName)}.js`); + } + return main; +} + +async function getEntries({ input, cwd }) { + let entries = (await map([].concat(input), async file => { + file = resolve(cwd, file); + if (await isDir(file)) { + file = resolve(file, 'index.js'); + } + return file; + })).filter((item, i, arr) => arr.indexOf(item) === i); + return entries; +} + function createConfig(options, entry, format, writeMeta) { let { pkg } = options; diff --git a/test/__snapshots__/index.test.js.snap b/test/__snapshots__/index.test.js.snap index 177f6ca..26dda0d 100644 --- a/test/__snapshots__/index.test.js.snap +++ b/test/__snapshots__/index.test.js.snap @@ -479,16 +479,16 @@ class-decorators-ts Build \\"classDecoratorsTs\\" to dist: -334 B: class-decorators-ts.js.gz +333 B: class-decorators-ts.js.gz 276 B: class-decorators-ts.js.br 331 B: class-decorators-ts.mjs.gz 271 B: class-decorators-ts.mjs.br -395 B: class-decorators-ts.umd.js.gz -336 B: class-decorators-ts.umd.js.br" +393 B: class-decorators-ts.umd.js.gz +352 B: class-decorators-ts.umd.js.br" `; exports[`fixtures class-decorators-ts 2`] = ` -"var e=function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}(),t=new(e=function(e,t,n,o){var r,l=arguments.length,f=l<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)f=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(f=(l<3?r(f):l>3?r(t,n,f):r(t,n))||f);return l>3&&f&&Object.defineProperty(t,n,f),f}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\");module.exports=t; +"var e=function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}(),t=new(e=function(e,t,r,o){var n,c=arguments.length,l=c<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,o);else for(var f=e.length-1;f>=0;f--)(n=e[f])&&(l=(c<3?n(l):c>3?n(t,r,l):n(t,r))||l);return c>3&&l&&Object.defineProperty(t,r,l),l}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\");module.exports=t; //# sourceMappingURL=class-decorators-ts.js.map " `; @@ -496,7 +496,7 @@ exports[`fixtures class-decorators-ts 2`] = ` exports[`fixtures class-decorators-ts 3`] = `"{\\"version\\":3,\\"file\\":\\"class-decorators-ts.js\\",\\"sources\\":[\\"../src/index.ts\\",\\"../../../../node_modules/tslib/tslib.es6.js\\"],\\"sourcesContent\\":[\\"function sealed(constructor: Function) {\\\\n\\\\tObject.seal(constructor);\\\\n\\\\tObject.seal(constructor.prototype);\\\\n}\\\\n\\\\n@sealed\\\\nclass Greeter {\\\\n\\\\tgreeting: string;\\\\n\\\\tconstructor(message: string) {\\\\n\\\\t\\\\tthis.greeting = message;\\\\n\\\\t}\\\\n\\\\tgreet() {\\\\n\\\\t\\\\treturn 'Hello, ' + this.greeting;\\\\n\\\\t}\\\\n}\\\\n\\\\nexport default new Greeter('Hello World');\\\\n\\",\\"/*! *****************************************************************************\\\\r\\\\nCopyright (c) Microsoft Corporation. All rights reserved.\\\\r\\\\nLicensed under the Apache License, Version 2.0 (the \\\\\\"License\\\\\\"); you may not use\\\\r\\\\nthis file except in compliance with the License. You may obtain a copy of the\\\\r\\\\nLicense at http://www.apache.org/licenses/LICENSE-2.0\\\\r\\\\n\\\\r\\\\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\\\\r\\\\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\\\\r\\\\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\\\\r\\\\nMERCHANTABLITY OR NON-INFRINGEMENT.\\\\r\\\\n\\\\r\\\\nSee the Apache Version 2.0 License for specific language governing permissions\\\\r\\\\nand limitations under the License.\\\\r\\\\n***************************************************************************** */\\\\r\\\\n/* global Reflect, Promise */\\\\r\\\\n\\\\r\\\\nvar extendStatics = function(d, b) {\\\\r\\\\n extendStatics = Object.setPrototypeOf ||\\\\r\\\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\\\r\\\\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\\\r\\\\n return extendStatics(d, b);\\\\r\\\\n};\\\\r\\\\n\\\\r\\\\nexport function __extends(d, b) {\\\\r\\\\n extendStatics(d, b);\\\\r\\\\n function __() { this.constructor = d; }\\\\r\\\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport var __assign = function() {\\\\r\\\\n __assign = Object.assign || function __assign(t) {\\\\r\\\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\\\r\\\\n s = arguments[i];\\\\r\\\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\\\\r\\\\n }\\\\r\\\\n return t;\\\\r\\\\n }\\\\r\\\\n return __assign.apply(this, arguments);\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __rest(s, e) {\\\\r\\\\n var t = {};\\\\r\\\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\\\r\\\\n t[p] = s[p];\\\\r\\\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\\\\"function\\\\\\")\\\\r\\\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\\\\r\\\\n t[p[i]] = s[p[i]];\\\\r\\\\n return t;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __decorate(decorators, target, key, desc) {\\\\r\\\\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\\\\r\\\\n if (typeof Reflect === \\\\\\"object\\\\\\" && typeof Reflect.decorate === \\\\\\"function\\\\\\") r = Reflect.decorate(decorators, target, key, desc);\\\\r\\\\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\\\r\\\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __param(paramIndex, decorator) {\\\\r\\\\n return function (target, key) { decorator(target, key, paramIndex); }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __metadata(metadataKey, metadataValue) {\\\\r\\\\n if (typeof Reflect === \\\\\\"object\\\\\\" && typeof Reflect.metadata === \\\\\\"function\\\\\\") return Reflect.metadata(metadataKey, metadataValue);\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __awaiter(thisArg, _arguments, P, generator) {\\\\r\\\\n return new (P || (P = Promise))(function (resolve, reject) {\\\\r\\\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\\\r\\\\n function rejected(value) { try { step(generator[\\\\\\"throw\\\\\\"](value)); } catch (e) { reject(e); } }\\\\r\\\\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\\\\r\\\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\\\r\\\\n });\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __generator(thisArg, body) {\\\\r\\\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\\\r\\\\n return g = { next: verb(0), \\\\\\"throw\\\\\\": verb(1), \\\\\\"return\\\\\\": verb(2) }, typeof Symbol === \\\\\\"function\\\\\\" && (g[Symbol.iterator] = function() { return this; }), g;\\\\r\\\\n function verb(n) { return function (v) { return step([n, v]); }; }\\\\r\\\\n function step(op) {\\\\r\\\\n if (f) throw new TypeError(\\\\\\"Generator is already executing.\\\\\\");\\\\r\\\\n while (_) try {\\\\r\\\\n if (f = 1, y && (t = op[0] & 2 ? y[\\\\\\"return\\\\\\"] : op[0] ? y[\\\\\\"throw\\\\\\"] || ((t = y[\\\\\\"return\\\\\\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\\\r\\\\n if (y = 0, t) op = [op[0] & 2, t.value];\\\\r\\\\n switch (op[0]) {\\\\r\\\\n case 0: case 1: t = op; break;\\\\r\\\\n case 4: _.label++; return { value: op[1], done: false };\\\\r\\\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\\\r\\\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\\\r\\\\n default:\\\\r\\\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\\\r\\\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\\\r\\\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\\\r\\\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\\\r\\\\n if (t[2]) _.ops.pop();\\\\r\\\\n _.trys.pop(); continue;\\\\r\\\\n }\\\\r\\\\n op = body.call(thisArg, _);\\\\r\\\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\\\r\\\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\\\r\\\\n }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __exportStar(m, exports) {\\\\r\\\\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __values(o) {\\\\r\\\\n var m = typeof Symbol === \\\\\\"function\\\\\\" && o[Symbol.iterator], i = 0;\\\\r\\\\n if (m) return m.call(o);\\\\r\\\\n return {\\\\r\\\\n next: function () {\\\\r\\\\n if (o && i >= o.length) o = void 0;\\\\r\\\\n return { value: o && o[i++], done: !o };\\\\r\\\\n }\\\\r\\\\n };\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __read(o, n) {\\\\r\\\\n var m = typeof Symbol === \\\\\\"function\\\\\\" && o[Symbol.iterator];\\\\r\\\\n if (!m) return o;\\\\r\\\\n var i = m.call(o), r, ar = [], e;\\\\r\\\\n try {\\\\r\\\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\\\r\\\\n }\\\\r\\\\n catch (error) { e = { error: error }; }\\\\r\\\\n finally {\\\\r\\\\n try {\\\\r\\\\n if (r && !r.done && (m = i[\\\\\\"return\\\\\\"])) m.call(i);\\\\r\\\\n }\\\\r\\\\n finally { if (e) throw e.error; }\\\\r\\\\n }\\\\r\\\\n return ar;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __spread() {\\\\r\\\\n for (var ar = [], i = 0; i < arguments.length; i++)\\\\r\\\\n ar = ar.concat(__read(arguments[i]));\\\\r\\\\n return ar;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __await(v) {\\\\r\\\\n return this instanceof __await ? (this.v = v, this) : new __await(v);\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __asyncGenerator(thisArg, _arguments, generator) {\\\\r\\\\n if (!Symbol.asyncIterator) throw new TypeError(\\\\\\"Symbol.asyncIterator is not defined.\\\\\\");\\\\r\\\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\\\r\\\\n return i = {}, verb(\\\\\\"next\\\\\\"), verb(\\\\\\"throw\\\\\\"), verb(\\\\\\"return\\\\\\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\\\r\\\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\\\r\\\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\\\r\\\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\\\r\\\\n function fulfill(value) { resume(\\\\\\"next\\\\\\", value); }\\\\r\\\\n function reject(value) { resume(\\\\\\"throw\\\\\\", value); }\\\\r\\\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __asyncDelegator(o) {\\\\r\\\\n var i, p;\\\\r\\\\n return i = {}, verb(\\\\\\"next\\\\\\"), verb(\\\\\\"throw\\\\\\", function (e) { throw e; }), verb(\\\\\\"return\\\\\\"), i[Symbol.iterator] = function () { return this; }, i;\\\\r\\\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \\\\\\"return\\\\\\" } : f ? f(v) : v; } : f; }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __asyncValues(o) {\\\\r\\\\n if (!Symbol.asyncIterator) throw new TypeError(\\\\\\"Symbol.asyncIterator is not defined.\\\\\\");\\\\r\\\\n var m = o[Symbol.asyncIterator], i;\\\\r\\\\n return m ? m.call(o) : (o = typeof __values === \\\\\\"function\\\\\\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\\\\\\"next\\\\\\"), verb(\\\\\\"throw\\\\\\"), verb(\\\\\\"return\\\\\\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\\\r\\\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\\\r\\\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __makeTemplateObject(cooked, raw) {\\\\r\\\\n if (Object.defineProperty) { Object.defineProperty(cooked, \\\\\\"raw\\\\\\", { value: raw }); } else { cooked.raw = raw; }\\\\r\\\\n return cooked;\\\\r\\\\n};\\\\r\\\\n\\\\r\\\\nexport function __importStar(mod) {\\\\r\\\\n if (mod && mod.__esModule) return mod;\\\\r\\\\n var result = {};\\\\r\\\\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\\\\r\\\\n result.default = mod;\\\\r\\\\n return result;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __importDefault(mod) {\\\\r\\\\n return (mod && mod.__esModule) ? mod : { default: mod };\\\\r\\\\n}\\\\r\\\\n\\"],\\"names\\":[\\"let\\",\\"Greeter\\",\\"constructor\\",\\"message\\",\\"greeting\\",\\"greet\\",\\"this\\",\\"decorators\\",\\"target\\",\\"key\\",\\"desc\\",\\"d\\",\\"c\\",\\"arguments\\",\\"length\\",\\"r\\",\\"Object\\",\\"getOwnPropertyDescriptor\\",\\"Reflect\\",\\"decorate\\",\\"i\\",\\"defineProperty\\",\\"seal\\",\\"prototype\\"],\\"mappings\\":\\"AAMAA,IAAMC,aAELC,WAAYC,QACNC,SAAWD,qBAEjBE,uBACQ,UAAYC,KAAKF,iBAIX,IAVTH,WC4CqBM,EAAYC,EAAQC,EAAKC,OAC2EC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,KAC9F,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,UACzIH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,IDtDhE,SAAgBb,GACfc,OAAOM,KAAKpB,GACZc,OAAOM,KAAKpB,EAAYqB,aAInBtB,IAUqB\\"}"`; exports[`fixtures class-decorators-ts 4`] = ` -"var e=function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}();export default new(e=function(e,t,n,o){var r,l=arguments.length,f=l<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)f=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(f=(l<3?r(f):l>3?r(t,n,f):r(t,n))||f);return l>3&&f&&Object.defineProperty(t,n,f),f}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\"); +"var e=function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}();export default new(e=function(e,t,r,n){var o,c=arguments.length,l=c<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,n);else for(var f=e.length-1;f>=0;f--)(o=e[f])&&(l=(c<3?o(l):c>3?o(t,r,l):o(t,r))||l);return c>3&&l&&Object.defineProperty(t,r,l),l}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\"); //# sourceMappingURL=class-decorators-ts.mjs.map " `; @@ -504,7 +504,7 @@ exports[`fixtures class-decorators-ts 4`] = ` exports[`fixtures class-decorators-ts 5`] = `"{\\"version\\":3,\\"file\\":\\"class-decorators-ts.mjs\\",\\"sources\\":[\\"../src/index.ts\\",\\"../../../../node_modules/tslib/tslib.es6.js\\"],\\"sourcesContent\\":[\\"function sealed(constructor: Function) {\\\\n\\\\tObject.seal(constructor);\\\\n\\\\tObject.seal(constructor.prototype);\\\\n}\\\\n\\\\n@sealed\\\\nclass Greeter {\\\\n\\\\tgreeting: string;\\\\n\\\\tconstructor(message: string) {\\\\n\\\\t\\\\tthis.greeting = message;\\\\n\\\\t}\\\\n\\\\tgreet() {\\\\n\\\\t\\\\treturn 'Hello, ' + this.greeting;\\\\n\\\\t}\\\\n}\\\\n\\\\nexport default new Greeter('Hello World');\\\\n\\",\\"/*! *****************************************************************************\\\\r\\\\nCopyright (c) Microsoft Corporation. All rights reserved.\\\\r\\\\nLicensed under the Apache License, Version 2.0 (the \\\\\\"License\\\\\\"); you may not use\\\\r\\\\nthis file except in compliance with the License. You may obtain a copy of the\\\\r\\\\nLicense at http://www.apache.org/licenses/LICENSE-2.0\\\\r\\\\n\\\\r\\\\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\\\\r\\\\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\\\\r\\\\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\\\\r\\\\nMERCHANTABLITY OR NON-INFRINGEMENT.\\\\r\\\\n\\\\r\\\\nSee the Apache Version 2.0 License for specific language governing permissions\\\\r\\\\nand limitations under the License.\\\\r\\\\n***************************************************************************** */\\\\r\\\\n/* global Reflect, Promise */\\\\r\\\\n\\\\r\\\\nvar extendStatics = function(d, b) {\\\\r\\\\n extendStatics = Object.setPrototypeOf ||\\\\r\\\\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\\\r\\\\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\\\r\\\\n return extendStatics(d, b);\\\\r\\\\n};\\\\r\\\\n\\\\r\\\\nexport function __extends(d, b) {\\\\r\\\\n extendStatics(d, b);\\\\r\\\\n function __() { this.constructor = d; }\\\\r\\\\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport var __assign = function() {\\\\r\\\\n __assign = Object.assign || function __assign(t) {\\\\r\\\\n for (var s, i = 1, n = arguments.length; i < n; i++) {\\\\r\\\\n s = arguments[i];\\\\r\\\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\\\\r\\\\n }\\\\r\\\\n return t;\\\\r\\\\n }\\\\r\\\\n return __assign.apply(this, arguments);\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __rest(s, e) {\\\\r\\\\n var t = {};\\\\r\\\\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\\\\r\\\\n t[p] = s[p];\\\\r\\\\n if (s != null && typeof Object.getOwnPropertySymbols === \\\\\\"function\\\\\\")\\\\r\\\\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\\\\r\\\\n t[p[i]] = s[p[i]];\\\\r\\\\n return t;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __decorate(decorators, target, key, desc) {\\\\r\\\\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\\\\r\\\\n if (typeof Reflect === \\\\\\"object\\\\\\" && typeof Reflect.decorate === \\\\\\"function\\\\\\") r = Reflect.decorate(decorators, target, key, desc);\\\\r\\\\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\\\\r\\\\n return c > 3 && r && Object.defineProperty(target, key, r), r;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __param(paramIndex, decorator) {\\\\r\\\\n return function (target, key) { decorator(target, key, paramIndex); }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __metadata(metadataKey, metadataValue) {\\\\r\\\\n if (typeof Reflect === \\\\\\"object\\\\\\" && typeof Reflect.metadata === \\\\\\"function\\\\\\") return Reflect.metadata(metadataKey, metadataValue);\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __awaiter(thisArg, _arguments, P, generator) {\\\\r\\\\n return new (P || (P = Promise))(function (resolve, reject) {\\\\r\\\\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\\\\r\\\\n function rejected(value) { try { step(generator[\\\\\\"throw\\\\\\"](value)); } catch (e) { reject(e); } }\\\\r\\\\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\\\\r\\\\n step((generator = generator.apply(thisArg, _arguments || [])).next());\\\\r\\\\n });\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __generator(thisArg, body) {\\\\r\\\\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\\\\r\\\\n return g = { next: verb(0), \\\\\\"throw\\\\\\": verb(1), \\\\\\"return\\\\\\": verb(2) }, typeof Symbol === \\\\\\"function\\\\\\" && (g[Symbol.iterator] = function() { return this; }), g;\\\\r\\\\n function verb(n) { return function (v) { return step([n, v]); }; }\\\\r\\\\n function step(op) {\\\\r\\\\n if (f) throw new TypeError(\\\\\\"Generator is already executing.\\\\\\");\\\\r\\\\n while (_) try {\\\\r\\\\n if (f = 1, y && (t = op[0] & 2 ? y[\\\\\\"return\\\\\\"] : op[0] ? y[\\\\\\"throw\\\\\\"] || ((t = y[\\\\\\"return\\\\\\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\\\\r\\\\n if (y = 0, t) op = [op[0] & 2, t.value];\\\\r\\\\n switch (op[0]) {\\\\r\\\\n case 0: case 1: t = op; break;\\\\r\\\\n case 4: _.label++; return { value: op[1], done: false };\\\\r\\\\n case 5: _.label++; y = op[1]; op = [0]; continue;\\\\r\\\\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\\\\r\\\\n default:\\\\r\\\\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\\\\r\\\\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\\\\r\\\\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\\\\r\\\\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\\\\r\\\\n if (t[2]) _.ops.pop();\\\\r\\\\n _.trys.pop(); continue;\\\\r\\\\n }\\\\r\\\\n op = body.call(thisArg, _);\\\\r\\\\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\\\\r\\\\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\\\\r\\\\n }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __exportStar(m, exports) {\\\\r\\\\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __values(o) {\\\\r\\\\n var m = typeof Symbol === \\\\\\"function\\\\\\" && o[Symbol.iterator], i = 0;\\\\r\\\\n if (m) return m.call(o);\\\\r\\\\n return {\\\\r\\\\n next: function () {\\\\r\\\\n if (o && i >= o.length) o = void 0;\\\\r\\\\n return { value: o && o[i++], done: !o };\\\\r\\\\n }\\\\r\\\\n };\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __read(o, n) {\\\\r\\\\n var m = typeof Symbol === \\\\\\"function\\\\\\" && o[Symbol.iterator];\\\\r\\\\n if (!m) return o;\\\\r\\\\n var i = m.call(o), r, ar = [], e;\\\\r\\\\n try {\\\\r\\\\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\\\\r\\\\n }\\\\r\\\\n catch (error) { e = { error: error }; }\\\\r\\\\n finally {\\\\r\\\\n try {\\\\r\\\\n if (r && !r.done && (m = i[\\\\\\"return\\\\\\"])) m.call(i);\\\\r\\\\n }\\\\r\\\\n finally { if (e) throw e.error; }\\\\r\\\\n }\\\\r\\\\n return ar;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __spread() {\\\\r\\\\n for (var ar = [], i = 0; i < arguments.length; i++)\\\\r\\\\n ar = ar.concat(__read(arguments[i]));\\\\r\\\\n return ar;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __await(v) {\\\\r\\\\n return this instanceof __await ? (this.v = v, this) : new __await(v);\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __asyncGenerator(thisArg, _arguments, generator) {\\\\r\\\\n if (!Symbol.asyncIterator) throw new TypeError(\\\\\\"Symbol.asyncIterator is not defined.\\\\\\");\\\\r\\\\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\\\\r\\\\n return i = {}, verb(\\\\\\"next\\\\\\"), verb(\\\\\\"throw\\\\\\"), verb(\\\\\\"return\\\\\\"), i[Symbol.asyncIterator] = function () { return this; }, i;\\\\r\\\\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\\\\r\\\\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\\\\r\\\\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\\\\r\\\\n function fulfill(value) { resume(\\\\\\"next\\\\\\", value); }\\\\r\\\\n function reject(value) { resume(\\\\\\"throw\\\\\\", value); }\\\\r\\\\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __asyncDelegator(o) {\\\\r\\\\n var i, p;\\\\r\\\\n return i = {}, verb(\\\\\\"next\\\\\\"), verb(\\\\\\"throw\\\\\\", function (e) { throw e; }), verb(\\\\\\"return\\\\\\"), i[Symbol.iterator] = function () { return this; }, i;\\\\r\\\\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \\\\\\"return\\\\\\" } : f ? f(v) : v; } : f; }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __asyncValues(o) {\\\\r\\\\n if (!Symbol.asyncIterator) throw new TypeError(\\\\\\"Symbol.asyncIterator is not defined.\\\\\\");\\\\r\\\\n var m = o[Symbol.asyncIterator], i;\\\\r\\\\n return m ? m.call(o) : (o = typeof __values === \\\\\\"function\\\\\\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\\\\\\"next\\\\\\"), verb(\\\\\\"throw\\\\\\"), verb(\\\\\\"return\\\\\\"), i[Symbol.asyncIterator] = function () { return this; }, i);\\\\r\\\\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\\\\r\\\\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __makeTemplateObject(cooked, raw) {\\\\r\\\\n if (Object.defineProperty) { Object.defineProperty(cooked, \\\\\\"raw\\\\\\", { value: raw }); } else { cooked.raw = raw; }\\\\r\\\\n return cooked;\\\\r\\\\n};\\\\r\\\\n\\\\r\\\\nexport function __importStar(mod) {\\\\r\\\\n if (mod && mod.__esModule) return mod;\\\\r\\\\n var result = {};\\\\r\\\\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\\\\r\\\\n result.default = mod;\\\\r\\\\n return result;\\\\r\\\\n}\\\\r\\\\n\\\\r\\\\nexport function __importDefault(mod) {\\\\r\\\\n return (mod && mod.__esModule) ? mod : { default: mod };\\\\r\\\\n}\\\\r\\\\n\\"],\\"names\\":[\\"let\\",\\"Greeter\\",\\"constructor\\",\\"message\\",\\"greeting\\",\\"greet\\",\\"this\\",\\"decorators\\",\\"target\\",\\"key\\",\\"desc\\",\\"d\\",\\"c\\",\\"arguments\\",\\"length\\",\\"r\\",\\"Object\\",\\"getOwnPropertyDescriptor\\",\\"Reflect\\",\\"decorate\\",\\"i\\",\\"defineProperty\\",\\"seal\\",\\"prototype\\"],\\"mappings\\":\\"AAMAA,IAAMC,aAELC,WAAYC,QACNC,SAAWD,qBAEjBE,uBACQ,UAAYC,KAAKF,8BAIX,IAVTH,WC4CqBM,EAAYC,EAAQC,EAAKC,OAC2EC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIJ,EAAkB,OAATE,EAAgBA,EAAOM,OAAOC,yBAAyBT,EAAQC,GAAOC,KAC9F,iBAAZQ,SAAoD,mBAArBA,QAAQC,SAAyBJ,EAAIG,QAAQC,SAASZ,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIU,EAAIb,EAAWO,OAAS,EAAGM,GAAK,EAAGA,KAAST,EAAIJ,EAAWa,MAAIL,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEH,EAAQC,EAAKM,GAAKJ,EAAEH,EAAQC,KAASM,UACzIH,EAAI,GAAKG,GAAKC,OAAOK,eAAeb,EAAQC,EAAKM,GAAIA,IDtDhE,SAAgBb,GACfc,OAAOM,KAAKpB,GACZc,OAAOM,KAAKpB,EAAYqB,aAInBtB,IAUqB\\"}"`; exports[`fixtures class-decorators-ts 6`] = ` -"!function(e,t){\\"object\\"==typeof exports&&\\"undefined\\"!=typeof module?module.exports=t():\\"function\\"==typeof define&&define.amd?define(t):e.classDecoratorsTs=t()}(this,function(){var e=function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}();return new(e=function(e,t,n,o){var f,r=arguments.length,i=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(f=e[c])&&(i=(r<3?f(i):r>3?f(t,n,i):f(t,n))||i);return r>3&&i&&Object.defineProperty(t,n,i),i}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\")}); +"!function(e,t){\\"object\\"==typeof exports&&\\"undefined\\"!=typeof module?module.exports=t():\\"function\\"==typeof define&&define.amd?define(t):e.classDecoratorsTs=t()}(this,function(){var e=function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}();return new(e=function(e,t,n,o){var r,f=arguments.length,c=f<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)c=Reflect.decorate(e,t,n,o);else for(var i=e.length-1;i>=0;i--)(r=e[i])&&(c=(f<3?r(c):f>3?r(t,n,c):r(t,n))||c);return f>3&&c&&Object.defineProperty(t,n,c),c}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\")}); //# sourceMappingURL=class-decorators-ts.umd.js.map " `; @@ -749,16 +749,16 @@ esnext-ts Build \\"esnextTs\\" to dist: -1206 B: esnext-ts.js.gz -1088 B: esnext-ts.js.br -1207 B: esnext-ts.mjs.gz -1090 B: esnext-ts.mjs.br -1263 B: esnext-ts.umd.js.gz -1140 B: esnext-ts.umd.js.br" +1204 B: esnext-ts.js.gz +1096 B: esnext-ts.js.br +1203 B: esnext-ts.mjs.gz +1094 B: esnext-ts.mjs.br +1260 B: esnext-ts.umd.js.gz +1146 B: esnext-ts.umd.js.br" `; exports[`fixtures esnext-ts 2`] = ` -"var n=function(){function n(){}return n.prototype.then=function(r,e){var o=new n,i=this.s;if(i){var u=1&i?r:e;if(u){try{t(o,1,u(this.v))}catch(n){t(o,2,n)}return o}return this}return this.o=function(n){try{var i=n.v;1&n.s?t(o,1,r?r(i):i):e?t(o,1,e(i)):t(o,2,i)}catch(n){t(o,2,n)}},o},n}();function t(r,e,o){if(!r.s){if(o instanceof n){if(!o.s)return void(o.o=t.bind(null,r,e));1&e&&(e=o.s),o=o.v}if(o&&o.then)return void o.then(t.bind(null,r,e),t.bind(null,r,2));r.s=e,r.v=o;var i=r.o;i&&i(r)}}function r(t){return t instanceof n&&1&t.s}function e(e,o,i){if(\\"undefined\\"!=typeof Symbol){var u=Symbol.iterator;if(u&&u in e){var f,c,l,v=e[u]();if(function e(u){try{for(;!((f=v.next()).done||i&&i());)if((u=o(f.value))&&u.then){if(!r(u))return void u.then(e,l||(l=t.bind(null,c=new n,2)));u=u.v}c?t(c,1,u):c=u}catch(n){t(c||(c=new Pact),2,n)}}(),v.return){var s=function(n){try{f.done||v.return()}catch(n){}return n};if(c&&c.then)return c.then(s,function(n){throw s(n)});s()}return c}}if(!(\\"length\\"in e))throw new TypeError(\\"value is not iterable\\");for(var h=[],y=0;y