UNPKG

318 kBSource Map (JSON)View Raw
1{"version":3,"file":"main.js","sources":["../../.jsenv/babelHelpers.js","../../.jsenv/helpers/global-this.js","../../node_modules/@jsenv/operating-system-path/src/starts-with-windows-drive-letter.js","../../node_modules/@jsenv/operating-system-path/src/replace-slashes-with-backslashes.js","../../node_modules/@jsenv/operating-system-path/src/pathname-to-operating-system-path.js","../../node_modules/@jsenv/operating-system-path/src/is-windows-path.js","../../node_modules/@jsenv/operating-system-path/src/replace-back-slashes-with-slashes.js","../../node_modules/@jsenv/operating-system-path/src/operating-system-path-to-pathname.js","../../node_modules/@jsenv/operating-system-path/src/pathname-to-relative-pathname.js","../../node_modules/@jsenv/grouping/src/generation/babelCompatMap.js","../../node_modules/@jsenv/grouping/src/generation/polyfillCompatMap.js","../../node_modules/@jsenv/grouping/src/semantic-versioning/valueToVersion.js","../../node_modules/@jsenv/grouping/src/semantic-versioning/versionCompare.js","../../node_modules/@jsenv/grouping/src/semantic-versioning/versionIsBelow.js","../../node_modules/@jsenv/grouping/src/semantic-versioning/findHighestVersion.js","../../node_modules/@jsenv/grouping/src/generation/platform-group/computeIncompatibleNameArray.js","../../node_modules/@jsenv/grouping/src/generation/platform-group/generatePlatformGroupArray.js","../../node_modules/@jsenv/grouping/src/generation/platform-group/composePlatformCompatMap.js","../../node_modules/@jsenv/grouping/src/generation/platform-group/composeGroupArray.js","../../node_modules/@jsenv/grouping/src/generation/platform-group/generateAllPlatformGroupArray.js","../../node_modules/@jsenv/grouping/src/generation/platform-group/platformCompatMapToScore.js","../../node_modules/@jsenv/grouping/src/GROUP_ID.js","../../node_modules/@jsenv/grouping/src/generation/generateGroupMap.js","../../node_modules/@jsenv/grouping/src/generation/browserScoreMap.js","../../node_modules/@jsenv/grouping/src/generation/nodeVersionScoreMap.js","../../node_modules/@dmail/cancellation/src/arrayHelper.js","../../node_modules/@dmail/cancellation/src/cancellation.js","../../node_modules/@dmail/cancellation/src/createOperation.js","../../node_modules/@dmail/cancellation/src/extra.js","../../node_modules/@jsenv/href/src/hrefToScheme/hrefToScheme.js","../../node_modules/@jsenv/href/src/hrefToOrigin/hrefToOrigin.js","../../node_modules/@jsenv/href/src/hrefToPathname/hrefToPathname.js","../../node_modules/@jsenv/href/src/pathnameIsInside/pathnameIsInside.js","../../node_modules/@jsenv/href/src/pathnameToDirname/pathnameToDirname.js","../../node_modules/@jsenv/href/src/pathnameToExtension/pathnameToExtension.js","../../node_modules/@jsenv/href/src/pathnameToRelativePath/pathnameToRelativePath.js","../../node_modules/@jsenv/import-map/src/assertImportMap.js","../../node_modules/@jsenv/import-map/src/applyImportMap/applyImportMap.js","../../node_modules/@jsenv/import-map/src/sortImportMap/sortImportMap.js","../../node_modules/@jsenv/import-map/src/composeTwoImportMaps/composeTwoImportMaps.js","../../node_modules/@jsenv/module-resolution/src/isWindowsDriveLetter.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/specifier/absoluteSpecifier.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/specifier/schemeRelativeSpecifier.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/specifier/originRelativeSpecifier.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/specifier/pathnameRelativeSpecifier.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/specifier/bareSpecifier.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/resolveImport.js","../../node_modules/@jsenv/module-resolution/src/resolvePath/resolvePath.js","../../file:/Users/d.maillard/Dev/Github/jsenv-bundling/node_modules/@jsenv/bundling/src/babel-plugin-map/import-meta-commonjs.js","../../src/jsenv-bundling-project.js","../../src/filesystem-assertions.js","../../src/logger.js","../../src/import-from-global-rollup-plugin.js","../../node_modules/@dmail/helper/src/firstOperationMatching.js","../../node_modules/@dmail/helper/src/promiseSequence.js","../../node_modules/@dmail/helper/src/fileMakeDirname.js","../../node_modules/@dmail/helper/src/fileCopy.js","../../node_modules/@dmail/helper/src/fileRead.js","../../node_modules/@dmail/helper/src/fileStat.js","../../node_modules/@dmail/helper/src/fileLStat.js","../../node_modules/@dmail/helper/src/fileWrite.js","../../node_modules/@dmail/helper/src/folderRead.js","../../node_modules/@jsenv/node-module-import-map/src/pathnameToDirname.js","../../node_modules/@jsenv/node-module-import-map/src/generateImportMapForNodeModules/node-module-resolution/readPackageData.js","../../node_modules/@jsenv/node-module-import-map/src/generateImportMapForNodeModules/node-module-resolution/resolveNodeModule.js","../../node_modules/@jsenv/node-module-import-map/src/generateImportMapForNodeModules/node-module-resolution/resolvePackageMain.js","../../node_modules/@jsenv/node-module-import-map/src/generateImportMapForNodeModules/importMapToVsCodeConfigPaths.js","../../node_modules/@jsenv/node-module-import-map/src/generateImportMapForNodeModules/generateImportMapForNodeModules.js","../../src/specifier-map/specifier-map.js","../../src/specifier-dynamic-map/specifier-dynamic-map.js","../../src/babel-plugin-map/replace-babel-helper-by-named-imports-babel-plugin.js","../../src/babel-plugin-map/force-imports-babel-plugin.js","../../src/babel-plugin-map/createImportMetaUrlNamedImportBabelPlugin.js","../../src/babel-plugin-map/babel-plugin-map.js","../../src/helpers/fetchUsingHttp.js","../../src/helpers/source-mapping-url.js","../../src/read-project-import-map.js","../../src/jsenv-rollup-plugin.js","../../src/generate-bundle-using-rollup.js","../../src/format-to-rollup-format.js","../../src/bundle-without-balancing.js","../../src/bundle-with-balancing.js","../../src/bundle-balancer.js","../../src/removeFolder.js","../../node_modules/@jsenv/module-resolution/src/isNativeNodeModuleBareSpecifier.js","../../src/generate-bundle-constant.js","../../src/generate-bundle.js","../../src/bundle-global/generate-global-bundle-constant.js","../../src/bundle-global/generate-global-bundle.js","../../src/bundle-commonjs/generate-commonjs-bundle-constant.js","../../src/bundle-commonjs/generate-commonjs-bundle.js","../../src/bundle-systemjs/generate-systemjs-bundle-constant.js","../../src/bundle-systemjs/generate-systemjs-bundle.js","../../src/bundle-to-compilation-result.js"],"sourcesContent":["export { _typeof as typeof, _jsx as jsx, _asyncIterator as asyncIterator, _AwaitValue as AwaitValue, _AsyncGenerator as AsyncGenerator, _wrapAsyncGenerator as wrapAsyncGenerator, _awaitAsyncGenerator as awaitAsyncGenerator, _asyncGeneratorDelegate as asyncGeneratorDelegate, _asyncToGenerator as asyncToGenerator, _classCallCheck as classCallCheck, _createClass as createClass, _defineEnumerableProperties as defineEnumerableProperties, _defaults as defaults, _defineProperty as defineProperty, _extends as extends, _objectSpread as objectSpread, _objectSpread2 as objectSpread2, _inherits as inherits, _inheritsLoose as inheritsLoose, _getPrototypeOf as getPrototypeOf, _setPrototypeOf as setPrototypeOf, _construct as construct, _isNativeFunction as isNativeFunction, _wrapNativeSuper as wrapNativeSuper, _instanceof as instanceof, _interopRequireDefault as interopRequireDefault, _interopRequireWildcard as interopRequireWildcard, _newArrowCheck as newArrowCheck, _objectDestructuringEmpty as objectDestructuringEmpty, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _objectWithoutProperties as objectWithoutProperties, _assertThisInitialized as assertThisInitialized, _possibleConstructorReturn as possibleConstructorReturn, _superPropBase as superPropBase, _get as get, _set as set, _taggedTemplateLiteral as taggedTemplateLiteral, _taggedTemplateLiteralLoose as taggedTemplateLiteralLoose, _temporalRef as temporalRef, _readOnlyError as readOnlyError, _classNameTDZError as classNameTDZError, _temporalUndefined as temporalUndefined, _slicedToArray as slicedToArray, _slicedToArrayLoose as slicedToArrayLoose, _toArray as toArray, _toConsumableArray as toConsumableArray, _arrayWithoutHoles as arrayWithoutHoles, _arrayWithHoles as arrayWithHoles, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _iterableToArrayLimitLoose as iterableToArrayLimitLoose, _nonIterableSpread as nonIterableSpread, _nonIterableRest as nonIterableRest, _skipFirstGeneratorNext as skipFirstGeneratorNext, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _initializerWarningHelper as initializerWarningHelper, _initializerDefineProperty as initializerDefineProperty, _applyDecoratedDescriptor as applyDecoratedDescriptor, _classPrivateFieldLooseKey as classPrivateFieldLooseKey, _classPrivateFieldLooseBase as classPrivateFieldLooseBase, _classPrivateFieldGet as classPrivateFieldGet, _classPrivateFieldSet as classPrivateFieldSet, _classPrivateFieldDestructureSet as classPrivateFieldDestructureSet, _classStaticPrivateFieldSpecGet as classStaticPrivateFieldSpecGet, _classStaticPrivateFieldSpecSet as classStaticPrivateFieldSpecSet, _classStaticPrivateMethodGet as classStaticPrivateMethodGet, _classStaticPrivateMethodSet as classStaticPrivateMethodSet, _decorate as decorate, _classPrivateMethodGet as classPrivateMethodGet, _classPrivateMethodSet as classPrivateMethodSet, _wrapRegExp as wrapRegExp };\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar REACT_ELEMENT_TYPE;\n\nfunction _jsx(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE = typeof Symbol === \"function\" && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\") || 0xeac7;\n }\n\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {\n children: void 0\n };\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n}\n\nfunction _asyncIterator(iterable) {\n var method;\n\n if (typeof Symbol !== \"undefined\") {\n if (Symbol.asyncIterator) {\n method = iterable[Symbol.asyncIterator];\n if (method != null) return method.call(iterable);\n }\n\n if (Symbol.iterator) {\n method = iterable[Symbol.iterator];\n if (method != null) return method.call(iterable);\n }\n }\n\n throw new TypeError(\"Object is not async iterable\");\n}\n\nfunction _AwaitValue(value) {\n this.wrapped = value;\n}\n\nfunction _AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n var wrappedAwait = value instanceof _AwaitValue;\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {\n if (wrappedAwait) {\n resume(\"next\", arg);\n return;\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n }, function (err) {\n resume(\"throw\", err);\n });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n}\n\nif (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n _AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n}\n\n_AsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n};\n\n_AsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n};\n\n_AsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n};\n\nfunction _wrapAsyncGenerator(fn) {\n return function () {\n return new _AsyncGenerator(fn.apply(this, arguments));\n };\n}\n\nfunction _awaitAsyncGenerator(value) {\n return new _AwaitValue(value);\n}\n\nfunction _asyncGeneratorDelegate(inner, awaitWrap) {\n var iter = {},\n waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) {\n resolve(inner[key](value));\n });\n return {\n done: false,\n value: awaitWrap(value)\n };\n }\n\n ;\n\n if (typeof Symbol === \"function\" && Symbol.iterator) {\n iter[Symbol.iterator] = function () {\n return this;\n };\n }\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n\n return pump(\"next\", value);\n };\n\n if (typeof inner.throw === \"function\") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n\n return pump(\"throw\", value);\n };\n }\n\n if (typeof inner.return === \"function\") {\n iter.return = function (value) {\n return pump(\"return\", value);\n };\n }\n\n return iter;\n}\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n if (Object.getOwnPropertySymbols) {\n var objectSymbols = Object.getOwnPropertySymbols(descs);\n\n for (var i = 0; i < objectSymbols.length; i++) {\n var sym = objectSymbols[i];\n var desc = descs[sym];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, sym, desc);\n }\n }\n\n return obj;\n}\n\nfunction _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _newArrowCheck(innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n}\n\nfunction _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nfunction set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = _superPropBase(target, property);\n\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n return false;\n }\n }\n\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n\n if (desc) {\n if (!desc.writable) {\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n _defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n}\n\nfunction _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n\n return value;\n}\n\nfunction _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nfunction _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}\n\nfunction _temporalRef(val, name) {\n if (val === _temporalUndefined) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n } else {\n return val;\n }\n}\n\nfunction _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nfunction _classNameTDZError(name) {\n throw new Error(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n}\n\nvar _temporalUndefined = {};\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _slicedToArrayLoose(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimitLoose(arr, i) || _nonIterableRest();\n}\n\nfunction _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _iterableToArrayLimitLoose(arr, i) {\n var _arr = [];\n\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n\n if (i && _arr.length === i) break;\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction _skipFirstGeneratorNext(fn) {\n return function () {\n var it = fn.apply(this, arguments);\n it.next();\n return it;\n };\n}\n\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (hint === \"string\" ? String : Number)(input);\n}\n\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nfunction _initializerWarningHelper(descriptor, context) {\n throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.');\n}\n\nfunction _initializerDefineProperty(target, property, descriptor, context) {\n if (!descriptor) return;\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n });\n}\n\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object.keys(descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object.defineProperty(target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n\nvar id = 0;\n\nfunction _classPrivateFieldLooseKey(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\nfunction _classPrivateFieldLooseBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\nfunction _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = privateMap.get(receiver);\n\n if (!descriptor) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n\n return descriptor.value;\n}\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = privateMap.get(receiver);\n\n if (!descriptor) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n\n return value;\n}\n\nfunction _classPrivateFieldDestructureSet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n var descriptor = privateMap.get(receiver);\n\n if (descriptor.set) {\n if (!(\"__destrObj\" in descriptor)) {\n descriptor.__destrObj = {\n set value(v) {\n descriptor.set.call(receiver, v);\n }\n\n };\n }\n\n return descriptor.__destrObj;\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n return descriptor;\n }\n}\n\nfunction _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n\n return descriptor.value;\n}\n\nfunction _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n return value;\n}\n\nfunction _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n\n return method;\n}\n\nfunction _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n}\n\nfunction _decorate(decorators, factory, superClass, mixins) {\n var api = _getDecoratorsApi();\n\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators);\n api.initializeClassElements(r.F, decorated.elements);\n return api.runClassFinishers(r.F, decorated.finishers);\n}\n\nfunction _getDecoratorsApi() {\n _getDecoratorsApi = function () {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n initializeInstanceElements: function (O, elements) {\n [\"method\", \"field\"].forEach(function (kind) {\n elements.forEach(function (element) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n initializeClassElements: function (F, elements) {\n var proto = F.prototype;\n [\"method\", \"field\"].forEach(function (kind) {\n elements.forEach(function (element) {\n var placement = element.placement;\n\n if (element.kind === kind && (placement === \"static\" || placement === \"prototype\")) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n defineClassElement: function (receiver, element) {\n var descriptor = element.descriptor;\n\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver)\n };\n }\n\n Object.defineProperty(receiver, element.key, descriptor);\n },\n decorateClass: function (elements, decorators) {\n var newElements = [];\n var finishers = [];\n var placements = {\n static: [],\n prototype: [],\n own: []\n };\n elements.forEach(function (element) {\n this.addElementPlacement(element, placements);\n }, this);\n elements.forEach(function (element) {\n if (!_hasDecorators(element)) return newElements.push(element);\n var elementFinishersExtras = this.decorateElement(element, placements);\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return {\n elements: newElements,\n finishers: finishers\n };\n }\n\n var result = this.decorateConstructor(newElements, decorators);\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n return result;\n },\n addElementPlacement: function (element, placements, silent) {\n var keys = placements[element.placement];\n\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n\n keys.push(element.key);\n },\n decorateElement: function (element, placements) {\n var extras = [];\n var finishers = [];\n\n for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n var elementObject = this.fromElementDescriptor(element);\n var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject);\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras = elementFinisherExtras.extras;\n\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n\n extras.push.apply(extras, newExtras);\n }\n }\n\n return {\n element: element,\n finishers: finishers,\n extras: extras\n };\n },\n decorateConstructor: function (elements, decorators) {\n var finishers = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj = this.fromClassDescriptor(elements);\n var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj);\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {\n throw new TypeError(\"Duplicated element (\" + elements[j].key + \")\");\n }\n }\n }\n }\n }\n\n return {\n elements: elements,\n finishers: finishers\n };\n },\n fromElementDescriptor: function (element) {\n var obj = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor\n };\n var desc = {\n value: \"Descriptor\",\n configurable: true\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n if (element.kind === \"field\") obj.initializer = element.initializer;\n return obj;\n },\n toElementDescriptors: function (elementObjects) {\n if (elementObjects === undefined) return;\n return _toArray(elementObjects).map(function (elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n toElementDescriptor: function (elementObject) {\n var kind = String(elementObject.kind);\n\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError('An element descriptor\\'s .kind property must be either \"method\" or' + ' \"field\", but a decorator created an element descriptor with' + ' .kind \"' + kind + '\"');\n }\n\n var key = _toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n\n if (placement !== \"static\" && placement !== \"prototype\" && placement !== \"own\") {\n throw new TypeError('An element descriptor\\'s .placement property must be one of \"static\",' + ' \"prototype\" or \"own\", but a decorator created an element descriptor' + ' with .placement \"' + placement + '\"');\n }\n\n var descriptor = elementObject.descriptor;\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n var element = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor)\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(descriptor, \"get\", \"The property descriptor of a field descriptor\");\n this.disallowProperty(descriptor, \"set\", \"The property descriptor of a field descriptor\");\n this.disallowProperty(descriptor, \"value\", \"The property descriptor of a field descriptor\");\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n toElementFinisherExtras: function (elementObject) {\n var element = this.toElementDescriptor(elementObject);\n\n var finisher = _optionalCallableProperty(elementObject, \"finisher\");\n\n var extras = this.toElementDescriptors(elementObject.extras);\n return {\n element: element,\n finisher: finisher,\n extras: extras\n };\n },\n fromClassDescriptor: function (elements) {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this)\n };\n var desc = {\n value: \"Descriptor\",\n configurable: true\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n return obj;\n },\n toClassDescriptor: function (obj) {\n var kind = String(obj.kind);\n\n if (kind !== \"class\") {\n throw new TypeError('A class descriptor\\'s .kind property must be \"class\", but a decorator' + ' created a class descriptor with .kind \"' + kind + '\"');\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n\n var elements = this.toElementDescriptors(obj.elements);\n return {\n elements: elements,\n finisher: finisher\n };\n },\n runClassFinishers: function (constructor, finishers) {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor = (0, finishers[i])(constructor);\n\n if (newConstructor !== undefined) {\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n\n constructor = newConstructor;\n }\n }\n\n return constructor;\n },\n disallowProperty: function (obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n return api;\n}\n\nfunction _createElementDescriptor(def) {\n var key = _toPropertyKey(def.key);\n\n var descriptor;\n\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false\n };\n } else if (def.kind === \"get\") {\n descriptor = {\n get: def.value,\n configurable: true,\n enumerable: false\n };\n } else if (def.kind === \"set\") {\n descriptor = {\n set: def.value,\n configurable: true,\n enumerable: false\n };\n } else if (def.kind === \"field\") {\n descriptor = {\n configurable: true,\n writable: true,\n enumerable: true\n };\n }\n\n var element = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static ? \"static\" : def.kind === \"field\" ? \"own\" : \"prototype\",\n descriptor: descriptor\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n return element;\n}\n\nfunction _coalesceGetterSetter(element, other) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n}\n\nfunction _coalesceClassElements(elements) {\n var newElements = [];\n\n var isSameElement = function (other) {\n return other.kind === \"method\" && other.key === element.key && other.placement === element.placement;\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var other;\n\n if (element.kind === \"method\" && (other = newElements.find(isSameElement))) {\n if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\"Duplicated methods (\" + element.key + \") can't be decorated.\");\n }\n\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\"Decorators can't be placed on different accessors with for \" + \"the same property (\" + element.key + \").\");\n }\n\n other.decorators = element.decorators;\n }\n\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n}\n\nfunction _hasDecorators(element) {\n return element.decorators && element.decorators.length;\n}\n\nfunction _isDataDescriptor(desc) {\n return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);\n}\n\nfunction _optionalCallableProperty(obj, name) {\n var value = obj[name];\n\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n\n return value;\n}\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return fn;\n}\n\nfunction _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n}\n\nfunction _wrapRegExp(re, groups) {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, groups);\n };\n\n var _RegExp = _wrapNativeSuper(RegExp);\n\n var _super = RegExp.prototype;\n\n var _groups = new WeakMap();\n\n function BabelRegExp(re, groups) {\n var _this = _RegExp.call(this, re);\n\n _groups.set(_this, groups);\n\n return _this;\n }\n\n _inherits(BabelRegExp, _RegExp);\n\n BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n\n BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n } else if (typeof substitution === \"function\") {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = [];\n args.push.apply(args, arguments);\n\n if (typeof args[args.length - 1] !== \"object\") {\n args.push(buildGroups(args, _this));\n }\n\n return substitution.apply(this, args);\n });\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n };\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n}","\n// eslint-disable-next-line no-undef\nif (typeof globalThis !== \"object\") {\n let globalObject\n\n if (this) {\n globalObject = this\n } else {\n // eslint-disable-next-line no-extend-native\n Object.defineProperty(Object.prototype, \"__global__\", {\n get() {\n return this\n },\n configurable: true,\n })\n // eslint-disable-next-line no-undef\n globalObject = __global__\n delete Object.prototype.__global__\n }\n\n globalObject.globalThis = globalObject\n}","export const startsWithWindowsDriveLetter = (string) => {\n const firstChar = string[0]\n if (!/[a-zA-Z]/.test(firstChar)) return false\n\n const secondChar = string[1]\n if (secondChar !== \":\") return false\n\n return true\n}\n","export const replaceSlashesWithBackSlashes = (string) => string.replace(/\\//g, \"\\\\\")\n","import { startsWithWindowsDriveLetter } from \"./starts-with-windows-drive-letter.js\"\nimport { replaceSlashesWithBackSlashes } from \"./replace-slashes-with-backslashes.js\"\n\nexport const pathnameToOperatingSystemPath = (pathname) => {\n if (pathname[0] !== \"/\") throw new Error(`pathname must start with /, got ${pathname}`)\n\n const pathnameWithoutLeadingSlash = pathname.slice(1)\n if (\n startsWithWindowsDriveLetter(pathnameWithoutLeadingSlash) &&\n pathnameWithoutLeadingSlash[2] === \"/\"\n ) {\n return replaceSlashesWithBackSlashes(pathnameWithoutLeadingSlash)\n }\n\n // linux mac pathname === operatingSystemFilename\n return pathname\n}\n","import { startsWithWindowsDriveLetter } from \"./starts-with-windows-drive-letter.js\"\n\nexport const isWindowsPath = (path) => startsWithWindowsDriveLetter(path) && path[2] === \"\\\\\"\n","export const replaceBackSlashesWithSlashes = (string) => string.replace(/\\\\/g, \"/\")\n","import { isWindowsPath } from \"./is-windows-path.js\"\nimport { replaceBackSlashesWithSlashes } from \"./replace-back-slashes-with-slashes.js\"\n\nexport const operatingSystemPathToPathname = (operatingSystemPath) => {\n if (isWindowsPath(operatingSystemPath)) {\n return `/${replaceBackSlashesWithSlashes(operatingSystemPath)}`\n }\n\n // linux and mac operatingSystemFilename === pathname\n return operatingSystemPath\n}\n","export const pathnameToRelativePathname = (pathname, otherPathname) =>\n pathname.slice(otherPathname.length)\n","// copied from\n// https://github.com/babel/babel/blob/85ea5b0b50bca952b26f895e56bf2165ab9fcc92/packages/babel-preset-env/data/plugins.json#L1\n// Because this is an hidden implementation detail of @babel/preset-env\n// it could be deprecated or moved anytime.\n// For that reason it makes more sens to have it inlined here\n// than importing it from an undocumented location.\n// Ideally it would be documented or a separate module\n\nexport const babelCompatMap = {\n \"transform-template-literals\": {\n chrome: \"41\",\n edge: \"13\",\n firefox: \"34\",\n safari: \"9\",\n node: \"4\",\n ios: \"9\",\n opera: \"28\",\n electron: \"0.24\",\n },\n \"transform-literals\": {\n chrome: \"44\",\n edge: \"12\",\n firefox: \"53\",\n safari: \"9\",\n node: \"4\",\n ios: \"9\",\n opera: \"31\",\n electron: \"0.31\",\n },\n \"transform-function-name\": {\n chrome: \"51\",\n firefox: \"53\",\n safari: \"10\",\n node: \"6.5\",\n ios: \"10\",\n opera: \"38\",\n electron: \"1.2\",\n },\n \"transform-arrow-functions\": {\n chrome: \"47\",\n edge: \"13\",\n firefox: \"45\",\n safari: \"10\",\n node: \"6\",\n ios: \"10\",\n opera: \"34\",\n electron: \"0.36\",\n },\n \"transform-block-scoped-functions\": {\n chrome: \"41\",\n edge: \"12\",\n firefox: \"46\",\n safari: \"10\",\n node: \"4\",\n ie: \"11\",\n ios: \"10\",\n opera: \"28\",\n electron: \"0.24\",\n },\n \"transform-classes\": {\n chrome: \"46\",\n edge: \"13\",\n firefox: \"45\",\n safari: \"10\",\n node: \"5\",\n ios: \"10\",\n opera: \"33\",\n electron: \"0.36\",\n },\n \"transform-object-super\": {\n chrome: \"46\",\n edge: \"13\",\n firefox: \"45\",\n safari: \"10\",\n node: \"5\",\n ios: \"10\",\n opera: \"33\",\n electron: \"0.36\",\n },\n \"transform-shorthand-properties\": {\n chrome: \"43\",\n edge: \"12\",\n firefox: \"33\",\n safari: \"9\",\n node: \"4\",\n ios: \"9\",\n opera: \"30\",\n electron: \"0.29\",\n },\n \"transform-duplicate-keys\": {\n chrome: \"42\",\n edge: \"12\",\n firefox: \"34\",\n safari: \"9\",\n node: \"4\",\n ios: \"9\",\n opera: \"29\",\n electron: \"0.27\",\n },\n \"transform-computed-properties\": {\n chrome: \"44\",\n edge: \"12\",\n firefox: \"34\",\n safari: \"7.1\",\n node: \"4\",\n ios: \"8\",\n opera: \"31\",\n electron: \"0.31\",\n },\n \"transform-for-of\": {\n chrome: \"51\",\n edge: \"15\",\n firefox: \"53\",\n safari: \"10\",\n node: \"6.5\",\n ios: \"10\",\n opera: \"38\",\n electron: \"1.2\",\n },\n \"transform-sticky-regex\": {\n chrome: \"49\",\n edge: \"13\",\n firefox: \"3\",\n safari: \"10\",\n node: \"6\",\n ios: \"10\",\n opera: \"36\",\n electron: \"1\",\n },\n \"transform-dotall-regex\": {\n chrome: \"62\",\n safari: \"11.1\",\n node: \"8.10\",\n ios: \"11.3\",\n opera: \"49\",\n electron: \"3\",\n },\n \"transform-unicode-regex\": {\n chrome: \"50\",\n edge: \"13\",\n firefox: \"46\",\n safari: \"10\",\n node: \"6\",\n ios: \"10\",\n opera: \"37\",\n electron: \"1.1\",\n },\n \"transform-spread\": {\n chrome: \"46\",\n edge: \"13\",\n firefox: \"36\",\n safari: \"10\",\n node: \"5\",\n ios: \"10\",\n opera: \"33\",\n electron: \"0.36\",\n },\n \"transform-parameters\": {\n chrome: \"49\",\n edge: \"14\",\n firefox: \"53\",\n safari: \"10\",\n node: \"6\",\n ios: \"10\",\n opera: \"36\",\n electron: \"1\",\n },\n \"transform-destructuring\": {\n chrome: \"51\",\n firefox: \"53\",\n safari: \"10\",\n node: \"6.5\",\n ios: \"10\",\n opera: \"38\",\n electron: \"1.2\",\n },\n \"transform-block-scoping\": {\n chrome: \"49\",\n edge: \"14\",\n firefox: \"51\",\n safari: \"10\",\n node: \"6\",\n ios: \"10\",\n opera: \"36\",\n electron: \"1\",\n },\n \"transform-typeof-symbol\": {\n chrome: \"38\",\n edge: \"12\",\n firefox: \"36\",\n safari: \"9\",\n node: \"0.12\",\n ios: \"9\",\n opera: \"25\",\n electron: \"0.2\",\n },\n \"transform-new-target\": {\n chrome: \"46\",\n edge: \"14\",\n firefox: \"41\",\n safari: \"10\",\n node: \"5\",\n ios: \"10\",\n opera: \"33\",\n electron: \"0.36\",\n },\n \"transform-regenerator\": {\n chrome: \"50\",\n edge: \"13\",\n firefox: \"53\",\n safari: \"10\",\n node: \"6\",\n ios: \"10\",\n opera: \"37\",\n electron: \"1.1\",\n },\n \"transform-exponentiation-operator\": {\n chrome: \"52\",\n edge: \"14\",\n firefox: \"52\",\n safari: \"10.1\",\n node: \"7\",\n ios: \"10.3\",\n opera: \"39\",\n electron: \"1.3\",\n },\n \"transform-async-to-generator\": {\n chrome: \"55\",\n edge: \"15\",\n firefox: \"52\",\n safari: \"10.1\",\n node: \"7.6\",\n ios: \"10.3\",\n opera: \"42\",\n electron: \"1.6\",\n },\n // copy of transform-async-to-generator\n // this is not in the babel-preset-env repo\n // but we need this\n \"transform-async-to-promises\": {\n chrome: \"55\",\n edge: \"15\",\n firefox: \"52\",\n safari: \"10.1\",\n node: \"7.6\",\n ios: \"10.3\",\n opera: \"42\",\n electron: \"1.6\",\n },\n \"proposal-async-generator-functions\": {\n chrome: \"63\",\n firefox: \"57\",\n safari: \"12\",\n opera: \"50\",\n electron: \"3\",\n },\n \"proposal-object-rest-spread\": {\n chrome: \"60\",\n firefox: \"55\",\n safari: \"11.1\",\n node: \"8.3\",\n ios: \"11.3\",\n opera: \"47\",\n electron: \"2\",\n },\n \"proposal-unicode-property-regex\": {\n chrome: \"64\",\n safari: \"11.1\",\n ios: \"11.3\",\n opera: \"51\",\n electron: \"3\",\n },\n \"proposal-json-strings\": {},\n \"proposal-optional-catch-binding\": {\n chrome: \"66\",\n firefox: \"58\",\n safari: \"11.1\",\n ios: \"11.3\",\n opera: \"53\",\n electron: \"3\",\n },\n}\n","// we could reuse this to get a list of polyfill\n// using https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/built-ins.json#L1\n// adding a featureNameArray to every group\n// and according to that featureNameArray, add these polyfill\n// to the generated bundle\n\nexport const polyfillCompatMap = {}\n","export const valueToVersion = (value) => {\n if (typeof value === \"number\") {\n return numberToVersion(value)\n }\n\n if (typeof value === \"string\") {\n return stringToVersion(value)\n }\n\n throw new TypeError(createValueErrorMessage({ version: value }))\n}\n\nconst numberToVersion = (number) => {\n return {\n major: number,\n minor: 0,\n patch: 0,\n }\n}\n\nconst stringToVersion = (string) => {\n if (string.indexOf(\".\") > -1) {\n const parts = string.split(\".\")\n return {\n major: Number(parts[0]),\n minor: parts[1] ? Number(parts[1]) : 0,\n patch: parts[2] ? Number(parts[2]) : 0,\n }\n }\n\n if (isNaN(string)) {\n return {\n major: 0,\n minor: 0,\n patch: 0,\n }\n }\n\n return {\n major: Number(string),\n minor: 0,\n patch: 0,\n }\n}\n\nconst createValueErrorMessage = ({ value }) => `value must be a number or a string.\nvalue: ${value}`\n","import { valueToVersion } from \"./valueToVersion.js\"\n\nexport const versionCompare = (versionA, versionB) => {\n const semanticVersionA = valueToVersion(versionA)\n const semanticVersionB = valueToVersion(versionB)\n\n const majorDiff = semanticVersionA.major - semanticVersionB.major\n if (majorDiff > 0) {\n return majorDiff\n }\n if (majorDiff < 0) {\n return majorDiff\n }\n\n const minorDiff = semanticVersionA.minor - semanticVersionB.minor\n if (minorDiff > 0) {\n return minorDiff\n }\n if (minorDiff < 0) {\n return minorDiff\n }\n\n const patchDiff = semanticVersionA.patch - semanticVersionB.patch\n if (patchDiff > 0) {\n return patchDiff\n }\n if (patchDiff < 0) {\n return patchDiff\n }\n\n return 0\n}\n","import { versionCompare } from \"./versionCompare.js\"\n\nexport const versionIsBelow = (versionSupposedBelow, versionSupposedAbove) => {\n return versionCompare(versionSupposedBelow, versionSupposedAbove) < 0\n}\n","import { versionIsBelow } from \"./versionIsBelow.js\"\n\nexport const findHighestVersion = (...values) => {\n if (values.length === 0) throw new Error(`missing argument`)\n\n return values.reduce((highestVersion, value) => {\n if (versionIsBelow(highestVersion, value)) {\n return value\n }\n return highestVersion\n })\n}\n","import { findHighestVersion } from \"../../semantic-versioning/index.js\"\n\nexport const computeIncompatibleNameArray = ({\n featureCompatMap,\n platformName,\n platformVersion,\n}) => {\n const incompatibleNameArray = []\n\n Object.keys(featureCompatMap).forEach((featureName) => {\n const compatible = platformIsCompatibleWithFeature({\n platformName,\n platformVersion,\n featureCompat: featureName in featureCompatMap ? featureCompatMap[featureName] : {},\n })\n if (!compatible) {\n incompatibleNameArray.push(featureName)\n }\n })\n\n return incompatibleNameArray\n}\n\nconst platformIsCompatibleWithFeature = ({ platformName, platformVersion, featureCompat }) => {\n const platformCompatibleVersion = computePlatformCompatibleVersion({\n featureCompat,\n platformName,\n })\n const highestVersion = findHighestVersion(platformVersion, platformCompatibleVersion)\n return highestVersion === platformVersion\n}\n\nconst computePlatformCompatibleVersion = ({ featureCompat, platformName }) => {\n return platformName in featureCompat ? featureCompat[platformName] : \"Infinity\"\n}\n","import { findHighestVersion, versionCompare } from \"../../semantic-versioning/index.js\"\nimport { computeIncompatibleNameArray } from \"./computeIncompatibleNameArray.js\"\n\nexport const generatePlatformGroupArray = ({ featureCompatMap, platformName }) => {\n const featureNameArray = Object.keys(featureCompatMap)\n const featureNameArrayWithCompat = featureNameArray.filter(\n (featureName) => platformName in featureCompatMap[featureName],\n )\n\n const versionArray = featureNameArrayWithCompat\n // why do I convert them to string, well ok let's keep it like that\n .map((featureName) => String(featureCompatMap[featureName][platformName]))\n .concat(\"0.0.0\") // at least version 0\n // filter is to have unique version I guess\n .filter((version, index, array) => array.indexOf(version) === index)\n .sort(versionCompare)\n\n const platformGroupArray = []\n\n versionArray.forEach((version) => {\n const incompatibleNameArray = computeIncompatibleNameArray({\n featureCompatMap,\n platformName,\n platformVersion: version,\n }).sort()\n\n const groupWithSameIncompatibleFeatures = platformGroupArray.find(\n (platformGroup) =>\n platformGroup.incompatibleNameArray.join(\"\") === incompatibleNameArray.join(\"\"),\n )\n\n if (groupWithSameIncompatibleFeatures) {\n groupWithSameIncompatibleFeatures.platformCompatMap[platformName] = findHighestVersion(\n groupWithSameIncompatibleFeatures.platformCompatMap[platformName],\n version,\n )\n } else {\n platformGroupArray.push({\n incompatibleNameArray: incompatibleNameArray.slice(),\n platformCompatMap: {\n [platformName]: version,\n },\n })\n }\n })\n\n return platformGroupArray\n}\n","import { findHighestVersion } from \"../../semantic-versioning/index.js\"\n\nexport const composePlatformCompatMap = (platformCompatMap, secondPlatformCompatMap) => {\n return objectComposeValue(\n normalizePlatformCompatMapVersions(platformCompatMap),\n normalizePlatformCompatMapVersions(secondPlatformCompatMap),\n (version, secondVersion) => findHighestVersion(version, secondVersion),\n )\n}\n\nconst normalizePlatformCompatMapVersions = (platformCompatibility) => {\n return objectMapValue(platformCompatibility, (version) => String(version))\n}\n\nconst objectMapValue = (object, callback) => {\n const mapped = {}\n\n Object.keys(object).forEach((key) => {\n mapped[key] = callback(object[key], key, object)\n })\n\n return mapped\n}\n\nconst objectComposeValue = (previous, object, callback) => {\n const composed = { ...previous }\n\n Object.keys(object).forEach((key) => {\n composed[key] = key in composed ? callback(composed[key], object[key]) : object[key]\n })\n\n return composed\n}\n","import { composePlatformCompatMap } from \"./composePlatformCompatMap.js\"\n\nexport const composeGroupArray = (...arrayOfGroupArray) => {\n return arrayOfGroupArray.reduce(groupArrayReducer, [])\n}\n\nconst groupArrayReducer = (previousGroupArray, groupArray) => {\n const reducedGroupArray = []\n\n previousGroupArray.forEach((group) => {\n reducedGroupArray.push({\n incompatibleNameArray: group.incompatibleNameArray.slice(),\n platformCompatMap: { ...group.platformCompatMap },\n })\n })\n\n groupArray.forEach((group) => {\n const groupWithSameIncompatibleFeature = reducedGroupArray.find((existingGroupCandidate) =>\n groupHaveSameIncompatibleFeatures(group, existingGroupCandidate),\n )\n if (groupWithSameIncompatibleFeature) {\n groupWithSameIncompatibleFeature.platformCompatMap = composePlatformCompatMap(\n groupWithSameIncompatibleFeature.platformCompatMap,\n group.platformCompatMap,\n )\n } else {\n reducedGroupArray.push({\n incompatibleNameArray: group.incompatibleNameArray.slice(),\n platformCompatMap: { ...group.platformCompatMap },\n })\n }\n })\n\n return reducedGroupArray\n}\n\nconst groupHaveSameIncompatibleFeatures = (groupA, groupB) => {\n return groupA.incompatibleNameArray.join(\"\") === groupB.incompatibleNameArray.join(\"\")\n}\n","import { generatePlatformGroupArray } from \"./generatePlatformGroupArray.js\"\nimport { composeGroupArray } from \"./composeGroupArray.js\"\n\nexport const generateAllPlatformGroupArray = ({ featureCompatMap, platformNames }) => {\n const arrayOfGroupArray = platformNames.map((platformName) =>\n generatePlatformGroupArray({\n featureCompatMap,\n platformName,\n }),\n )\n const groupArray = composeGroupArray(...arrayOfGroupArray)\n return groupArray\n}\n","import { versionCompare, findHighestVersion } from \"../../semantic-versioning/index.js\"\n\nexport const platformCompatMapToScore = (platformCompatMap, platformScoreMap) => {\n return Object.keys(platformCompatMap).reduce((previous, platformName) => {\n const platformVersion = platformCompatMap[platformName]\n return previous + platformToScore(platformName, platformVersion, platformScoreMap)\n }, 0)\n}\n\nconst platformToScore = (platformName, platformVersion, platformScoreMap) => {\n if (platformName in platformScoreMap === false) return platformScoreMap.other || 0\n\n const versionUsageMap = platformScoreMap[platformName]\n const versionArray = Object.keys(versionUsageMap)\n if (versionArray.length === 0) return platformScoreMap.other || 0\n\n const versionArrayAscending = versionArray.sort(versionCompare)\n const highestVersion = versionArrayAscending[versionArray.length - 1]\n\n if (findHighestVersion(platformVersion, highestVersion) === platformVersion)\n return versionUsageMap[highestVersion]\n\n const closestVersion = versionArrayAscending\n .reverse()\n .find((version) => findHighestVersion(platformVersion, version) === platformVersion)\n\n if (!closestVersion) return platformScoreMap.other || 0\n\n return versionUsageMap[closestVersion]\n}\n","export const BEST_ID = \"best\"\n\nexport const OTHERWISE_ID = \"otherwise\"\n","/*\n\n# featureCompatMap legend\n\n featureName\n │\n{ ┌──────────┴────────────┐\n \"transform-block-scoping\": {─┐\n \"chrome\": \"10\", │\n \"safari\": \"3.0\", platformCompatMap\n \"firefox\": \"5.1\" │\n }────┼─────────┼─────────────┘\n} │ └─────┐\n platformName platformVersion\n\n# group legend\n\n{\n \"best\": {\n \"incompatibleNameArray\" : [\n \"transform-block-scoping\",\n ],\n \"platformCompatMap\": {\n \"chrome\": \"10\",\n \"firefox\": \"6\"\n }\n }\n}\n\nTake chars below to update legends\n─│┌┐└┘├┤┴┬\n\n*/\n\nimport { babelCompatMap as defaultBabelCompatMap } from \"./babelCompatMap.js\"\nimport { polyfillCompatMap as defaulPolyfillCompatMap } from \"./polyfillCompatMap.js\"\nimport { generateAllPlatformGroupArray } from \"./platform-group/generateAllPlatformGroupArray.js\"\nimport { platformCompatMapToScore } from \"./platform-group/platformCompatMapToScore.js\"\nimport { OTHERWISE_ID, BEST_ID } from \"../GROUP_ID.js\"\n\nexport const generateGroupMap = ({\n babelPluginMap,\n babelCompatMap = defaultBabelCompatMap,\n // polyfill are for later, for now, nothing is using them\n polyfillConfigMap = {},\n polyfillCompatMap = defaulPolyfillCompatMap,\n platformScoreMap,\n groupCount = 1,\n // pass this to true if you don't care if someone tries to run your code\n // on a platform which is not inside platformScoreMap.\n platformAlwaysInsidePlatformScoreMap = false,\n // pass this to true if you think you will always be able to detect\n // the platform or that if you fail to do so you don't care.\n platformWillAlwaysBeKnown = false,\n}) => {\n const groupMap = generateFeatureGroupMap({\n // here we should throw if key conflict between babelPluginMap/polyfillConfigMap\n featureConfigMap: { ...babelPluginMap, ...polyfillConfigMap },\n // here we should throw if key conflict on babelCompatMap/polyfillCompatMap\n featureCompatMap: {\n ...babelCompatMap,\n ...polyfillCompatMap,\n },\n platformScoreMap,\n groupCount,\n platformAlwaysInsidePlatformScoreMap,\n platformWillAlwaysBeKnown,\n })\n return groupMap\n}\n\nconst generateFeatureGroupMap = ({\n featureConfigMap,\n featureCompatMap,\n platformScoreMap,\n groupCount,\n platformAlwaysInsidePlatformScoreMap,\n platformWillAlwaysBeKnown,\n}) => {\n if (typeof featureConfigMap !== \"object\")\n throw new TypeError(`featureConfigMap must be an object, got ${featureConfigMap}`)\n if (typeof featureCompatMap !== \"object\")\n throw new TypeError(`featureCompatMap must be an object, got ${featureCompatMap}`)\n if (typeof platformScoreMap !== \"object\")\n throw new TypeError(`platformScoreMap must be an object, got ${platformScoreMap}`)\n if (typeof groupCount < 1) throw new TypeError(`groupCount must be above 1, got ${groupCount}`)\n\n const featureNameArray = Object.keys(featureConfigMap)\n\n const groupWithoutFeature = {\n incompatibleNameArray: featureNameArray,\n platformCompatMap: {},\n }\n\n // when we create one group and we cannot ensure\n // code will be runned on a platform inside platformScoreMap\n // then we return otherwise group to be safe\n if (groupCount === 1 && !platformAlwaysInsidePlatformScoreMap) {\n return {\n [OTHERWISE_ID]: groupWithoutFeature,\n }\n }\n\n const featureCompatMapWithoutHole = {}\n featureNameArray.forEach((featureName) => {\n featureCompatMapWithoutHole[featureName] =\n featureName in featureCompatMap ? featureCompatMap[featureName] : {}\n })\n\n const allPlatformGroupArray = generateAllPlatformGroupArray({\n featureCompatMap: featureCompatMapWithoutHole,\n platformNames: arrayWithoutValue(Object.keys(platformScoreMap), \"other\"),\n })\n\n if (allPlatformGroupArray.length === 0) {\n return {\n [OTHERWISE_ID]: groupWithoutFeature,\n }\n }\n\n const groupToScore = ({ platformCompatMap }) =>\n platformCompatMapToScore(platformCompatMap, platformScoreMap)\n\n const allPlatformGroupArraySortedByScore = allPlatformGroupArray.sort(\n (a, b) => groupToScore(b) - groupToScore(a),\n )\n\n const length = allPlatformGroupArraySortedByScore.length\n\n // if we arrive here and want a single group\n // we take the worst group and consider it's our best group\n // because it's the lowest platform we want to support\n if (groupCount === 1) {\n return {\n [BEST_ID]: allPlatformGroupArraySortedByScore[length - 1],\n }\n }\n\n const addOtherwiseToBeSafe = !platformAlwaysInsidePlatformScoreMap || !platformWillAlwaysBeKnown\n\n const lastGroupIndex = addOtherwiseToBeSafe ? groupCount - 1 : groupCount\n\n const groupArray =\n length + 1 > groupCount\n ? allPlatformGroupArraySortedByScore.slice(0, lastGroupIndex)\n : allPlatformGroupArraySortedByScore\n\n const groupMap = {}\n groupArray.forEach((group, index) => {\n if (index === 0) {\n groupMap[BEST_ID] = group\n } else {\n groupMap[`intermediate-${index + 1}`] = group\n }\n })\n if (addOtherwiseToBeSafe) {\n groupMap[OTHERWISE_ID] = groupWithoutFeature\n }\n return groupMap\n}\n\nconst arrayWithoutValue = (array, value) =>\n array.filter((valueCandidate) => valueCandidate !== value)\n","export const browserScoreMap = {\n // https://www.statista.com/statistics/268299/most-popular-internet-browsers/\n // this source of stat is what I found in 5min\n // we could improve these default usage score using better stats\n // and keep in mind this should be updated time to time or even better\n // come from your specific audience\n android: 0.001,\n chrome: {\n \"71\": 0.3,\n \"69\": 0.19,\n \"0\": 0.01, // it means oldest version of chrome will get a score of 0.01\n },\n firefox: {\n \"61\": 0.3,\n },\n edge: {\n \"12\": 0.1,\n },\n electron: 0.001,\n ios: 0.001,\n opera: 0.001,\n other: 0.001,\n safari: {\n \"10\": 0.1,\n },\n}\n","// https://nodejs.org/metrics/summaries/version/nodejs.org-access.log.csv\nexport const nodeVersionScoreMap = {\n \"0.10\": 0.02,\n \"0.12\": 0.01,\n 4: 0.1,\n 6: 0.25,\n 7: 0.1,\n 8: 1,\n 9: 0.1,\n 10: 0.5,\n 11: 0.25,\n}\n","// TODO: externalize this into '@dmail/helper'\n// import { arrayWithout } from '@dmail/helper'\n\nexport const arrayWithout = (array, item) => {\n const arrayWithoutItem = []\n let i = 0\n while (i < array.length) {\n const value = array[i]\n i++\n if (value === item) {\n continue\n }\n arrayWithoutItem.push(value)\n }\n return arrayWithoutItem\n}\n","// https://github.com/tc39/proposal-cancellation/tree/master/stage0\nimport { arrayWithout } from \"./arrayHelper.js\"\n\nexport const createCancelError = (reason) => {\n const cancelError = new Error(`canceled because ${reason}`)\n cancelError.name = \"CANCEL_ERROR\"\n cancelError.reason = reason\n return cancelError\n}\n\nexport const isCancelError = (value) => {\n return value && typeof value === \"object\" && value.name === \"CANCEL_ERROR\"\n}\n\nexport const errorToCancelReason = (error) => {\n if (!isCancelError(error)) return \"\"\n return error.reason\n}\n\nexport const createCancellationSource = () => {\n let requested = false\n let cancelError\n let registrationArray = []\n const cancel = (reason) => {\n if (requested) return\n requested = true\n cancelError = createCancelError(reason)\n\n const registrationArrayCopy = registrationArray.slice()\n registrationArray.length = 0\n registrationArrayCopy.forEach((registration) => {\n registration.callback(cancelError)\n // const removedDuringCall = registrationArray.indexOf(registration) === -1\n })\n }\n\n const register = (callback) => {\n if (typeof callback !== \"function\") {\n throw new Error(`callback must be a function, got ${callback}`)\n }\n\n const existingRegistration = registrationArray.find((registration) => {\n return registration.callback === callback\n })\n // don't register twice\n if (existingRegistration) {\n return existingRegistration\n }\n\n const registration = {\n callback,\n unregister: () => {\n registrationArray = arrayWithout(registrationArray, registration)\n },\n }\n registrationArray = [registration, ...registrationArray]\n\n return registration\n }\n\n const throwIfRequested = () => {\n if (requested) {\n throw cancelError\n }\n }\n\n return {\n token: {\n register,\n get cancellationRequested() {\n return requested\n },\n throwIfRequested,\n },\n cancel,\n }\n}\n\nexport const cancellationTokenCompose = (...tokens) => {\n const register = (callback) => {\n if (typeof callback !== \"function\") {\n throw new Error(`callback must be a function, got ${callback}`)\n }\n\n const registrationArray = []\n\n const visit = (i) => {\n const token = tokens[i]\n const registration = token.register(callback)\n registrationArray.push(registration)\n }\n let i = 0\n while (i < tokens.length) {\n visit(i++)\n }\n\n const compositeRegistration = {\n callback,\n unregister: () => {\n registrationArray.forEach((registration) => registration.unregister())\n registrationArray.length = 0\n },\n }\n\n return compositeRegistration\n }\n\n let requested = false\n let cancelError\n const internalRegistration = register((parentCancelError) => {\n requested = true\n cancelError = parentCancelError\n internalRegistration.unregister()\n })\n\n const throwIfRequested = () => {\n if (requested) {\n throw cancelError\n }\n }\n\n return {\n register,\n get cancellationRequested() {\n return requested\n },\n throwIfRequested,\n }\n}\n\nexport const createCancellationToken = () => {\n const register = (callback) => {\n if (typeof callback !== \"function\") {\n throw new Error(`callback must be a function, got ${callback}`)\n }\n\n return {\n callback,\n unregister: () => {},\n }\n }\n\n const throwIfRequested = () => undefined\n\n return {\n register,\n cancellationRequested: false,\n throwIfRequested,\n }\n}\n","import { createCancellationToken } from \"./cancellation.js\"\n\nexport const createOperation = ({\n cancellationToken = createCancellationToken(),\n start,\n ...rest\n}) => {\n ensureExactParameters(rest)\n cancellationToken.throwIfRequested()\n\n const promise = new Promise((resolve) => {\n resolve(start())\n })\n const cancelPromise = new Promise((resolve, reject) => {\n const cancelRegistration = cancellationToken.register((cancelError) => {\n cancelRegistration.unregister()\n reject(cancelError)\n })\n promise.then(cancelRegistration.unregister, () => {})\n })\n const operationPromise = Promise.race([promise, cancelPromise])\n\n return operationPromise\n}\n\nconst ensureExactParameters = (extraParameters) => {\n const extraParamNames = Object.keys(extraParameters)\n if (extraParamNames.length)\n throw new Error(`createOperation expect only cancellationToken, start. Got ${extraParamNames}`)\n}\n","import { isCancelError, createCancellationSource } from \"./cancellation.js\"\n\nexport const catchAsyncFunctionCancellation = (asyncFunction) => {\n return asyncFunction().catch((error) => {\n if (isCancelError(error)) return\n throw error\n })\n}\n\nexport const createProcessInterruptionCancellationToken = () => {\n const SIGINTCancelSource = createCancellationSource()\n process.on(\"SIGINT\", () => SIGINTCancelSource.cancel(\"process interruption\"))\n return SIGINTCancelSource.token\n}\n","export const hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n","import { hrefToScheme } from \"../hrefToScheme/hrefToScheme.js\"\n\nexport const hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n","import { hrefToScheme } from \"../hrefToScheme/hrefToScheme.js\"\n\nexport const hrefToPathname = (href) => {\n return ressourceToPathname(hrefToRessource(href))\n}\n\nconst hrefToRessource = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return href.slice(\"file://\".length)\n }\n\n if (scheme === \"https\" || scheme === \"http\") {\n // remove origin\n const afterProtocol = href.slice(scheme.length + \"://\".length)\n const pathnameSlashIndex = afterProtocol.indexOf(\"/\", \"://\".length)\n return afterProtocol.slice(pathnameSlashIndex)\n }\n\n return href.slice(scheme.length + 1)\n}\n\nconst ressourceToPathname = (ressource) => {\n const searchSeparatorIndex = ressource.indexOf(\"?\")\n return searchSeparatorIndex === -1 ? ressource : ressource.slice(0, searchSeparatorIndex)\n}\n","export const pathnameIsInside = (pathname, otherPathname) =>\n pathname.startsWith(`${otherPathname}/`)\n","export const pathnameToDirname = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex === -1) return \"\"\n\n return pathname.slice(0, slashLastIndex)\n}\n","export const pathnameToExtension = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex !== -1) {\n pathname = pathname.slice(slashLastIndex + 1)\n }\n\n const dotLastIndex = pathname.lastIndexOf(\".\")\n if (dotLastIndex === -1) return \"\"\n // if (dotLastIndex === pathname.length - 1) return \"\"\n return pathname.slice(dotLastIndex)\n}\n","export const pathnameToRelativePath = (pathname, otherPathname) =>\n pathname.slice(otherPathname.length)\n","export const assertImportMap = (value) => {\n if (value === null) {\n throw new TypeError(`an importMap must be an object, got null`)\n }\n\n const type = typeof value\n if (type !== \"object\") {\n throw new TypeError(`an importMap must be an object, received ${value}`)\n }\n\n if (Array.isArray(value)) {\n throw new TypeError(`an importMap must be an object, received array ${value}`)\n }\n}\n","/**\n * DISCLAIMER:\n * For now you could not resolve to a different origin\n * because applyImportMap work only with pathname and not url.\n *\n * It means passing\n * {\n * imports: {\n * \"foo\": \"https://example.com/node_modules/foo/index.js\"\n * }\n * }\n * is not supported\n *\n * I could convert https://github.com/WICG/import-maps/blob/93f94c6dfb268bde3009644b65580fb2fbb98fcf/reference-implementation/lib/resolver.js#L12\n * into import/export and use it directly.\n *\n *\n */\n\n// directly target the files because this code\n// will be executed either on node or browser\n// and also we don't want to pull more code than necessary\n// when this one gets bundled\nimport { hrefToPathname } from \"@jsenv/href/src/hrefToPathname/hrefToPathname.js\"\nimport { hrefToOrigin } from \"@jsenv/href/src/hrefToOrigin/hrefToOrigin.js\"\nimport { assertImportMap } from \"../assertImportMap.js\"\n\nexport const applyImportMap = ({ importMap, href, importerHref }) => {\n assertImportMap(importMap)\n if (typeof href !== \"string\") {\n throw new TypeError(`href must be a string, got ${href}`)\n }\n\n const { imports = {}, scopes = {} } = importMap\n\n if (importerHref) {\n if (typeof importerHref !== \"string\") {\n throw new TypeError(`importerHref must be a string, got ${importerHref}`)\n }\n\n const importerPathname = hrefToPathname(importerHref)\n // here instead or taking the first match\n // take the best match instead\n // check the importMap spec repo to find how\n // (bsically most char matching is a win)\n // (or just the longest scope)\n const matchingPathnamePattern = Object.keys(scopes).find((pathnameMatchPattern) =>\n match(importerPathname, pathnameMatchPattern),\n )\n\n if (matchingPathnamePattern) {\n const scopeImports = scopes[matchingPathnamePattern]\n\n return applyImports({\n href,\n imports: scopeImports,\n // scopePattern: matchingPathnamePattern,\n })\n }\n }\n\n return applyImports({ href, imports })\n}\n\nconst applyImports = ({ href, imports }) => {\n const modulePathname = hrefToPathname(href)\n const pathnamePatternArray = Object.keys(imports)\n\n let i = 0\n while (i < pathnamePatternArray.length) {\n const pathnamePattern = pathnamePatternArray[i]\n i++\n const matchResult = match(modulePathname, pathnamePattern)\n if (!matchResult) continue\n\n const { before, after } = matchResult\n const moduleOrigin = hrefToOrigin(href)\n const replacement = imports[pathnamePattern]\n\n return `${moduleOrigin}${before}${replacement}${after}`\n }\n\n return href\n}\n\nconst match = (pathname, pattern) => {\n const patternHasLeadingSlash = pattern[0] === \"/\"\n const patternHasTrailingSlash = pattern[pattern.length - 1] === \"/\"\n\n // pattern : '/foo/'\n if (patternHasLeadingSlash && patternHasTrailingSlash) {\n const index = pathname.indexOf(pattern)\n\n // pathname: '/fo/bar'\n // pathname: '/foobar'\n if (index === -1) return null\n\n // pathname: '/foo/bar'\n return { before: pathname.slice(0, index), after: pathname.slice(index + pattern.length) }\n }\n\n // pattern: '/foo'\n if (patternHasLeadingSlash && !patternHasTrailingSlash) {\n // pathname: '/fo', /foobar'\n if (pathname !== pattern) return null\n\n // pathname: '/foo'\n return { before: \"\", after: \"\" }\n }\n\n // pattern: 'foo/'\n if (!patternHasLeadingSlash && patternHasTrailingSlash) {\n const index = pathname.indexOf(`/${pattern}`)\n\n // pathname: '/fo/bar'\n if (index === -1) return null\n\n // pathname: '/bar/foo/file.js'\n if (index !== 0) return null\n\n // pathname: '/foo', '/foo/bar'\n return { before: \"\", after: pathname.slice(pattern.length + 1) }\n }\n\n // pattern 'foo'\n\n // pathname: '/fo', /foobar'\n if (pathname.slice(1) !== pattern) return null\n\n // pathname: '/foo'\n return { before: \"\", after: \"\" }\n}\n","// https://github.com/WICG/import-maps/blob/93f94c6dfb268bde3009644b65580fb2fbb98fcf/reference-implementation/lib/parser.js#L42\nimport { assertImportMap } from \"../assertImportMap.js\"\n\nexport const sortImportMap = (importMap) => {\n assertImportMap(importMap)\n const { imports, scopes } = importMap\n const orderedImportMap = {\n imports: imports ? sortImportMapImports(imports) : {},\n scopes: scopes ? sortImportMapScopes(scopes) : {},\n }\n return orderedImportMap\n}\n\nconst sortImportMapImports = (imports) => {\n const sortedImports = {}\n Object.keys(imports)\n .sort(compareLengthOrLocaleCompare)\n .forEach((name) => {\n sortedImports[name] = imports[name]\n })\n return sortedImports\n}\n\nconst sortImportMapScopes = (scopes) => {\n const sortedScopes = {}\n Object.keys(scopes)\n .sort(compareLengthOrLocaleCompare)\n .forEach((scopeName) => {\n sortedScopes[scopeName] = sortScopedImports(scopes[scopeName], scopeName)\n })\n return sortedScopes\n}\n\nconst compareLengthOrLocaleCompare = (a, b) => {\n return b.length - a.length || a.localeCompare(b)\n}\n\nconst sortScopedImports = (scopedImports) => {\n const compareScopedImport = (a, b) => {\n // const aIsRoot = a === \"/\"\n // const bIsRoot = b === \"/\"\n // if (aIsRoot && !bIsRoot) return 1\n // if (!aIsRoot && bIsRoot) return -1\n // if (aIsRoot && bIsRoot) return 0\n\n // const aIsScope = a === scope\n // const bIsScope = b === scope\n // if (aIsScope && !bIsScope) return 1\n // if (!aIsScope && bIsScope) return -1\n // if (aIsScope && bIsScope) return 0\n\n return compareLengthOrLocaleCompare(a, b)\n }\n\n const sortedScopedImports = {}\n Object.keys(scopedImports)\n .sort(compareScopedImport)\n .forEach((name) => {\n sortedScopedImports[name] = scopedImports[name]\n })\n return sortedScopedImports\n}\n","// https://github.com/systemjs/systemjs/blob/89391f92dfeac33919b0223bbf834a1f4eea5750/src/common.js#L136\nimport { assertImportMap } from \"../assertImportMap.js\"\nimport { sortImportMap } from \"../sortImportMap/sortImportMap.js\"\n\nexport const composeTwoImportMaps = (leftImportMap, rightImportMap) => {\n assertImportMap(leftImportMap)\n assertImportMap(rightImportMap)\n\n return sortImportMap({\n imports: composeTwoImports(leftImportMap.imports, rightImportMap.imports),\n scopes: composeTwoScopes(leftImportMap.scopes, rightImportMap.scopes),\n })\n}\n\nconst composeTwoImports = (leftImports = {}, rightImports = {}) => {\n return { ...leftImports, ...rightImports }\n}\n\nconst composeTwoScopes = (leftScopes = {}, rightScopes = {}) => {\n const scopes = { ...leftScopes }\n Object.keys(rightScopes).forEach((pattern) => {\n if (scopes.hasOwnProperty(pattern)) {\n scopes[pattern] = { ...scopes[pattern], ...rightScopes[pattern] }\n } else {\n scopes[pattern] = { ...rightScopes[pattern] }\n }\n })\n return scopes\n}\n","// https://url.spec.whatwg.org/#example-start-with-a-widows-drive-letter\nexport const isWindowsDriveLetter = (specifier) => {\n const firstChar = specifier[0]\n if (!/[a-zA-Z]/.test(firstChar)) return false\n const secondChar = specifier[1]\n if (secondChar !== \":\") return false\n const thirdChar = specifier[2]\n return thirdChar === \"/\"\n}\n","import { isWindowsDriveLetter } from \"../../isWindowsDriveLetter.js\"\n\n// \"https://domain.com/folder/file.js\"\n// \"file:///folder/file.js\"\n// \"chrome://folder/file.js\"\nexport const isAbsoluteSpecifier = (specifier) => {\n // window drive letter could are not protocol yep\n // something like `C:/folder/file.js`\n // will be considered as a bare import\n\n if (isWindowsDriveLetter(specifier.slice(0, 3))) return false\n return /^[a-zA-Z]+:/.test(specifier)\n}\n\nexport const resolveAbsoluteSpecifier = ({ specifier }) => specifier\n","import { hrefToScheme } from \"@jsenv/href\"\n\n// \"//folder/file.js\"\nexport const isSchemeRelativeSpecifier = (specifier) => {\n return specifier.slice(0, 2) === \"//\"\n}\n\nexport const resolveSchemeRelativeSpecifier = ({ importer, specifier }) => {\n return `${hrefToScheme(importer)}:${specifier}`\n}\n","import { hrefToOrigin } from \"@jsenv/href\"\n\n// \"/folder/file.js\"\nexport const isOriginRelativeSpecifier = (specifier) => {\n const firstChar = specifier[0]\n if (firstChar !== \"/\") return false\n\n const secondChar = specifier[1]\n if (secondChar === \"/\") return false\n\n return true\n}\n\nexport const resolveOriginRelativeSpecifier = ({ importer, specifier }) => {\n const importerOrigin = hrefToOrigin(importer)\n\n return `${importerOrigin}/${specifier.slice(1)}`\n}\n","// https://github.com/systemjs/systemjs/blob/master/src/common.js\nimport { hrefToPathname, hrefToOrigin, pathnameToDirname } from \"@jsenv/href\"\n\n// \"./folder/file.js\"\n// \"../folder/file.js\"\nexport const isPathnameRelativeSpecifier = (specifier) => {\n if (specifier.slice(0, 2) === \"./\") return true\n\n if (specifier.slice(0, 3) === \"../\") return true\n\n return false\n}\n\nexport const resolvePathnameRelativeSpecifier = ({ importer, specifier }) => {\n const importerPathname = hrefToPathname(importer)\n\n // ./foo.js on /folder/file.js -> /folder/foo.js\n // ./foo/bar.js on /folder/file.js -> /folder/foo/bar.js\n // ./foo.js on /folder/subfolder/file.js -> /folder/subfolder/foo.js\n if (specifier.startsWith(\"./\")) {\n const importerOrigin = hrefToOrigin(importer)\n const importerDirname = pathnameToDirname(importerPathname)\n return `${importerOrigin}${importerDirname}/${specifier.slice(2)}`\n }\n\n // ../foo/bar.js on /folder/file.js -> /foo/bar.js\n // ../foo/bar.js on /folder/subfolder/file.js -> /folder/foo/bar.js\n // ../../foo/bar.js on /folder/file.js -> /foo/bar.js\n // ../bar.js on / -> /bar.js\n let unresolvedPathname = specifier\n const importerFolders = importerPathname.split(\"/\")\n importerFolders.pop() // remove file, it is not a folder\n\n while (unresolvedPathname.slice(0, 3) === \"../\") {\n // when there is no folder left to resolved\n // we just ignore '../'\n if (importerFolders.length) {\n importerFolders.pop()\n }\n unresolvedPathname = unresolvedPathname.slice(3)\n }\n\n const importerOrigin = hrefToOrigin(importer)\n const resolvedPathname = `${importerFolders.join(\"/\")}/${unresolvedPathname}`\n\n return `${importerOrigin}${resolvedPathname}`\n}\n","import { hrefToOrigin } from \"@jsenv/href\"\nimport { isAbsoluteSpecifier } from \"./absoluteSpecifier.js\"\nimport { isSchemeRelativeSpecifier } from \"./schemeRelativeSpecifier.js\"\nimport { isOriginRelativeSpecifier } from \"./originRelativeSpecifier.js\"\nimport { isPathnameRelativeSpecifier } from \"./pathnameRelativeSpecifier.js\"\n\nexport const isBareSpecifier = (specifier) => {\n if (isAbsoluteSpecifier(specifier)) return false\n\n if (isSchemeRelativeSpecifier(specifier)) return false\n\n if (isOriginRelativeSpecifier(specifier)) return false\n\n if (isPathnameRelativeSpecifier(specifier)) return false\n\n return true\n}\n\nexport const resolveBareSpecifier = ({ importer, specifier }) => {\n const importerOrigin = hrefToOrigin(importer)\n\n return `${importerOrigin}/${specifier}`\n}\n","// could be useful: https://url.spec.whatwg.org/#url-miscellaneous\n\nimport { isAbsoluteSpecifier, resolveAbsoluteSpecifier } from \"./specifier/absoluteSpecifier.js\"\nimport {\n isSchemeRelativeSpecifier,\n resolveSchemeRelativeSpecifier,\n} from \"./specifier/schemeRelativeSpecifier.js\"\nimport {\n isOriginRelativeSpecifier,\n resolveOriginRelativeSpecifier,\n} from \"./specifier/originRelativeSpecifier.js\"\nimport {\n isPathnameRelativeSpecifier,\n resolvePathnameRelativeSpecifier,\n} from \"./specifier/pathnameRelativeSpecifier.js\"\nimport { resolveBareSpecifier } from \"./specifier/bareSpecifier.js\"\n\nexport const resolveImport = ({ importer, specifier }) => {\n if (isAbsoluteSpecifier(specifier)) {\n return resolveAbsoluteSpecifier({ importer, specifier })\n }\n\n if (!importer) {\n throw new Error(`missing importer to resolve relative specifier.\nimporter: ${importer}\nspecifier: ${specifier}`)\n }\n\n if (isSchemeRelativeSpecifier(specifier)) {\n return resolveSchemeRelativeSpecifier({ importer, specifier })\n }\n\n if (isOriginRelativeSpecifier(specifier)) {\n return resolveOriginRelativeSpecifier({ importer, specifier })\n }\n\n if (isPathnameRelativeSpecifier(specifier)) {\n return resolvePathnameRelativeSpecifier({ importer, specifier })\n }\n\n return resolveBareSpecifier({ importer, specifier })\n}\n","import { hrefToPathname, pathnameToExtension } from \"@jsenv/href\"\nimport { applyImportMap } from \"@jsenv/import-map\"\nimport { resolveImport } from \"./resolveImport.js\"\n\nexport const resolvePath = ({ specifier, importer, importMap, defaultExtension = true }) => {\n const resolvedImport = resolveImport({ specifier, importer })\n const remappedImport = importMap\n ? applyImportMap({ importMap, href: resolvedImport, importerHref: importer })\n : resolvedImport\n if (typeof defaultExtension === \"string\") {\n const extension = pathnameToExtension(remappedImport)\n if (extension === \"\") {\n return `${remappedImport}${defaultExtension}`\n }\n }\n if (defaultExtension === true) {\n const extension = pathnameToExtension(remappedImport)\n if (extension === \"\") {\n if (importer) {\n const importerPathname = hrefToPathname(importer)\n const importerExtension = pathnameToExtension(importerPathname)\n return `${remappedImport}${importerExtension}`\n }\n }\n }\n return remappedImport\n}\n","// eslint-disable-next-line import/no-unresolved\nimport importMap from \"/.jsenv/importMap.json\"\nimport { resolvePath } from \"@jsenv/module-resolution\"\n\nconst nodeRequire = require\nexport { nodeRequire as require }\n\nconst filenameContainsBackSlashes = __filename.indexOf(\"\\\\\") > -1\n\nexport const url = filenameContainsBackSlashes\n ? `file://${__filename.replace(/\\\\/g, \"/\")}`\n : `file://${__filename}`\n\nexport const resolve = (specifier) => {\n return resolvePath({ specifier, importer: url, importMap, defaultExtension: false })\n}\n","import { resolve } from \"path\"\nimport { hrefToPathname, pathnameToRelativePath } from \"@jsenv/href\"\nimport {\n pathnameToOperatingSystemPath,\n operatingSystemPathToPathname,\n} from \"@jsenv/operating-system-path\"\n\nlet jsenvBundlingProjectPath\nif (typeof __filename === \"string\") {\n jsenvBundlingProjectPath = resolve(__filename, \"../../../\") // get ride of dist/node/main.js\n} else {\n const selfPathname = hrefToPathname(import.meta.url)\n const selfPath = pathnameToOperatingSystemPath(selfPathname)\n jsenvBundlingProjectPath = resolve(selfPath, \"../../\") // get ride of src/JSENV_PATH.js\n}\n\nexport { jsenvBundlingProjectPath }\n\nexport const jsenvBundlingProjectPathname = operatingSystemPathToPathname(jsenvBundlingProjectPath)\n\nexport const jsenvBundlingRelativePathInception = ({\n jsenvBundlingRelativePath,\n projectPathname,\n}) => {\n const jsenvPathname = `${jsenvBundlingProjectPathname}${jsenvBundlingRelativePath}`\n const relativePath = pathnameToRelativePath(jsenvPathname, projectPathname)\n return relativePath\n}\n","import { stat, statSync } from \"fs\"\n\nexport const assertFolder = async (path) => {\n const filesystemEntry = await pathToFilesystemEntry(path)\n\n if (!filesystemEntry) {\n throw new Error(`folder not found on filesystem.\npath: ${path}`)\n }\n\n const { type } = filesystemEntry\n if (type !== \"folder\") {\n throw new Error(`folder expected but found something else on filesystem.\npath: ${path}\nfound: ${type}`)\n }\n}\n\nexport const assertFile = async (path) => {\n const filesystemEntry = await pathToFilesystemEntry(path)\n\n if (!filesystemEntry) {\n throw new Error(`file not found on filesystem.\npath: ${path}`)\n }\n\n const { type } = filesystemEntry\n if (type !== \"file\") {\n throw new Error(`file expected but found something else on filesystem.\npath: ${path}\nfound: ${type}`)\n }\n}\n\nexport const assertFileSync = (path) => {\n let stats\n\n try {\n stats = statSync(path)\n } catch (e) {\n if (e.code === \"ENOENT\") {\n throw new Error(`file not found on filesystem.\npath: ${path}`)\n }\n throw e\n }\n\n const entry = statsToEntry(stats)\n if (entry !== \"file\") {\n throw new Error(`file expected but found something else on filesystem.\npath: ${path}\nfound: ${entry}`)\n }\n}\n\nconst pathToFilesystemEntry = (path) =>\n new Promise((resolve, reject) => {\n stat(path, (error, stats) => {\n if (error) {\n if (error.code === \"ENOENT\") resolve(null)\n else reject(error)\n } else {\n resolve({\n type: statsToEntry(stats),\n stats,\n })\n }\n })\n })\n\nconst statsToEntry = (stats) => {\n if (stats.isFile()) {\n return \"file\"\n }\n if (stats.isDirectory()) {\n return \"folder\"\n }\n return \"other\"\n}\n","export const LOG_LEVEL_OFF = \"off\"\nexport const LOG_LEVEL_ERRORS = \"errors\"\nexport const LOG_LEVEL_ERRORS_AND_WARNINGS = \"errors+warnings\"\nexport const LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS = \"errors+warnings+logs\"\nexport const LOG_LEVEL_MAXIMUM = \"maximum\"\n\nexport const createLogger = ({ logLevel = LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS }) => {\n if (logLevel === LOG_LEVEL_MAXIMUM) {\n return {\n logTrace,\n log,\n logWarning,\n logError,\n }\n }\n\n if (logLevel === LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS) {\n return {\n logTrace: logTraceDisabled,\n log,\n logWarning,\n logError,\n }\n }\n\n if (logLevel === LOG_LEVEL_ERRORS_AND_WARNINGS) {\n return {\n logTrace: logTraceDisabled,\n log: logDisabled,\n logWarning,\n logError,\n }\n }\n\n if (logLevel === LOG_LEVEL_ERRORS) {\n return {\n logTrace: logTraceDisabled,\n log: logDisabled,\n logWarning: logWarningDisabled,\n logError,\n }\n }\n\n if (logLevel === LOG_LEVEL_OFF) {\n return {\n logTrace: logTraceDisabled,\n log: logDisabled,\n logWarning: logWarningDisabled,\n logError: logErrorDisabled,\n }\n }\n\n throw new Error(`unexpected logLevel.\nlogLevel: ${logLevel}\nallowed log levels: ${LOG_LEVEL_OFF}, ${LOG_LEVEL_ERRORS}, ${LOG_LEVEL_ERRORS_AND_WARNINGS}, ${LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS}, ${LOG_LEVEL_MAXIMUM}`)\n}\n\nconst logTrace = console.trace\n\nconst logTraceDisabled = () => {}\n\nconst log = console.log\n\nconst logDisabled = () => {}\n\nconst logWarning = console.warn\n\nconst logWarningDisabled = () => {}\n\nconst logError = console.error\n\nconst logErrorDisabled = () => {}\n","const createRollupPluginExternalGlobal = import.meta.require(\"rollup-plugin-external-globals\")\n\nexport const createImportFromGlobalRollupPlugin = ({ platformGlobalName }) => {\n if (typeof platformGlobalName !== \"string\")\n throw new TypeError(`platformGlobalName must be a string, got ${platformGlobalName}.`)\n\n return createRollupPluginExternalGlobal(\n {\n global: platformGlobalName,\n },\n {\n exclude: [/\\.json$/],\n },\n )\n}\n","// certainly needs to be moved to @dmail/cancellation\n\nexport const firstOperationMatching = ({ array, start, predicate }) => {\n if (typeof array !== \"object\") throw new TypeError(createArrayErrorMessage({ array }))\n if (typeof start !== \"function\") throw new TypeError(createStartErrorMessage({ start }))\n if (typeof predicate !== \"function\")\n throw new TypeError(createPredicateErrorMessage({ predicate }))\n\n return new Promise((resolve, reject) => {\n const visit = (index) => {\n if (index >= array.length) {\n return resolve()\n }\n const input = array[index]\n const returnValue = start(input)\n return Promise.resolve(returnValue).then((output) => {\n if (predicate(output)) {\n return resolve(output)\n }\n return visit(index + 1)\n }, reject)\n }\n\n visit(0)\n })\n}\n\nconst createArrayErrorMessage = ({ array }) => `array must be an object.\narray: ${array}`\n\nconst createStartErrorMessage = ({ start }) => `start must be a function.\nstart: ${start}`\n\nconst createPredicateErrorMessage = ({ predicate }) => `predicate must be a function.\npredicate: ${predicate}`\n","export const promiseSequence = async (callbackArray) => {\n const values = []\n const visit = async (index) => {\n if (index === callbackArray.length) return\n const callback = callbackArray[index]\n const value = await callback()\n values.push(value)\n await visit(index + 1)\n }\n await visit(0)\n return values\n}\n","import { mkdir, lstat } from \"fs\"\nimport { promiseSequence } from \"./promiseSequence.js\"\n\n// nodejs 10.12.0 https://nodejs.org/api/fs.html#fs_fs_mkdir_path_options_callback\n// export const ensureFolderLeadingTo = (file) => {\n// return new Promise((resolve, reject) => {\n// fs.mkdir(path.dirname(file), { resurcive: true }, (error) => {\n// if (error) {\n// if (error.code === \"EEXIST\") {\n// resolve()\n// return\n// }\n// reject(error)\n// return\n// }\n// resolve()\n// })\n// })\n// }\n\nexport const fileMakeDirname = (file) => {\n const fileNormalized = normalizeSeparation(file)\n // remove first / in case path starts with / (linux)\n // because it would create a \"\" entry in folders array below\n // tryig to create a folder at \"\"\n const fileStartsWithSlash = fileNormalized[0] === \"/\"\n const pathname = fileStartsWithSlash ? fileNormalized.slice(1) : fileNormalized\n const folders = pathname.split(\"/\")\n folders.pop()\n\n return promiseSequence(\n folders.map((_, index) => {\n return () => {\n const folder = folders.slice(0, index + 1).join(\"/\")\n return folderMake(`${fileStartsWithSlash ? \"/\" : \"\"}${folder}`)\n }\n }),\n )\n}\n\nconst normalizeSeparation = (file) => file.replace(/\\\\/g, \"/\")\n\nconst folderMake = (folder) =>\n new Promise((resolve, reject) => {\n mkdir(folder, async (error) => {\n if (error) {\n // au cas ou deux script essayent de crée un dossier peu importe qui y arrive c'est ok\n if (error.code === \"EEXIST\") {\n const stat = await fileLastStat(folder)\n if (stat.isDirectory()) {\n resolve()\n } else {\n reject({ status: 500, reason: \"expect a directory\" })\n }\n } else {\n reject({ status: 500, reason: error.code })\n }\n } else {\n resolve()\n }\n })\n })\n\nconst fileLastStat = (path) =>\n new Promise((resolve, reject) => {\n lstat(path, (error, lstat) => {\n if (error) {\n reject({ status: 500, reason: error.code })\n } else {\n resolve(lstat)\n }\n })\n })\n","import { promisify } from \"util\"\nimport { copyFile } from \"fs\"\nimport { fileMakeDirname } from \"./fileMakeDirname.js\"\n\nconst copyFilePromisified = promisify(copyFile)\n\nexport const fileCopy = async (source, destination) => {\n await fileMakeDirname(destination)\n return copyFilePromisified(source, destination)\n}\n","import { promisify } from \"util\"\nimport { readFile } from \"fs\"\n\nconst readFilePromisified = promisify(readFile)\n\nexport const fileRead = async (file) => {\n const buffer = await readFilePromisified(file)\n return buffer.toString()\n}\n","import { promisify } from \"util\"\nimport { stat } from \"fs\"\n\nconst statPromisified = promisify(stat)\n\nexport const fileStat = async (file) => {\n const stat = await statPromisified(file)\n return stat\n}\n","import { promisify } from \"util\"\nimport { lstat } from \"fs\"\n\nconst lstatPromisified = promisify(lstat)\n\nexport const fileLStat = async (file) => {\n const lstat = await lstatPromisified(file)\n return lstat\n}\n","import { promisify } from \"util\"\nimport { writeFile } from \"fs\"\nimport { fileMakeDirname } from \"./fileMakeDirname.js\"\n\nconst writeFilePromisified = promisify(writeFile)\n\nexport const fileWrite = async (file, content) => {\n await fileMakeDirname(file)\n return writeFilePromisified(file, content)\n}\n","import { promisify } from \"util\"\nimport { readdir } from \"fs\"\n\nconst readdirPromisified = promisify(readdir)\n\nexport const folderRead = async (folder) => {\n const ressources = await readdirPromisified(folder)\n return ressources\n}\n","export const pathnameToDirname = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex === -1) return \"\"\n\n return pathname.slice(0, slashLastIndex)\n}\n","import { fileRead } from \"@dmail/helper\"\n\nexport const readPackageData = async ({ path }) => {\n const packageString = await fileRead(path)\n const packageData = JSON.parse(packageString)\n return packageData\n}\n","import {\n pathnameToOperatingSystemPath,\n pathnameToRelativePathname,\n} from \"@jsenv/operating-system-path\"\nimport { firstOperationMatching } from \"@dmail/helper\"\nimport { pathnameToDirname } from \"../../pathnameToDirname.js\"\nimport { readPackageData } from \"./readPackageData.js\"\n\nexport const resolveNodeModule = async ({\n rootPathname,\n packagePathname,\n packageData,\n dependencyName,\n dependencyVersionPattern,\n dependencyType,\n onWarn,\n}) => {\n const packageFolderPathname = pathnameToDirname(packagePathname)\n const packageFolderRelativePath = pathnameToRelativePathname(packageFolderPathname, rootPathname)\n\n const nodeModuleCandidateArray = [\n ...getCandidateArrayFromPackageFolder(packageFolderRelativePath),\n `node_modules`,\n ]\n\n const result = await firstOperationMatching({\n array: nodeModuleCandidateArray,\n start: async (nodeModuleCandidate) => {\n const packagePathname = `${rootPathname}/${nodeModuleCandidate}/${dependencyName}/package.json`\n try {\n const packageData = await readPackageData({\n path: pathnameToOperatingSystemPath(packagePathname),\n })\n return { packagePathname, packageData }\n } catch (e) {\n if (e.code === \"ENOENT\") {\n return {}\n }\n\n if (e.name === \"SyntaxError\") {\n throw createDependencyPackageParsingError({\n parsingError: e,\n packagePathname,\n })\n }\n\n throw e\n }\n },\n predicate: ({ packageData }) => Boolean(packageData),\n })\n\n if (!result) {\n onWarn({\n code: \"DEPENDENCY_NOT_FOUND\",\n message: createDendencyNotFoundMessage({\n dependencyName,\n dependencyType,\n dependencyVersionPattern,\n packagePathname,\n packageData,\n }),\n data: { packagePathname, packageData, dependencyName, dependencyType },\n })\n }\n\n return result\n}\n\nconst getCandidateArrayFromPackageFolder = (packageFolderRelativePath) => {\n if (packageFolderRelativePath === \"\") return []\n\n const candidateArray = []\n const relativeFolderNameArray = packageFolderRelativePath.split(\"/node_modules/\")\n // remove the first empty string\n relativeFolderNameArray.shift()\n\n let i = relativeFolderNameArray.length\n while (i--) {\n candidateArray.push(\n `node_modules/${relativeFolderNameArray.slice(0, i + 1).join(\"/node_modules/\")}/node_modules`,\n )\n }\n\n return candidateArray\n}\n\nconst createDependencyPackageParsingError = ({ parsingError, packagePathname }) =>\n new SyntaxError(`error while parsing dependency package.json.\n--- parsing error message ---\n${parsingError.message}\n--- package.json path ---\n${pathnameToOperatingSystemPath(packagePathname)}\n`)\n\nconst createDendencyNotFoundMessage = ({\n dependencyName,\n dependencyType,\n dependencyVersionPattern,\n packageData,\n packagePathname,\n}) => `cannot find a ${dependencyType}.\n--- ${dependencyType} ---\n${dependencyName}@${dependencyVersionPattern}\n--- required by ---\n${packageData.name}@${packageData.version}\n--- package.json path ---\n${pathnameToOperatingSystemPath(packagePathname)}\n`\n","import { extname } from \"path\"\nimport { stat } from \"fs\"\nimport { firstOperationMatching } from \"@dmail/helper\"\nimport { pathnameToOperatingSystemPath } from \"@jsenv/operating-system-path\"\nimport { pathnameToDirname } from \"../../pathnameToDirname.js\"\n\nexport const resolvePackageMain = ({ packageData, packagePathname, onWarn }) => {\n if (\"module\" in packageData) {\n return resolveMainFile({\n from: \"module\",\n main: packageData.module,\n packagePathname,\n onWarn,\n })\n }\n\n if (\"jsnext:main\" in packageData) {\n return resolveMainFile({\n from: \"jsnext:main\",\n main: packageData[\"jsnext:main\"],\n packagePathname,\n onWarn,\n })\n }\n\n if (\"main\" in packageData) {\n return resolveMainFile({\n from: \"main\",\n main: packageData.main,\n packagePathname,\n onWarn,\n })\n }\n\n return resolveMainFile({\n from: \"default\",\n main: \"index\",\n packagePathname,\n onWarn,\n })\n}\n\nconst extensionCandidateArray = [\"js\", \"json\", \"node\"]\n\nconst resolveMainFile = async ({ main, packagePathname, onWarn }) => {\n // main is explicitely empty meaning\n // it is assumed that we should not find a file\n if (main === \"\") return \"\"\n\n if (main.slice(0, 2) === \"./\") main = main.slice(2)\n if (main[0] === \"/\") main = main.slice(1)\n\n const packageDirname = pathnameToDirname(packagePathname)\n const extension = extname(main)\n\n if (extension === \"\") {\n const fileWithoutExtensionPathname = `${packageDirname}/${main}`\n\n const extensionLeadingToFile = await firstOperationMatching({\n array: extensionCandidateArray,\n start: async (extensionCandidate) => {\n const path = pathnameToOperatingSystemPath(\n `${fileWithoutExtensionPathname}.${extensionCandidate}`,\n )\n const isFile = await pathLeadsToAFile(path)\n return isFile ? extensionCandidate : null\n },\n predicate: (extension) => Boolean(extension),\n })\n if (extensionLeadingToFile) return `${main}.${extensionLeadingToFile}`\n\n onWarn({\n code: \"MAIN_FILE_NOT_FOUND\",\n message: createMainFileNotFoundMessage({\n mainPathname: fileWithoutExtensionPathname,\n packagePathname,\n }),\n data: { main, packagePathname },\n })\n\n return `${main}.js`\n }\n\n const mainPathname = `${packageDirname}/${main}`\n const isFile = await pathLeadsToAFile(mainPathname)\n if (!isFile) {\n onWarn({\n code: \"MAIN_FILE_NOT_FOUND\",\n message: createMainFileNotFoundMessage({\n mainPathname,\n packagePathname,\n }),\n data: { main, packagePathname },\n })\n }\n\n return main\n}\n\nconst pathLeadsToAFile = (path) => {\n return new Promise((resolve, reject) => {\n stat(path, (error, statObject) => {\n if (error) {\n if (error.code === \"ENOENT\") resolve(false)\n else reject(error)\n } else {\n resolve(statObject.isFile())\n }\n })\n })\n}\n\n// we know in advance this remapping does not lead to an actual file.\n// we only warn because we have no guarantee this remapping will actually be used\n// in the codebase.\nconst createMainFileNotFoundMessage = ({\n mainPathname,\n packagePathname,\n}) => `cannot find a module main file.\n--- extensions tried ---\n${extensionCandidateArray.join(\",\")}\n--- main path ---\n${pathnameToOperatingSystemPath(mainPathname)}\n--- package.json path ---\n${pathnameToOperatingSystemPath(packagePathname)}`\n","export const importMapToVsCodeConfigPaths = ({ imports = {} }) => {\n const paths = {}\n\n const handleImportsAt = (pathPattern, remappingValue) => {\n let path\n if (pathPattern.endsWith(\"/\")) {\n path = `${pathPattern}*`\n } else {\n path = pathPattern\n }\n\n const remappingArray = typeof remappingValue === \"string\" ? [remappingValue] : remappingValue\n const candidates = remappingArray\n .filter((remapping) => !remapping.endsWith(\"/\"))\n .map((remapping) => `.${remapping}`)\n\n if (candidates.length) {\n if (path in paths) {\n paths[path] = [...paths[path], ...candidates]\n } else {\n paths[path] = candidates\n }\n }\n }\n\n Object.keys(imports).forEach((importPattern) => {\n handleImportsAt(importPattern, imports[importPattern])\n })\n\n return paths\n}\n","import { basename } from \"path\"\nimport { composeTwoImportMaps, sortImportMap } from \"@jsenv/import-map\"\nimport {\n operatingSystemPathToPathname,\n pathnameToRelativePathname,\n pathnameToOperatingSystemPath,\n} from \"@jsenv/operating-system-path\"\nimport { fileWrite } from \"@dmail/helper\"\nimport { catchAsyncFunctionCancellation } from \"@dmail/cancellation\"\nimport { pathnameToDirname } from \"../pathnameToDirname.js\"\nimport {\n resolveNodeModule,\n readPackageData,\n resolvePackageMain,\n} from \"./node-module-resolution/index.js\"\nimport { importMapToVsCodeConfigPaths } from \"./importMapToVsCodeConfigPaths.js\"\n\nexport const generateImportMapForNodeModules = async ({\n projectPath,\n rootProjectPath = projectPath,\n importMapRelativePath = \"/importMap.json\",\n inputImportMap = {},\n includeDevDependencies = false,\n onWarn = ({ message }) => {\n console.warn(message)\n },\n writeImportMapFile = false,\n logImportMapFilePath = true,\n throwUnhandled = true,\n writeJsConfigFile = false,\n logJsConfigFilePath = true,\n}) =>\n catchAsyncFunctionCancellation(async () => {\n const projectPathname = operatingSystemPathToPathname(projectPath)\n const projectPackagePathname = `${projectPathname}/package.json`\n\n const rootProjectPathname = operatingSystemPathToPathname(rootProjectPath)\n const rootImporterName = basename(rootProjectPathname)\n const rootPackagePathname = `${rootProjectPathname}/package.json`\n\n const imports = {}\n const scopes = {}\n\n const start = async () => {\n const projectPackageData = await readPackageData({\n path: pathnameToOperatingSystemPath(projectPackagePathname),\n onWarn,\n })\n await visitProjectPackage({\n packagePathname: projectPackagePathname,\n packageData: projectPackageData,\n })\n const nodeModuleImportMap = { imports, scopes }\n const importMap = composeTwoImportMaps(inputImportMap, nodeModuleImportMap)\n const sortedImportMap = sortImportMap(importMap)\n\n if (writeImportMapFile) {\n const importMapPath = pathnameToOperatingSystemPath(\n `${projectPathname}${importMapRelativePath}`,\n )\n await fileWrite(importMapPath, JSON.stringify(sortedImportMap, null, \" \"))\n if (logImportMapFilePath) {\n console.log(`-> ${importMapPath}`)\n }\n }\n if (writeJsConfigFile) {\n const jsConfigPath = pathnameToOperatingSystemPath(`${projectPathname}/jsconfig.json`)\n try {\n const jsConfig = {\n compilerOptions: {\n baseUrl: \".\",\n paths: {\n \"/*\": [\"./*\"],\n ...importMapToVsCodeConfigPaths(importMap),\n },\n },\n }\n await fileWrite(jsConfigPath, JSON.stringify(jsConfig, null, \" \"))\n if (logJsConfigFilePath) {\n console.log(`-> ${jsConfigPath}`)\n }\n } catch (e) {\n if (e.code !== \"ENOENT\") {\n throw e\n }\n }\n }\n\n return sortedImportMap\n }\n\n const visitProjectPackage = async ({ packagePathname, packageData }) => {\n await visit({\n packagePathname,\n packageData,\n packageName: packageData.name,\n importerPackagePathname: packagePathname,\n })\n }\n\n const seen = {}\n const visit = async ({\n packagePathname,\n packageData,\n packageName,\n importerPackagePathname,\n }) => {\n if (packagePathname in seen) {\n if (seen[packagePathname].includes(importerPackagePathname)) return\n seen[packagePathname].push(importerPackagePathname)\n } else {\n seen[packagePathname] = [importerPackagePathname]\n }\n\n await visitPackage({\n packagePathname,\n packageData,\n packageName,\n importerPackagePathname,\n })\n await visitDependencies({\n packagePathname,\n packageData,\n })\n }\n\n const visitPackage = async ({\n packagePathname,\n packageData,\n packageName,\n importerPackagePathname,\n }) => {\n const packagePathInfo = computePackagePathInfo({\n packagePathname,\n packageName,\n importerPackagePathname,\n })\n\n await visitPackageMain({\n packagePathname,\n packageName,\n packageData,\n packagePathInfo,\n })\n\n if (\"imports\" in packageData) {\n visitPackageImports({\n packagePathname,\n packageName,\n packageData,\n packagePathInfo,\n })\n }\n\n if (\"exports\" in packageData) {\n visitPackageExports({\n packagePathname,\n packageName,\n packageData,\n packagePathInfo,\n })\n }\n }\n\n const visitPackageMain = async ({\n packagePathname,\n packageData,\n packageName,\n packagePathInfo: {\n packageIsRoot,\n packageIsProject,\n importerPackageIsRoot,\n importerName,\n actualRelativePath,\n expectedRelativePath,\n },\n }) => {\n if (packageIsRoot) return\n if (packageIsProject) return\n\n const main = await resolvePackageMain({\n packagePathname,\n packageData,\n onWarn: () => {},\n })\n\n // it's possible to have no main\n // like { main: \"\" } in package.json\n // or a main that does not lead to an actual file\n if (!main) return\n\n const from = packageName\n const to = `${actualRelativePath}/${main}`\n\n if (importerPackageIsRoot) {\n addImportMapping({ from, to })\n } else {\n addScopedImportMapping({ scope: `/${importerName}/`, from, to })\n }\n if (actualRelativePath !== expectedRelativePath) {\n addScopedImportMapping({ scope: `/${importerName}/`, from, to })\n }\n }\n\n const visitPackageImports = ({ packagePathname, packageData, packagePathInfo }) => {\n const { imports: packageImports } = packageData\n if (typeof packageImports !== \"object\" || packageImports === null) {\n onWarn(\n createUnexpectedPackageImportsWarning({\n packageImports,\n packagePathname,\n }),\n )\n return\n }\n\n const { packageIsRoot, actualRelativePath } = packagePathInfo\n\n Object.keys(packageImports).forEach((key) => {\n const resolvedKey = resolvePathInPackage(key, packagePathname)\n if (!resolvedKey) return\n const resolvedValue = resolvePathInPackage(packageImports[key], packagePathname)\n if (!resolvedValue) return\n\n if (packageIsRoot) {\n addImportMapping({\n from: resolvedKey,\n to: resolvedValue,\n })\n } else {\n addScopedImportMapping({\n scope: `${actualRelativePath}/`,\n from: resolvedKey,\n to: `${actualRelativePath}${resolvedValue}`,\n })\n }\n })\n\n if (!packageIsRoot) {\n // ensureImportsScopedInsidePackage\n addScopedImportMapping({\n scope: `${actualRelativePath}/`,\n from: `${actualRelativePath}/`,\n to: `${actualRelativePath}/`,\n })\n }\n }\n\n const visitPackageExports = ({\n packagePathname,\n packageName,\n packageData,\n packagePathInfo: { importerName, packageIsRoot, actualRelativePath, expectedRelativePath },\n }) => {\n if (packageIsRoot) return\n\n const { exports: packageExports } = packageData\n if (typeof packageExports !== \"object\" || packageExports === null) {\n onWarn(\n createUnexpectedPackageExportsWarning({\n packageExports,\n packagePathname,\n }),\n )\n return\n }\n\n Object.keys(packageExports).forEach((key) => {\n const resolvedKey = resolvePathInPackage(key, packagePathname)\n if (!resolvedKey) return\n const resolvedValue = resolvePathInPackage(packageExports[key], packagePathname)\n if (!resolvedValue) return\n const from = `${packageName}${resolvedKey}`\n const to = `${actualRelativePath}${resolvedValue}`\n\n if (importerName === rootImporterName) {\n addImportMapping({ from, to })\n } else {\n addScopedImportMapping({ scope: `/${importerName}/`, from, to })\n }\n if (actualRelativePath !== expectedRelativePath) {\n addScopedImportMapping({\n scope: `/${importerName}/`,\n from,\n to,\n })\n }\n })\n }\n\n const visitDependencies = async ({ packagePathname, packageData }) => {\n const dependencyMap = {}\n\n const { dependencies = {} } = packageData\n Object.keys(dependencies).forEach((dependencyName) => {\n dependencyMap[dependencyName] = {\n type: \"dependency\",\n versionPattern: dependencies[dependencyName],\n }\n })\n\n const { peerDependencies = {} } = packageData\n Object.keys(peerDependencies).forEach((dependencyName) => {\n dependencyMap[dependencyName] = {\n type: \"peerDependency\",\n versionPattern: peerDependencies[dependencyName],\n }\n })\n\n const isProjectPackage = packagePathname === projectPackagePathname\n if (includeDevDependencies && isProjectPackage) {\n const { devDependencies = {} } = packageData\n Object.keys(devDependencies).forEach((dependencyName) => {\n if (!dependencyMap.hasOwnProperty(dependencyName)) {\n dependencyMap[dependencyName] = {\n type: \"devDependency\",\n versionPattern: devDependencies[dependencyName],\n }\n }\n })\n }\n\n await Promise.all(\n Object.keys(dependencyMap).map(async (dependencyName) => {\n const dependency = dependencyMap[dependencyName]\n const dependencyData = await findDependency({\n packagePathname,\n packageData,\n dependencyName,\n dependencyType: dependency.type,\n dependencyVersionPattern: dependency.versionPattern,\n })\n if (!dependencyData) {\n return\n }\n\n const {\n packagePathname: dependencyPackagePathname,\n packageData: dependencyPackageData,\n } = dependencyData\n\n await visit({\n packagePathname: dependencyPackagePathname,\n packageData: dependencyPackageData,\n packageName: dependencyName,\n importerPackagePathname: packagePathname,\n })\n }),\n )\n }\n\n const computePackagePathInfo = ({ packagePathname, packageName, importerPackagePathname }) => {\n const packageIsRoot = packagePathname === rootPackagePathname\n\n const packageIsProject = packagePathname === projectPackagePathname\n\n const importerPackageIsRoot = importerPackagePathname === rootPackagePathname\n\n const importerPackageIsProject = importerPackagePathname === projectPackagePathname\n\n const importerName = importerPackageIsRoot\n ? rootImporterName\n : pathnameToDirname(\n pathnameToRelativePathname(importerPackagePathname, rootProjectPathname),\n ).slice(1)\n\n const actualPathname = pathnameToDirname(packagePathname)\n const actualRelativePath = pathnameToRelativePathname(actualPathname, rootProjectPathname)\n let expectedPathname\n if (packageIsProject && !packageIsRoot) {\n expectedPathname = pathnameToDirname(importerPackagePathname)\n } else {\n expectedPathname = `${pathnameToDirname(\n importerPackagePathname,\n )}/node_modules/${packageName}`\n }\n const expectedRelativePath = pathnameToRelativePathname(expectedPathname, rootProjectPathname)\n\n return {\n importerPackageIsRoot,\n importerPackageIsProject,\n importerName,\n packageIsRoot,\n packageIsProject,\n actualRelativePath,\n expectedRelativePath,\n }\n }\n\n const resolvePathInPackage = (path, packagePathname) => {\n if (path[0] === \"/\") return path\n if (path.slice(0, 2) === \"./\") return path.slice(1)\n onWarn(\n createInvalidPackageRelativePathWarning({\n path,\n packagePathname,\n }),\n )\n return \"\"\n }\n\n const addImportMapping = ({ from, to }) => {\n imports[from] = to\n }\n\n const addScopedImportMapping = ({ scope, from, to }) => {\n scopes[scope] = {\n ...(scopes[scope] || {}),\n [from]: to,\n }\n }\n\n const dependenciesCache = {}\n const findDependency = ({\n packagePathname,\n packageData,\n dependencyName,\n dependencyType,\n dependencyVersionPattern,\n }) => {\n if (packagePathname in dependenciesCache === false) {\n dependenciesCache[packagePathname] = {}\n }\n if (dependencyName in dependenciesCache[packagePathname]) {\n return dependenciesCache[packagePathname][dependencyName]\n }\n const dependencyPromise = resolveNodeModule({\n rootPathname: rootProjectPathname,\n packagePathname,\n packageData,\n dependencyName,\n dependencyType,\n dependencyVersionPattern,\n onWarn,\n })\n dependenciesCache[packagePathname][dependencyName] = dependencyPromise\n return dependencyPromise\n }\n\n const promise = start()\n if (!throwUnhandled) return promise\n return promise.catch((e) => {\n setTimeout(() => {\n throw e\n })\n })\n })\n\nconst createInvalidPackageRelativePathWarning = ({ path, packagePathname }) => {\n return {\n code: \"INVALID_PATH_RELATIVE_TO_PACKAGE\",\n message: `\ninvalid path relative to package.\n--- path ---\n${path}\n--- package.json path ---\n${pathnameToOperatingSystemPath(packagePathname)}\n`,\n data: { packagePathname, path },\n }\n}\n\nconst createUnexpectedPackageImportsWarning = ({ packageImports, packagePathname }) => {\n return {\n code: \"UNEXPECTED_PACKAGE_IMPORTS\",\n message: `\npackage.imports must be an object.\n--- package.json imports ---\n${packageImports}\n--- package.json path ---\n${pathnameToOperatingSystemPath(packagePathname)}\n`,\n data: { packagePathname, packageImports },\n }\n}\n\nconst createUnexpectedPackageExportsWarning = ({ packageExports, packagePathname }) => {\n return {\n code: \"UNEXPECTED_PACKAGE_EXPORTS\",\n message: `\npackage.exports must be an object.\n--- package.json exports ---\n${packageExports}\n--- package.json path ---\n${pathnameToOperatingSystemPath(packagePathname)}\n`,\n data: { packagePathname, packageExports },\n }\n}\n","export const generateSpecifierMapOption = () => undefined\n","const { buildExternalHelpers } = import.meta.require(\"@babel/core\")\n\nexport const BABEL_HELPERS_FACADE_PATH = \"/.jsenv/babelHelpers.js\"\n\nexport const GLOBAL_THIS_FACADE_PATH = \"/.jsenv/helpers/global-this.js\"\n\nexport const generateSpecifierDynamicMapOption = () => {\n return {\n [GLOBAL_THIS_FACADE_PATH]: () => generateGlobalThisSource(),\n [BABEL_HELPERS_FACADE_PATH]: () => {\n return {\n code: buildExternalHelpers(undefined, \"module\"),\n // babel helper must not be retransformed\n skipTransform: true,\n }\n },\n }\n}\n\nconst generateGlobalThisSource = () => `\n// eslint-disable-next-line no-undef\nif (typeof globalThis !== \"object\") {\n let globalObject\n\n if (this) {\n globalObject = this\n } else {\n // eslint-disable-next-line no-extend-native\n Object.defineProperty(Object.prototype, \"__global__\", {\n get() {\n return this\n },\n configurable: true,\n })\n // eslint-disable-next-line no-undef\n globalObject = __global__\n delete Object.prototype.__global__\n }\n\n globalObject.globalThis = globalObject\n}`\n","const { addNamed } = import.meta.require(\"@babel/helper-module-imports\")\n\n// for reference this is how it's done to reference\n// a global babel helper object instead of using\n// a named import\n// https://github.com/babel/babel/blob/master/packages/babel-plugin-external-helpers/src/index.js\n\n// named import approach found here:\n// https://github.com/rollup/rollup-plugin-babel/blob/18e4232a450f320f44c651aa8c495f21c74d59ac/src/helperPlugin.js#L1\nexport const createReplaceBabelHelperByNamedImportsBabelPlugin = ({ babelHelpersFacadePath }) => {\n return {\n pre: (file) => {\n const cachedHelpers = {}\n file.set(\"helperGenerator\", (name) => {\n if (!file.availableHelper(name)) {\n return undefined\n }\n\n if (cachedHelpers[name]) {\n return cachedHelpers[name]\n }\n\n // https://github.com/babel/babel/tree/master/packages/babel-helper-module-imports\n const helper = addNamed(file.path, name, babelHelpersFacadePath)\n cachedHelpers[name] = helper\n return helper\n })\n },\n }\n}\n","const { addSideEffect } = import.meta.require(\"@babel/helper-module-imports\")\n\nexport const createForceImportsBabelPlugin = ({ sideEffectImportRelativePathArray }) => {\n return {\n pre: (file) => {\n const { opts } = file.path.hub.file\n const isFileItself = sideEffectImportRelativePathArray.some(\n (relativePath) => relativePath.slice(1) === opts.filenameRelative,\n )\n if (isFileItself) return\n sideEffectImportRelativePathArray.forEach((relativePath) => {\n addSideEffect(file.path, relativePath)\n })\n },\n }\n}\n","// https://github.com/cfware/babel-plugin-bundled-import-meta/blob/master/index.js\nconst { addNamed } = import.meta.require(\"@babel/helper-module-imports\")\n\nexport const createImportMetaUrlNamedImportBabelPlugin = ({ importMetaFacadePath }) => {\n return () => {\n return {\n visitor: {\n Program(programPath) {\n const metaPropertyMap = {}\n\n programPath.traverse({\n MemberExpression(path) {\n const { node } = path\n const { object } = node\n if (object.type !== \"MetaProperty\") return\n\n const { property: objectProperty } = object\n if (objectProperty.name !== \"meta\") return\n\n const { property } = node\n const { name } = property\n if (name in metaPropertyMap) {\n metaPropertyMap[name].push(path)\n } else {\n metaPropertyMap[name] = [path]\n }\n },\n })\n\n Object.keys(metaPropertyMap).forEach((propertyName) => {\n const importMetaPropertyId = propertyName\n const result = addNamed(programPath, importMetaPropertyId, importMetaFacadePath)\n metaPropertyMap[propertyName].forEach((path) => {\n path.replaceWith(result)\n })\n })\n },\n },\n }\n }\n}\n","import {\n GLOBAL_THIS_FACADE_PATH,\n BABEL_HELPERS_FACADE_PATH,\n} from \"../specifier-dynamic-map/specifier-dynamic-map.js\"\nimport { createReplaceBabelHelperByNamedImportsBabelPlugin } from \"./replace-babel-helper-by-named-imports-babel-plugin.js\"\nimport { createForceImportsBabelPlugin } from \"./force-imports-babel-plugin.js\"\nimport { createImportMetaUrlNamedImportBabelPlugin } from \"./createImportMetaUrlNamedImportBabelPlugin.js\"\nimport { jsenvBundlingProjectPathname } from \"../jsenv-bundling-project.js\"\n\nexport const generateBabelPluginMapOption = ({\n projectPathname,\n format,\n babelPluginMap,\n featureNameArray,\n // global this being a relative path does not work\n // this is because it's hard to predict where global-this.js\n // wil be, or even this file\n // stuff gets bundled to common-js and becomes\n // dependencies or dependencies\n // for now global this source is just a string\n // eslint-disable-next-line no-unused-vars\n globalThisHelperRelativePath,\n}) => {\n return {\n ...generateBabelPluginMapSubset({\n babelPluginMap,\n featureNameArray,\n }),\n ...generateBabelPluginMapForBundle({\n projectPathname,\n format,\n globalThisHelperRelativePath: GLOBAL_THIS_FACADE_PATH,\n babelHelpersFacadePath: BABEL_HELPERS_FACADE_PATH,\n }),\n }\n}\n\nconst generateBabelPluginMapSubset = ({ babelPluginMap, featureNameArray }) => {\n const babelPluginMapSubset = {}\n\n Object.keys(babelPluginMap).forEach((babelPluginName) => {\n if (featureNameArray.includes(babelPluginName)) {\n babelPluginMapSubset[babelPluginName] = babelPluginMap[babelPluginName]\n }\n })\n\n return babelPluginMapSubset\n}\n\nconst generateBabelPluginMapForBundle = ({\n projectPathname,\n format,\n globalThisHelperRelativePath,\n babelHelpersFacadePath,\n}) => {\n const bundleBabelPluginMap = {}\n\n const forcedImportsBabelPlugin = createForceImportsBabelPlugin({\n projectPathname,\n sideEffectImportRelativePathArray: [globalThisHelperRelativePath],\n })\n bundleBabelPluginMap[\"force-imports\"] = [forcedImportsBabelPlugin]\n\n const replaceBabelHelperByNamedImportsBabelPlugin = createReplaceBabelHelperByNamedImportsBabelPlugin(\n {\n babelHelpersFacadePath,\n },\n )\n bundleBabelPluginMap[\"replace-babel-helper-by-named-imports\"] = [\n replaceBabelHelperByNamedImportsBabelPlugin,\n ]\n\n if (format === \"commonjs\" || format === \"global\") {\n let importMetaFacadePath\n if (projectPathname === jsenvBundlingProjectPathname) {\n importMetaFacadePath = `/src/babel-plugin-map/import-meta-${format}.js`\n } else {\n importMetaFacadePath = `@jsenv/bundling/src/babel-plugin-map/import-meta-${format}.js`\n }\n\n bundleBabelPluginMap[\n \"import-meta-url-named-import\"\n ] = createImportMetaUrlNamedImportBabelPlugin({\n importMetaFacadePath,\n })\n }\n\n return bundleBabelPluginMap\n}\n","import { globalAgent } from \"https\"\nimport { createOperation } from \"@dmail/cancellation\"\n\nconst fetch = import.meta.require(\"node-fetch\")\nconst AbortController = import.meta.require(\"abort-controller\")\n\n// ideally we should only pass this to the fetch below\nglobalAgent.options.rejectUnauthorized = false\n\nexport const fetchUsingHttp = async (url, { cancellationToken, ...rest } = {}) => {\n if (cancellationToken) {\n // a cancelled fetch will never resolve, while cancellation api\n // expect to get a rejected promise.\n // createOperation ensure we'll get a promise rejected with a cancelError\n const response = await createOperation({\n cancellationToken,\n start: () =>\n fetch(url, {\n signal: cancellationTokenToAbortSignal(cancellationToken),\n ...rest,\n }),\n })\n return normalizeResponse(response)\n }\n\n const response = await fetch(url, rest)\n return normalizeResponse(response)\n}\n\nconst normalizeResponse = async (response) => {\n const text = await response.text()\n return {\n url: response.url,\n status: response.status,\n statusText: response.statusText,\n headers: responseToHeaderMap(response),\n body: text,\n }\n}\n\n// https://github.com/bitinn/node-fetch#request-cancellation-with-abortsignal\nconst cancellationTokenToAbortSignal = (cancellationToken) => {\n const abortController = new AbortController()\n cancellationToken.register((reason) => {\n abortController.abort(reason)\n })\n return abortController.signal\n}\n\nconst responseToHeaderMap = (response) => {\n const headerMap = {}\n response.headers.forEach((value, name) => {\n headerMap[name] = value\n })\n return headerMap\n}\n","export const writeSourceMappingURL = (source, location) => `${source}\n${\"//#\"} sourceMappingURL=${location}`\n\nexport const updateSourceMappingURL = (source, callback) => {\n const sourceMappingUrlRegExp = /\\/\\/# ?sourceMappingURL=([^\\s'\"]+)/g\n let lastSourceMappingUrl\n let matchSourceMappingUrl\n while ((matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source))) {\n lastSourceMappingUrl = matchSourceMappingUrl\n }\n if (lastSourceMappingUrl) {\n const index = lastSourceMappingUrl.index\n const before = source.slice(0, index)\n const after = source.slice(index)\n const mappedAfter = after.replace(sourceMappingUrlRegExp, (match, firstGroup) => {\n return `${\"//#\"} sourceMappingURL=${callback(firstGroup)}`\n })\n return `${before}${mappedAfter}`\n }\n return source\n}\n\nexport const readSourceMappingURL = (source) => {\n let sourceMappingURL\n updateSourceMappingURL(source, (value) => {\n sourceMappingURL = value\n })\n return sourceMappingURL\n}\n\nexport const parseSourceMappingURL = (source) => {\n const sourceMappingURL = readSourceMappingURL(source)\n\n if (!sourceMappingURL) return null\n\n const base64Prefix = \"data:application/json;charset=utf-8;base64,\"\n if (sourceMappingURL.startsWith(base64Prefix)) {\n const mapBase64Source = sourceMappingURL.slice(base64Prefix.length)\n const sourcemapString = new Buffer(mapBase64Source, \"base64\").toString(\"utf8\")\n return { sourcemapString }\n }\n\n return {\n sourcemapURL: sourceMappingURL,\n }\n}\n\nexport const writeOrUpdateSourceMappingURL = (source, location) => {\n if (readSourceMappingURL(source)) {\n return updateSourceMappingURL(source, location)\n }\n return writeSourceMappingURL(source, location)\n}\n","import { fileRead } from \"@dmail/helper\"\nimport { pathnameToOperatingSystemPath } from \"@jsenv/operating-system-path\"\n\nexport const readProjectImportMap = async ({ projectPathname, importMapRelativePath }) => {\n if (!importMapRelativePath) return {}\n\n try {\n const importMapString = await fileRead(\n pathnameToOperatingSystemPath(`${projectPathname}/${importMapRelativePath}`),\n )\n return JSON.parse(importMapString)\n } catch (e) {\n if (e && e.code === \"ENOENT\") {\n return {}\n }\n throw e\n }\n}\n","/* eslint-disable import/max-dependencies */\nimport { resolve } from \"url\"\nimport { fileRead, fileWrite } from \"@dmail/helper\"\nimport { createOperation } from \"@dmail/cancellation\"\nimport { hrefToPathname, hrefToScheme, pathnameToRelativePath, pathnameIsInside } from \"@jsenv/href\"\nimport {\n pathnameToOperatingSystemPath,\n operatingSystemPathToPathname,\n isWindowsPath,\n} from \"@jsenv/operating-system-path\"\nimport { resolvePath } from \"@jsenv/module-resolution\"\nimport { generateImportMapForNodeModules } from \"@jsenv/node-module-import-map\"\nimport { composeTwoImportMaps } from \"@jsenv/import-map\"\nimport { generateSpecifierMapOption } from \"./specifier-map/specifier-map.js\"\nimport { generateSpecifierDynamicMapOption } from \"./specifier-dynamic-map/specifier-dynamic-map.js\"\nimport { generateBabelPluginMapOption } from \"./babel-plugin-map/babel-plugin-map.js\"\nimport { fetchUsingHttp } from \"./helpers/fetchUsingHttp.js\"\nimport { writeSourceMappingURL, parseSourceMappingURL } from \"./helpers/source-mapping-url.js\"\nimport { readProjectImportMap } from \"./read-project-import-map.js\"\nimport { jsenvBundlingProjectPath } from \"./jsenv-bundling-project.js\"\n// we'll assertFileSync even if rollup will do the same\n// so that it throw early, helping to debug\nimport { assertFileSync } from \"./filesystem-assertions.js\"\n\nconst {\n transformSource,\n jsenvTransform,\n findAsyncPluginNameInBabelPluginMap,\n} = import.meta.require(\"@jsenv/core\")\nconst { minify: minifyCode } = import.meta.require(\"terser\")\n\nexport const createJsenvRollupPlugin = async ({\n cancellationToken,\n projectPathname,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle = {},\n specifierMap,\n specifierDynamicMap,\n origin = \"http://example.com\",\n babelPluginMap,\n convertMap,\n featureNameArray,\n minify,\n format,\n detectAndTransformIfNeededAsyncInsertedByRollup = format === \"global\",\n dir,\n entryPointMap,\n logger,\n}) => {\n const bundlingImportMap = await generateImportMapForNodeModules({\n projectPath: jsenvBundlingProjectPath,\n rootProjectPath: pathnameToOperatingSystemPath(projectPathname),\n onWarn: ({ message }) => logger.logWarning(message),\n })\n const projectImportMap = await readProjectImportMap({ projectPathname, importMapRelativePath })\n const importMap = [importMapForBundle, bundlingImportMap, projectImportMap].reduce(\n (previous, current) => composeTwoImportMaps(previous, current),\n {},\n )\n\n const importMapHref = `file://${projectPathname}${importMapRelativePath}`\n\n specifierMap = {\n ...specifierMap,\n ...generateSpecifierMapOption(),\n [\"/.jsenv/importMap.json\"]: importMapHref,\n }\n const chunkId = `${Object.keys(entryPointMap)[0]}.js`\n specifierDynamicMap = {\n ...specifierDynamicMap,\n ...generateSpecifierDynamicMapOption(),\n [\"/BUNDLE_CONSTANTS.js\"]: () => `export const chunkId = ${JSON.stringify(chunkId)}`,\n }\n babelPluginMap = generateBabelPluginMapOption({\n projectPathname,\n format,\n babelPluginMap,\n featureNameArray,\n })\n // https://github.com/babel/babel/blob/master/packages/babel-core/src/tools/build-external-helpers.js#L1\n\n const idSkipTransformArray = []\n const idLoadMap = {}\n\n const getRollupGenerateOptions = async () => {\n return {}\n }\n\n const jsenvRollupPlugin = {\n name: \"jsenv\",\n\n resolveId: (specifier, importer) => {\n if (specifier in specifierDynamicMap) {\n const specifierDynamicMapping = specifierDynamicMap[specifier]\n if (typeof specifierDynamicMapping !== \"function\") {\n throw new Error(\n `specifier inside specifierDynamicMap must be functions, found ${specifierDynamicMapping} for ${specifier}`,\n )\n }\n\n const osPath = pathnameToOperatingSystemPath(`${projectPathname}${specifier}`)\n idLoadMap[osPath] = specifierDynamicMapping\n return osPath\n }\n\n if (specifier in specifierMap) {\n const specifierMapping = specifierMap[specifier]\n if (typeof specifierMapping !== \"string\") {\n throw new Error(\n `specifier inside specifierMap must be strings, found ${specifierMapping} for ${specifier}`,\n )\n }\n specifier = specifierMapping\n\n // disable remapping when specifier starts with file://\n // this is the only way for now to explicitely disable remapping\n // to target a specific file on filesystem\n // also remove file:// to keep only the os path\n // otherwise windows and rollup will not be happy when\n // searching the files\n if (specifier.startsWith(\"file:///\")) {\n specifier = specifier.slice(\"file://\".length)\n const path = pathnameToOperatingSystemPath(specifier)\n assertFileSync(path)\n return path\n }\n }\n\n if (!importer) {\n if (specifier[0] === \"/\") specifier = specifier.slice(1)\n const path = pathnameToOperatingSystemPath(`${projectPathname}/${specifier}`)\n assertFileSync(path)\n return path\n }\n\n let importerHref\n if (isWindowsPath(importer)) {\n importer = operatingSystemPathToPathname(importer)\n }\n // 99% of the time importer is an operating system path\n // here we ensure / is resolved against project by forcing an url resolution\n // prefixing with origin\n if (importer.startsWith(`${projectPathname}/`)) {\n importerHref = `${origin}${pathnameToRelativePath(importer, projectPathname)}`\n } else if (hrefToScheme(importer)) {\n if (importer.startsWith(`file://${projectPathname}/`)) {\n importerHref = `${origin}${pathnameToRelativePath(\n hrefToPathname(importer),\n projectPathname,\n )}`\n } else {\n // there is already a scheme (http, https, file), keep it\n // it means there is an absolute import starting with file:// or http:// for instance.\n importerHref = importer\n }\n } else {\n throw createImporterOutsideProjectError({ importer, projectPathname })\n }\n\n const id = resolvePath({\n specifier,\n importer: importerHref,\n importMap,\n defaultExtension: importDefaultExtension,\n })\n\n // rollup works with operating system path\n // return os path when possible\n // to ensure we can predict sourcemap.sources returned by rollup\n if (id.startsWith(\"file://\")) {\n const pathname = hrefToPathname(id)\n if (!pathnameIsInside(pathname, projectPathname)) {\n throw new Error(\n createMustBeInsideProjectMessage({\n resolvedId: id,\n specifier,\n importer,\n projectPathname,\n }),\n )\n }\n const path = pathnameToOperatingSystemPath(pathname)\n assertFileSync(path)\n return path\n }\n // we have http or https protocol\n const resolvedIdIsInsideProject = id.startsWith(`${origin}/`)\n if (resolvedIdIsInsideProject) {\n const idPathname = hrefToPathname(id)\n const path = pathnameToOperatingSystemPath(`${projectPathname}${idPathname}`)\n assertFileSync(path)\n return path\n }\n\n return id\n },\n\n // https://rollupjs.org/guide/en#resolvedynamicimport\n // resolveDynamicImport: (specifier, importer) => {\n\n // },\n\n load: async (id) => {\n if (id in idLoadMap) {\n const returnValue = await idLoadMap[id]()\n if (typeof returnValue === \"string\") return returnValue\n if (returnValue.skipTransform) {\n idSkipTransformArray.push(id)\n }\n return returnValue.code\n }\n\n const hasSheme = isWindowsPath(id) ? false : Boolean(hrefToScheme(id))\n const href = hasSheme ? id : `file://${operatingSystemPathToPathname(id)}`\n const response = await fetchHref(href)\n const responseStatus = response.status\n\n if (!responseStatusIsOk(responseStatus)) {\n if (responseStatus === 404 && href === importMapHref) {\n // importMap file is optionnal\n return { code: `export default {}` }\n }\n throw new Error(\n createUnexpectedResponseStatusMessage({\n responseStatus,\n href,\n }),\n )\n }\n\n let source = response.body\n\n if (id.endsWith(\".json\")) {\n source = `export default ${source}`\n }\n\n const sourcemapParsingResult = parseSourceMappingURL(source)\n\n if (!sourcemapParsingResult) {\n return { code: source }\n }\n\n if (sourcemapParsingResult.sourcemapString) {\n return { code: source, map: JSON.parse(sourcemapParsingResult.sourcemapString) }\n }\n\n const resolvedSourceMappingURL = resolve(href, sourcemapParsingResult.sourcemapURL)\n const sourcemapResponse = await fetchHref(resolvedSourceMappingURL)\n const sourcemapResponseStatus = sourcemapResponse.status\n if (!responseStatusIsOk(sourcemapResponse)) {\n logger.logWarning(\n createUnexpectedResponseStatusMessage({\n responseStatus: sourcemapResponseStatus,\n href: resolvedSourceMappingURL,\n }),\n )\n return { code: source }\n }\n\n return { code: source, map: JSON.parse(sourcemapResponse.body) }\n },\n\n // resolveImportMeta: () => {}\n\n transform: async (source, id) => {\n if (idSkipTransformArray.includes(id)) {\n return null\n }\n\n let sourceHref\n if (isWindowsPath(id)) {\n sourceHref = `file://${operatingSystemPathToPathname(id)}`\n } else if (hrefToScheme(id)) {\n sourceHref = id\n } else {\n sourceHref = `file://${operatingSystemPathToPathname(id)}`\n }\n\n const { code, map } = await transformSource({\n projectPathname,\n source,\n sourceHref,\n babelPluginMap,\n convertMap,\n // false, rollup will take care to transform module into whatever format\n transformModuleIntoSystemFormat: false,\n })\n return { code, map }\n },\n\n renderChunk: (source) => {\n if (!minify) return null\n\n // https://github.com/terser-js/terser#minify-options\n const minifyOptions = format === \"global\" ? { toplevel: false } : { toplevel: true }\n const result = minifyCode(source, {\n sourceMap: true,\n ...minifyOptions,\n })\n if (result.error) {\n throw result.error\n } else {\n return result\n }\n },\n\n writeBundle: async (bundle) => {\n if (detectAndTransformIfNeededAsyncInsertedByRollup) {\n await transformAsyncInsertedByRollup({ dir, babelPluginMap, bundle })\n }\n\n Object.keys(bundle).forEach((bundleFilename) => {\n logger.log(`-> ${dir}/${bundleFilename}`)\n })\n },\n }\n\n const fetchHref = async (href) => {\n // this code allow you to have http/https dependency for convenience\n // but maybe we should warn about this.\n // it could also be vastly improved using a basic in memory cache\n if (href.startsWith(\"http://\")) {\n const response = await fetchUsingHttp(href, { cancellationToken })\n return response\n }\n\n if (href.startsWith(\"https://\")) {\n const response = await fetchUsingHttp(href, { cancellationToken })\n return response\n }\n\n if (href.startsWith(\"file:///\")) {\n const code = await createOperation({\n cancellationToken,\n start: () => fileRead(pathnameToOperatingSystemPath(hrefToPathname(href))),\n })\n return {\n status: 200,\n body: code,\n }\n }\n\n throw new Error(`unsupported href: ${href}`)\n }\n\n return {\n jsenvRollupPlugin,\n relativePathAbstractArray: Object.keys(specifierDynamicMap),\n getRollupGenerateOptions,\n }\n}\n\nconst responseStatusIsOk = (responseStatus) => responseStatus >= 200 && responseStatus < 300\n\nconst createUnexpectedResponseStatusMessage = ({\n responseStatus,\n href,\n}) => `unexpected response status.\n--- response status ---\n${responseStatus}\n--- href ---\n${href}`\n\nconst createMustBeInsideProjectMessage = ({ resolvedId, specifier, importer, projectPathname }) => `\nresolved id must be inside project.\n--- resolved id ---\n${resolvedId}\n--- specifier ---\n${specifier}\n--- importer ---\n${importer}\n--- project path ---\n${pathnameToOperatingSystemPath(projectPathname)}`\n\nconst createImporterOutsideProjectError = ({ importer, projectPathname }) =>\n new Error(`importer must be inside project\n importer: ${importer}\n project: ${pathnameToOperatingSystemPath(projectPathname)}`)\n\nconst transformAsyncInsertedByRollup = async ({ dir, babelPluginMap, bundle }) => {\n const asyncPluginName = findAsyncPluginNameInBabelPluginMap(babelPluginMap)\n\n if (!asyncPluginName) return\n\n // we have to do this because rollup ads\n // an async wrapper function without transpiling it\n // if your bundle contains a dynamic import\n await Promise.all(\n Object.keys(bundle).map(async (bundleFilename) => {\n const bundleInfo = bundle[bundleFilename]\n\n const { code, map } = await jsenvTransform({\n inputCode: bundleInfo.code,\n inputMap: bundleInfo.map,\n inputPath: bundleFilename,\n babelPluginMap: { [asyncPluginName]: babelPluginMap[asyncPluginName] },\n transformModuleIntoSystemFormat: false, // already done by rollup\n })\n\n await Promise.all([\n fileWrite(\n `${dir}/${bundleFilename}`,\n writeSourceMappingURL(code, `./${bundleFilename}.map`),\n ),\n fileWrite(`${dir}/${bundleFilename}.map`, JSON.stringify(map)),\n ])\n }),\n )\n}\n","import { createOperation } from \"@dmail/cancellation\"\n\nconst { rollup } = import.meta.require(\"rollup\")\n\nexport const generateBundleUsingRollup = async ({\n cancellationToken,\n rollupParseOptions,\n rollupGenerateOptions,\n writeOnFileSystem,\n}) => {\n const rollupBundle = await createOperation({\n cancellationToken,\n start: () =>\n rollup({\n // about cache here, we should/could reuse previous rollup call\n // to get the cache from the entryPointMap\n // as shown here: https://rollupjs.org/guide/en#cache\n // it could be passed in arguments to this function\n // however parallelism and having different rollup options per\n // call make it a bit complex\n // cache: null\n // https://rollupjs.org/guide/en#experimentaltoplevelawait\n experimentalTopLevelAwait: true,\n // if we want to ignore some warning\n // please use https://rollupjs.org/guide/en#onwarn\n // to be very clear about what we want to ignore\n onwarn: (warning, warn) => {\n if (warningIsThisIsUndefinedFromGlobalThis(warning)) return\n warn(warning)\n },\n ...rollupParseOptions,\n }),\n })\n\n const rollupOutputArray = await createOperation({\n cancellationToken,\n start: () => {\n if (writeOnFileSystem) {\n return rollupBundle.write({\n // https://rollupjs.org/guide/en#experimentaltoplevelawait\n experimentalTopLevelAwait: true,\n // we could put prefConst to true by checking 'transform-block-scoping'\n // presence in babelPluginMap\n preferConst: false,\n ...rollupGenerateOptions,\n })\n }\n return rollupBundle.generate({\n // https://rollupjs.org/guide/en#experimentaltoplevelawait\n experimentalTopLevelAwait: true,\n // we could put prefConst to true by checking 'transform-block-scoping'\n // presence in babelPluginMap\n preferConst: false,\n ...rollupGenerateOptions,\n })\n },\n })\n\n return rollupOutputArray\n}\n\nconst warningIsThisIsUndefinedFromGlobalThis = ({ code, loc }) => {\n if (code !== \"THIS_IS_UNDEFINED\") return false\n if (!loc) return false\n\n const { file } = loc\n if (file.endsWith(\"/.jsenv/helpers/global-this.js\")) return true\n if (file.endsWith(\"\\\\.jsenv\\\\helpers\\\\global-this.js\")) return true\n return false\n}\n","export const formatToRollupFormat = (format) => {\n if (format === \"global\") return \"iife\"\n if (format === \"commonjs\") return \"cjs\"\n if (format === \"systemjs\") return \"system\"\n throw new Error(`unexpected format, got ${format}`)\n}\n","import { pathnameToOperatingSystemPath } from \"@jsenv/operating-system-path\"\nimport { createLogger } from \"./logger.js\"\nimport { createImportFromGlobalRollupPlugin } from \"./import-from-global-rollup-plugin.js\"\nimport { createJsenvRollupPlugin } from \"./jsenv-rollup-plugin.js\"\nimport { generateBundleUsingRollup } from \"./generate-bundle-using-rollup.js\"\nimport { formatToRollupFormat } from \"./format-to-rollup-format.js\"\n\nexport const bundleWithoutBalancing = async ({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n format,\n formatOutputOptions,\n writeOnFileSystem,\n}) => {\n const logger = createLogger({ logLevel })\n\n const dir = pathnameToOperatingSystemPath(`${projectPathname}${bundleIntoRelativePath}`)\n\n const {\n jsenvRollupPlugin,\n relativePathAbstractArray,\n getRollupGenerateOptions,\n } = await createJsenvRollupPlugin({\n cancellationToken,\n projectPathname,\n dir,\n entryPointMap,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n babelPluginMap,\n convertMap,\n featureNameArray: Object.keys(babelPluginMap),\n minify,\n format,\n logger,\n })\n\n const importFromGlobalRollupPlugin = createImportFromGlobalRollupPlugin({\n platformGlobalName: \"globalThis\",\n })\n\n logger.logTrace(`\nbundle entry points without balancing.\nformat: ${format}\nentry point names: ${Object.keys(entryPointMap)}\ndir: ${dir}\nminify: ${minify}\n`)\n\n const rollupGenerateOptions = await getRollupGenerateOptions()\n\n const rollupBundle = await generateBundleUsingRollup({\n cancellationToken,\n writeOnFileSystem,\n rollupParseOptions: {\n input: entryPointMap,\n plugins: [importFromGlobalRollupPlugin, jsenvRollupPlugin],\n external: (id) => nativeModulePredicate(id),\n },\n rollupGenerateOptions: {\n // https://rollupjs.org/guide/en#output-dir\n dir,\n // https://rollupjs.org/guide/en#output-format\n format: formatToRollupFormat(format),\n // entryFileNames: `./[name].js`,\n // https://rollupjs.org/guide/en#output-sourcemap\n sourcemap: true,\n // we could exclude them\n // but it's better to put them directly\n // in case source files are not reachable\n // for whatever reason\n sourcemapExcludeSources: false,\n ...rollupGenerateOptions,\n ...formatOutputOptions,\n },\n })\n\n return { rollupBundle, relativePathAbstractArray }\n}\n","import { pathnameToOperatingSystemPath } from \"@jsenv/operating-system-path\"\nimport { createLogger } from \"./logger.js\"\nimport { createImportFromGlobalRollupPlugin } from \"./import-from-global-rollup-plugin.js\"\nimport { createJsenvRollupPlugin } from \"./jsenv-rollup-plugin.js\"\nimport { generateBundleUsingRollup } from \"./generate-bundle-using-rollup.js\"\nimport { formatToRollupFormat } from \"./format-to-rollup-format.js\"\n\nexport const bundleWithBalancing = async ({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n format,\n formatOutputOptions,\n groupMap,\n compileId,\n writeOnFileSystem,\n}) => {\n const logger = createLogger({ logLevel })\n\n const dir = pathnameToOperatingSystemPath(\n `${projectPathname}${bundleIntoRelativePath}/${compileId}`,\n )\n\n const { jsenvRollupPlugin } = await createJsenvRollupPlugin({\n cancellationToken,\n projectPathname,\n dir,\n entryPointMap,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n babelPluginMap,\n convertMap,\n featureNameArray: groupMap[compileId].incompatibleNameArray,\n minify,\n format,\n logger,\n })\n\n const importFromGlobalRollupPlugin = createImportFromGlobalRollupPlugin({\n platformGlobalName: \"globalThis\",\n })\n\n logger.logTrace(`\n bundle entry points with balancing.\n format: ${format}\n compileId: ${compileId}\n entryPointArray: ${Object.keys(entryPointMap)}\n dir: ${dir}\n minify: ${minify}\n `)\n\n const rollupBundle = await generateBundleUsingRollup({\n cancellationToken,\n writeOnFileSystem,\n rollupParseOptions: {\n input: entryPointMap,\n plugins: [importFromGlobalRollupPlugin, jsenvRollupPlugin],\n external: (id) => nativeModulePredicate(id),\n },\n rollupGenerateOptions: {\n dir,\n format: formatToRollupFormat(format),\n sourcemap: true,\n sourceMapExcludeSources: true,\n ...formatOutputOptions,\n },\n })\n\n return { rollupBundle }\n}\n","import { pathnameToOperatingSystemPath } from \"@jsenv/operating-system-path\"\nimport { createLogger } from \"./logger.js\"\nimport { createImportFromGlobalRollupPlugin } from \"./import-from-global-rollup-plugin.js\"\nimport { createJsenvRollupPlugin } from \"./jsenv-rollup-plugin.js\"\nimport { generateBundleUsingRollup } from \"./generate-bundle-using-rollup.js\"\n\nexport const bundleBalancer = async ({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n format,\n balancerDataClientPathname,\n groupMap,\n writeOnFileSystem,\n}) => {\n const logger = createLogger({ logLevel })\n\n const entryPointName = Object.keys(entryPointMap)[0]\n const dir = pathnameToOperatingSystemPath(`${projectPathname}${bundleIntoRelativePath}`)\n\n const { jsenvRollupPlugin } = await createJsenvRollupPlugin({\n cancellationToken,\n projectPathname,\n dir,\n entryPointMap,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap: {\n ...specifierDynamicMap,\n [balancerDataClientPathname]: () => `export const entryPointName = ${JSON.stringify(\n entryPointName,\n )}\n export const groupMap = ${JSON.stringify(groupMap)}`,\n },\n babelPluginMap,\n convertMap,\n featureNameArray: groupMap.otherwise.incompatibleNameArray,\n minify,\n format,\n logger,\n })\n\n const importFromGlobalRollupPlugin = createImportFromGlobalRollupPlugin({\n platformGlobalName: \"globalThis\",\n })\n\n logger.logTrace(`\n bundle balancer file.\n format: ${format}\n entryPointName: ${entryPointName}\n file: ${dir}/${entryPointName}.js\n minify: ${minify}\n `)\n\n const rollupBundle = await generateBundleUsingRollup({\n cancellationToken,\n writeOnFileSystem,\n rollupParseOptions: {\n input: entryPointMap,\n plugins: [importFromGlobalRollupPlugin, jsenvRollupPlugin],\n external: (id) => nativeModulePredicate(id),\n },\n rollupGenerateOptions: {\n dir,\n format: \"iife\",\n sourcemap: true,\n sourcemapExcludeSources: true,\n },\n })\n\n return { rollupBundle }\n}\n","const rimraf = import.meta.require(\"rimraf\")\n\nexport const removeFolder = (foldername) =>\n new Promise((resolve, reject) =>\n rimraf(foldername, (error) => {\n if (error) reject(error)\n else resolve()\n }),\n )\n","// https://github.com/browserify/resolve/blob/a09a2e7f16273970be4639313c83b913daea15d7/lib/core.json#L1\n// https://nodejs.org/api/modules.html#modules_module_builtinmodules\n// https://stackoverflow.com/a/35825896\n// https://github.com/browserify/resolve/blob/master/lib/core.json#L1\n\nconst NATIVE_NODE_MODULE_SPECIFIER_ARRAY = [\n \"assert\",\n \"async_hooks\",\n \"buffer_ieee754\",\n \"buffer\",\n \"child_process\",\n \"cluster\",\n \"console\",\n \"constants\",\n \"crypto\",\n \"_debugger\",\n \"dgram\",\n \"dns\",\n \"domain\",\n \"events\",\n \"freelist\",\n \"fs\",\n \"fs/promises\",\n \"_http_agent\",\n \"_http_client\",\n \"_http_common\",\n \"_http_incoming\",\n \"_http_outgoing\",\n \"_http_server\",\n \"http\",\n \"http2\",\n \"https\",\n \"inspector\",\n \"_linklist\",\n \"module\",\n \"net\",\n \"node-inspect/lib/_inspect\",\n \"node-inspect/lib/internal/inspect_client\",\n \"node-inspect/lib/internal/inspect_repl\",\n \"os\",\n \"path\",\n \"perf_hooks\",\n \"process\",\n \"punycode\",\n \"querystring\",\n \"readline\",\n \"repl\",\n \"smalloc\",\n \"_stream_duplex\",\n \"_stream_transform\",\n \"_stream_wrap\",\n \"_stream_passthrough\",\n \"_stream_readable\",\n \"_stream_writable\",\n \"stream\",\n \"string_decoder\",\n \"sys\",\n \"timers\",\n \"_tls_common\",\n \"_tls_legacy\",\n \"_tls_wrap\",\n \"tls\",\n \"trace_events\",\n \"tty\",\n \"url\",\n \"util\",\n \"v8/tools/arguments\",\n \"v8/tools/codemap\",\n \"v8/tools/consarray\",\n \"v8/tools/csvparser\",\n \"v8/tools/logreader\",\n \"v8/tools/profile_view\",\n \"v8/tools/splaytree\",\n \"v8\",\n \"vm\",\n \"worker_threads\",\n \"zlib\",\n // global is special\n \"global\",\n]\n\nexport const isNativeNodeModuleBareSpecifier = (specifier) =>\n NATIVE_NODE_MODULE_SPECIFIER_ARRAY.includes(specifier)\n","import { isNativeNodeModuleBareSpecifier } from \"@jsenv/module-resolution/isNativeNodeModuleBareSpecifier.js\"\nimport { browserScoreMap, nodeVersionScoreMap } from \"@jsenv/grouping\"\n\nconst { jsenvBabelPluginMap } = import.meta.require(\"@jsenv/babel-plugin-map\")\n\nexport const DEFAULT_IMPORT_MAP_RELATIVE_PATH = \"/importMap.json\"\n\nexport const DEFAULT_ENTRY_POINT_MAP = {\n main: \"index.js\",\n}\n\nexport const DEFAULT_NATIVE_MODULE_PREDICATE = (id) => {\n // the global specifier is also in @jsenv/compile-server\n if (id === \"global\") return true\n\n if (isNativeNodeModuleBareSpecifier(id)) return true\n\n return false\n}\n\nexport const DEFAULT_BABEL_PLUGIN_MAP = jsenvBabelPluginMap\n\nexport const DEFAULT_PLATFORM_SCORE_MAP = {\n ...browserScoreMap,\n node: nodeVersionScoreMap,\n}\n","/* eslint-disable import/max-dependencies */\nimport {\n operatingSystemPathToPathname,\n pathnameToOperatingSystemPath,\n} from \"@jsenv/operating-system-path\"\nimport { generateGroupMap } from \"@jsenv/grouping\"\nimport {\n catchAsyncFunctionCancellation,\n createProcessInterruptionCancellationToken,\n} from \"@dmail/cancellation\"\nimport { jsenvBundlingRelativePathInception } from \"./jsenv-bundling-project.js\"\nimport { assertFile, assertFolder } from \"./filesystem-assertions.js\"\nimport { LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS } from \"./logger.js\"\nimport { bundleWithoutBalancing } from \"./bundle-without-balancing.js\"\nimport { bundleWithBalancing } from \"./bundle-with-balancing.js\"\nimport { bundleBalancer } from \"./bundle-balancer.js\"\nimport { removeFolder } from \"./removeFolder.js\"\nimport {\n DEFAULT_IMPORT_MAP_RELATIVE_PATH,\n DEFAULT_ENTRY_POINT_MAP,\n DEFAULT_NATIVE_MODULE_PREDICATE,\n DEFAULT_BABEL_PLUGIN_MAP,\n DEFAULT_PLATFORM_SCORE_MAP,\n} from \"./generate-bundle-constant.js\"\n\nexport const generateBundle = ({\n projectPath,\n bundleIntoRelativePath,\n cleanBundleInto = false,\n importDefaultExtension,\n importMapRelativePath = DEFAULT_IMPORT_MAP_RELATIVE_PATH,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate = DEFAULT_NATIVE_MODULE_PREDICATE,\n entryPointMap = DEFAULT_ENTRY_POINT_MAP,\n babelPluginMap = DEFAULT_BABEL_PLUGIN_MAP,\n convertMap,\n logLevel = LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS,\n minify = false,\n writeOnFileSystem = true,\n throwUnhandled = true,\n format,\n formatOutputOptions = {},\n // balancing\n compileGroupCount = 1,\n platformAlwaysInsidePlatformScoreMap,\n balancerTemplateRelativePath,\n defaultBalancerTemplateRelativePath,\n balancerDataClientPathname,\n platformScoreMap = DEFAULT_PLATFORM_SCORE_MAP,\n}) => {\n const promise = catchAsyncFunctionCancellation(async () => {\n if (typeof projectPath !== \"string\")\n throw new TypeError(`projectPath must be a string, got ${projectPath}`)\n if (typeof bundleIntoRelativePath !== \"string\")\n throw new TypeError(`bundleIntoRelativePath must be a string, got ${bundleIntoRelativePath}`)\n if (typeof entryPointMap !== \"object\")\n throw new TypeError(`entryPointMap must be an object, got ${entryPointMap}`)\n if (typeof compileGroupCount !== \"number\")\n throw new TypeError(`compileGroupCount must be a number, got ${compileGroupCount}`)\n if (compileGroupCount < 1)\n throw new Error(`compileGroupCount must be >= 1, got ${compileGroupCount}`)\n\n const cancellationToken = createProcessInterruptionCancellationToken()\n const projectPathname = operatingSystemPathToPathname(projectPath)\n\n await assertFolder(projectPathname)\n\n if (cleanBundleInto)\n await removeFolder(\n pathnameToOperatingSystemPath(`${projectPathname}${bundleIntoRelativePath}`),\n )\n\n if (compileGroupCount === 1) {\n return bundleWithoutBalancing({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n format,\n formatOutputOptions,\n writeOnFileSystem,\n })\n }\n\n if (typeof balancerTemplateRelativePath === \"undefined\") {\n if (!defaultBalancerTemplateRelativePath) {\n throw createFormatIncompatibleWithBalancingError({ format })\n }\n balancerTemplateRelativePath = jsenvBundlingRelativePathInception({\n jsenvBundlingRelativePath: defaultBalancerTemplateRelativePath,\n projectPathname,\n })\n }\n await assertFile(\n pathnameToOperatingSystemPath(`${projectPathname}${balancerTemplateRelativePath}`),\n )\n\n const groupMap = generateGroupMap({\n babelPluginMap,\n platformScoreMap,\n groupCount: compileGroupCount,\n platformAlwaysInsidePlatformScoreMap,\n })\n\n return await Promise.all([\n generateEntryPointsFolders({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n writeOnFileSystem,\n format,\n formatOutputOptions,\n groupMap,\n }),\n generateEntryPointsBalancerFiles({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n writeOnFileSystem,\n format,\n balancerTemplateRelativePath,\n balancerDataClientPathname,\n groupMap,\n }),\n ])\n })\n\n if (!throwUnhandled) return promise\n return promise.catch((e) => {\n setTimeout(() => {\n throw e\n })\n })\n}\n\nconst generateEntryPointsFolders = async ({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n writeOnFileSystem,\n format,\n formatOutputOptions,\n groupMap,\n}) =>\n Promise.all(\n Object.keys(groupMap).map(async (compileId) =>\n bundleWithBalancing({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n format,\n formatOutputOptions,\n groupMap,\n compileId,\n writeOnFileSystem,\n }),\n ),\n )\n\nconst generateEntryPointsBalancerFiles = ({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap,\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n writeOnFileSystem,\n format,\n balancerTemplateRelativePath,\n balancerDataClientPathname,\n groupMap,\n}) =>\n Promise.all(\n Object.keys(entryPointMap).map(async (entryPointName) =>\n bundleBalancer({\n cancellationToken,\n projectPathname,\n bundleIntoRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n nativeModulePredicate,\n entryPointMap: {\n [entryPointName]: balancerTemplateRelativePath,\n },\n babelPluginMap,\n convertMap,\n minify,\n logLevel,\n format,\n balancerDataClientPathname,\n groupMap,\n writeOnFileSystem,\n }),\n ),\n )\n\nconst createFormatIncompatibleWithBalancingError = ({ format }) =>\n new Error(`format not compatible with balancing.\nformat: ${format}`)\n","export const DEFAULT_BUNDLE_INTO_RELATIVE_PATH = \"/dist/global\"\n","import { generateBundle } from \"../generate-bundle.js\"\nimport { DEFAULT_BUNDLE_INTO_RELATIVE_PATH } from \"./generate-global-bundle-constant.js\"\n\nexport const generateGlobalBundle = async ({\n projectPath,\n bundleIntoRelativePath = DEFAULT_BUNDLE_INTO_RELATIVE_PATH,\n cleanBundleInto,\n globalName,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n entryPointMap,\n babelPluginMap,\n convertMap,\n logLevel,\n minify,\n throwUnhandled,\n writeOnFileSystem,\n platformScoreMap,\n platformAlwaysInsidePlatformScoreMap,\n}) =>\n generateBundle({\n format: \"global\",\n formatOutputOptions: globalName\n ? {\n name: globalName,\n }\n : {},\n projectPath,\n bundleIntoRelativePath,\n cleanBundleInto,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n specifierDynamicMap,\n entryPointMap,\n babelPluginMap,\n convertMap,\n logLevel,\n minify,\n throwUnhandled,\n writeOnFileSystem,\n compileGroupCount: 1,\n platformScoreMap,\n platformAlwaysInsidePlatformScoreMap,\n })\n","export const DEFAULT_BUNDLE_INTO_RELATIVE_PATH = \"/dist/commonjs\"\n","import { generateBundle } from \"../generate-bundle.js\"\nimport { DEFAULT_BUNDLE_INTO_RELATIVE_PATH } from \"./generate-commonjs-bundle-constant.js\"\n\nexport const generateCommonJsBundle = async ({\n projectPath,\n bundleIntoRelativePath = DEFAULT_BUNDLE_INTO_RELATIVE_PATH,\n cleanBundleInto,\n balancerTemplateRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n dynamicSpecifierMap,\n entryPointMap,\n babelPluginMap,\n convertMap,\n logLevel,\n minify,\n throwUnhandled,\n writeOnFileSystem,\n compileGroupCount,\n platformScoreMap,\n platformAlwaysInsidePlatformScoreMap,\n}) => {\n return generateBundle({\n format: \"commonjs\",\n balancerTemplateRelativePath,\n defaultBalancerTemplateRelativePath: \"/src/bundle-commonjs/commonjs-balancer-template.js\",\n balancerDataClientPathname: \"/.jsenv/commonjs-balancer-data.js\",\n projectPath,\n bundleIntoRelativePath,\n cleanBundleInto,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n dynamicSpecifierMap,\n entryPointMap,\n babelPluginMap,\n convertMap,\n logLevel,\n minify,\n throwUnhandled,\n writeOnFileSystem,\n compileGroupCount,\n platformScoreMap,\n platformAlwaysInsidePlatformScoreMap,\n })\n}\n","export const DEFAULT_BUNDLE_INTO_RELATIVE_PATH = \"/dist/systemjs\"\n","import { generateBundle } from \"../generate-bundle.js\"\nimport { DEFAULT_BUNDLE_INTO_RELATIVE_PATH } from \"./generate-systemjs-bundle-constant.js\"\n\nexport const generateSystemJsBundle = async ({\n projectPath,\n bundleIntoRelativePath = DEFAULT_BUNDLE_INTO_RELATIVE_PATH,\n cleanBundleInto,\n balancerTemplateRelativePath,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n dynamicSpecifierMap,\n entryPointMap,\n babelPluginMap,\n convertMap,\n logLevel,\n minify,\n throwUnhandled,\n writeOnFileSystem,\n compileGroupCount,\n platformScoreMap,\n platformAlwaysInsidePlatformScoreMap,\n}) => {\n return generateBundle({\n format: \"systemjs\",\n balancerTemplateRelativePath,\n defaultBalancerTemplateRelativePath: \"/src/bundle-systemjs/systemjs-balancer-template.js\",\n balancerDataClientPathname: \"/.jsenv/systemjs-balancer-data.js\",\n projectPath,\n bundleIntoRelativePath,\n cleanBundleInto,\n importDefaultExtension,\n importMapRelativePath,\n importMapForBundle,\n specifierMap,\n dynamicSpecifierMap,\n entryPointMap,\n babelPluginMap,\n convertMap,\n logLevel,\n minify,\n throwUnhandled,\n writeOnFileSystem,\n compileGroupCount,\n platformScoreMap,\n platformAlwaysInsidePlatformScoreMap,\n })\n}\n","/*\n\nbundleToCompilationResult does two things:\n\n1. Change every relative path inside rollup sourcemap to an \"absolute\" version.\nSomething like `../../importMap.json` becomes `/importMap.json`.\nIn the process // sourceMappingURL comment of the file referencing the sourcemap is updated.\n\nWe need this because vscode is configured with\n```json\n{\n \"sourceMapPathOverrides\": {\n \"/*\": \"${workspaceFolder}/*\"\n },\n```\nAnd we need to do that because I struggled to make vscode work with relative notations.\n\n2. Return { compiledSource, sources, sourcesContent, assets, assetsContent }\nIt is usefull because this object can be used to create a cache for the bundle.\nThis object is used by serveCompiledFile.\n\nOne thing to keep in mind:\nthe sourcemap.sourcesContent will contains a json file transformed to js\nwhile sourcesContent will contain the json file raw source because the corresponding\njson file etag is used to invalidate the cache\n*/\n\nimport { readFileSync } from \"fs\"\nimport { dirname, resolve } from \"path\"\nimport { pathnameIsInside, pathnameToRelativePath } from \"@jsenv/href\"\nimport {\n pathnameToOperatingSystemPath,\n operatingSystemPathToPathname,\n} from \"@jsenv/operating-system-path\"\nimport { writeOrUpdateSourceMappingURL } from \"./helpers/source-mapping-url.js\"\n\nexport const bundleToCompilationResult = (\n { rollupBundle, relativePathAbstractArray },\n { projectPathname, entryRelativePath, sourcemapAssetPath, sourcemapPath = sourcemapAssetPath },\n) => {\n const sources = []\n const sourcesContent = []\n const assets = []\n const assetsContent = []\n\n const output = rollupBundle.output\n const main = output[0]\n const mainRollupSourcemap = main.map\n\n const mainDependencyMap = rollupSourcemapToDependencyMap({\n rollupSourcemap: mainRollupSourcemap,\n projectPathname,\n entryRelativePath,\n relativePathAbstractArray,\n })\n\n const addDependencyMap = (dependencyMap) => {\n Object.keys(dependencyMap).forEach((relativePath) => {\n if (relativePathAbstractArray.includes(relativePath)) return\n if (sources.includes(relativePath)) return\n\n sources.push(relativePath)\n sourcesContent.push(dependencyMap[relativePath])\n })\n }\n\n // main file\n const mainSourceContent = writeOrUpdateSourceMappingURL(main.code, sourcemapPath)\n // main sourcemap\n assets.push(sourcemapAssetPath.slice(2))\n const mainSourcemap = {\n ...mainRollupSourcemap,\n ...dependencyMapToSourcemapSubset(mainDependencyMap),\n }\n assetsContent.push(JSON.stringify(mainSourcemap, null, \" \"))\n // main dependencies\n addDependencyMap(mainDependencyMap)\n\n output.slice(1).forEach((chunk) => {\n const chunkRollupSourcemap = chunk.map\n const chunkDependencyMap = rollupSourcemapToDependencyMap({\n rollupSourcemap: chunkRollupSourcemap,\n projectPathname,\n entryRelativePath,\n relativePathAbstractArray,\n })\n\n // chunk file\n assets.push(chunk.fileName)\n const chunkSourceContent = writeOrUpdateSourceMappingURL(chunk.code, `./${chunk.fileName}.map`)\n assetsContent.push(chunkSourceContent)\n // chunk sourcemap\n assets.push(`${chunk.fileName}.map`)\n const chunkSourcemap = {\n ...chunkRollupSourcemap,\n ...dependencyMapToSourcemapSubset(chunkDependencyMap),\n }\n assetsContent.push(JSON.stringify(chunkSourcemap, null, \" \"))\n // chunk dependencies\n addDependencyMap(chunkDependencyMap)\n })\n\n return {\n contentType: \"application/javascript\",\n compiledSource: mainSourceContent,\n sources,\n sourcesContent,\n assets,\n assetsContent,\n }\n}\n\nconst dependencyMapToSourcemapSubset = (dependencyMap) => {\n const sources = Object.keys(dependencyMap)\n const sourcesContent = sources.map((source) => {\n // for sourcemap the source content of a json file is the js\n // transformation of that json\n if (source.endsWith(\".json\")) return `export default ${dependencyMap[source]}`\n return dependencyMap[source]\n })\n return {\n sources,\n sourcesContent,\n }\n}\n\nconst rollupSourcemapToDependencyMap = ({\n rollupSourcemap,\n projectPathname,\n entryRelativePath,\n relativePathAbstractArray,\n}) => {\n const dependencyMap = {}\n\n rollupSourcemap.sources.forEach((sourceRelativeToEntry, index) => {\n const sourcePath = resolve(\n dirname(pathnameToOperatingSystemPath(`${projectPathname}${entryRelativePath}`)),\n sourceRelativeToEntry,\n )\n const sourcePathname = operatingSystemPathToPathname(sourcePath)\n\n if (!pathnameIsInside(sourcePathname, projectPathname)) {\n throw createSourceOutsideProjectError({\n sourcePath,\n projectPathname,\n source: sourceRelativeToEntry,\n file: entryRelativePath,\n })\n }\n\n const sourceRelativePath = pathnameToRelativePath(sourcePathname, projectPathname)\n const isAbstract = relativePathAbstractArray.includes(sourceRelativePath)\n\n let dependencyContent\n const sourcesContent = rollupSourcemap.sourcesContent || []\n if (index in sourcesContent) {\n // abstract ressource cannot be found on filesystem\n // so trust what we found in sourcesContent\n if (isAbstract) {\n dependencyContent = sourcesContent[index]\n }\n // .json file source content is not the one inside the file\n // because jsenv-rollup-plugin transforms it to\n // export default, so we must set back the\n // right file content\n else if (sourceRelativePath.endsWith(\".json\")) {\n dependencyContent = readSourceContent({\n projectPathname,\n sourceRelativePath,\n entryRelativePath,\n })\n } else {\n dependencyContent = sourcesContent[index]\n }\n } else {\n if (isAbstract) {\n throw createAbstractSourceMissingError({ sourceRelativePath, entryRelativePath })\n }\n dependencyContent = readSourceContent({\n projectPathname,\n sourceRelativePath,\n entryRelativePath,\n })\n }\n\n dependencyMap[sourceRelativePath] = dependencyContent\n })\n\n return dependencyMap\n}\n\nconst readSourceContent = ({ projectPathname, sourceRelativePath, entryRelativePath }) => {\n const sourcePath = pathnameToOperatingSystemPath(`${projectPathname}${sourceRelativePath}`)\n // this could be async but it's ok for now\n // making it async could be harder than it seems\n // because sourcesContent must be in sync with sources\n try {\n const buffer = readFileSync(sourcePath)\n return String(buffer)\n } catch (e) {\n if (e && e.code === \"ENOENT\") {\n throw createSourceNotFoundError({\n sourcePath,\n projectPathname,\n source: sourceRelativePath,\n file: entryRelativePath,\n })\n }\n throw e\n }\n}\n\nconst createAbstractSourceMissingError = ({ source, file }) =>\n new Error(`an abstract file source content is missing.\nsource: ${source}\nfile: ${file}`)\n\nconst createSourceNotFoundError = ({ sourcePath, projectPathname, source, file }) =>\n new Error(`a file source cannot be found.\nsource path: ${sourcePath}\nproject path: ${pathnameToOperatingSystemPath(projectPathname)}\nsource: ${source}\nfile: ${file}`)\n\nconst createSourceOutsideProjectError = ({ sourcePath, projectPathname, source, file }) =>\n new Error(`a file source is not inside project.\nsource path: ${sourcePath}\nproject path: ${pathnameToOperatingSystemPath(projectPathname)}\nsource: ${source}\nfile: ${file}`)\n"],"names":["globalThis","globalObject","this","Object","defineProperty","prototype","get","configurable","__global__","startsWithWindowsDriveLetter","string","firstChar","test","secondChar","replaceSlashesWithBackSlashes","replace","pathnameToOperatingSystemPath","pathname","Error","pathnameWithoutLeadingSlash","slice","isWindowsPath","path","replaceBackSlashesWithSlashes","operatingSystemPathToPathname","operatingSystemPath","pathnameToRelativePathname","otherPathname","length","babelCompatMap","chrome","edge","firefox","safari","node","ios","opera","electron","ie","polyfillCompatMap","valueToVersion","value","numberToVersion","stringToVersion","TypeError","createValueErrorMessage","version","number","major","minor","patch","indexOf","parts","split","Number","isNaN","versionCompare","versionA","versionB","semanticVersionA","semanticVersionB","majorDiff","minorDiff","patchDiff","versionIsBelow","versionSupposedBelow","versionSupposedAbove","findHighestVersion","values","reduce","highestVersion","computeIncompatibleNameArray","featureCompatMap","platformName","platformVersion","incompatibleNameArray","keys","forEach","featureName","compatible","platformIsCompatibleWithFeature","featureCompat","push","platformCompatibleVersion","computePlatformCompatibleVersion","generatePlatformGroupArray","featureNameArray","featureNameArrayWithCompat","filter","versionArray","map","String","concat","index","array","sort","platformGroupArray","groupWithSameIncompatibleFeatures","find","platformGroup","join","platformCompatMap","composePlatformCompatMap","secondPlatformCompatMap","objectComposeValue","normalizePlatformCompatMapVersions","secondVersion","platformCompatibility","objectMapValue","object","callback","mapped","key","previous","composed","composeGroupArray","arrayOfGroupArray","groupArrayReducer","previousGroupArray","groupArray","reducedGroupArray","group","groupWithSameIncompatibleFeature","existingGroupCandidate","groupHaveSameIncompatibleFeatures","groupA","groupB","generateAllPlatformGroupArray","platformNames","platformCompatMapToScore","platformScoreMap","platformToScore","other","versionUsageMap","versionArrayAscending","closestVersion","reverse","BEST_ID","OTHERWISE_ID","generateGroupMap","babelPluginMap","defaultBabelCompatMap","polyfillConfigMap","defaulPolyfillCompatMap","groupCount","platformAlwaysInsidePlatformScoreMap","platformWillAlwaysBeKnown","groupMap","generateFeatureGroupMap","featureConfigMap","groupWithoutFeature","featureCompatMapWithoutHole","allPlatformGroupArray","arrayWithoutValue","groupToScore","allPlatformGroupArraySortedByScore","a","b","addOtherwiseToBeSafe","lastGroupIndex","valueCandidate","browserScoreMap","android","nodeVersionScoreMap","arrayWithout","item","arrayWithoutItem","i","createCancelError","reason","cancelError","name","isCancelError","createCancellationSource","requested","registrationArray","cancel","registrationArrayCopy","registration","register","existingRegistration","unregister","throwIfRequested","token","cancellationRequested","createCancellationToken","undefined","createOperation","cancellationToken","start","rest","ensureExactParameters","promise","Promise","resolve","cancelPromise","reject","cancelRegistration","then","operationPromise","race","extraParameters","extraParamNames","catchAsyncFunctionCancellation","asyncFunction","catch","error","createProcessInterruptionCancellationToken","SIGINTCancelSource","process","on","hrefToScheme","href","colonIndex","hrefToOrigin","scheme","secondProtocolSlashIndex","pathnameSlashIndex","hrefToPathname","ressourceToPathname","hrefToRessource","afterProtocol","ressource","searchSeparatorIndex","pathnameIsInside","startsWith","pathnameToDirname","slashLastIndex","lastIndexOf","pathnameToExtension","dotLastIndex","pathnameToRelativePath","assertImportMap","type","Array","isArray","applyImportMap","importMap","importerHref","imports","scopes","importerPathname","matchingPathnamePattern","pathnameMatchPattern","match","scopeImports","applyImports","modulePathname","pathnamePatternArray","pathnamePattern","matchResult","before","after","moduleOrigin","replacement","pattern","patternHasLeadingSlash","patternHasTrailingSlash","sortImportMap","orderedImportMap","sortImportMapImports","sortImportMapScopes","sortedImports","compareLengthOrLocaleCompare","sortedScopes","scopeName","sortScopedImports","localeCompare","scopedImports","compareScopedImport","sortedScopedImports","composeTwoImportMaps","leftImportMap","rightImportMap","composeTwoImports","composeTwoScopes","leftImports","rightImports","leftScopes","rightScopes","hasOwnProperty","isWindowsDriveLetter","specifier","thirdChar","isAbsoluteSpecifier","resolveAbsoluteSpecifier","isSchemeRelativeSpecifier","resolveSchemeRelativeSpecifier","importer","isOriginRelativeSpecifier","resolveOriginRelativeSpecifier","importerOrigin","isPathnameRelativeSpecifier","resolvePathnameRelativeSpecifier","importerDirname","unresolvedPathname","importerFolders","pop","resolvedPathname","resolveBareSpecifier","resolveImport","resolvePath","defaultExtension","resolvedImport","remappedImport","extension","importerExtension","nodeRequire","require","filenameContainsBackSlashes","__filename","url","jsenvBundlingProjectPath","selfPathname","selfPath","jsenvBundlingProjectPathname","jsenvBundlingRelativePathInception","jsenvBundlingRelativePath","projectPathname","jsenvPathname","relativePath","direct","f","args","arguments","apply","e","assertFolder","pathToFilesystemEntry","filesystemEntry","assertFile","assertFileSync","stats","statSync","code","entry","statsToEntry","stat","isFile","isDirectory","LOG_LEVEL_OFF","LOG_LEVEL_ERRORS","LOG_LEVEL_ERRORS_AND_WARNINGS","LOG_LEVEL_ERRORS_WARNINGS_AND_LOGS","LOG_LEVEL_MAXIMUM","createLogger","logLevel","logTrace","log","logWarning","logError","logTraceDisabled","logDisabled","logWarningDisabled","logErrorDisabled","console","trace","warn","createRollupPluginExternalGlobal","_require","createImportFromGlobalRollupPlugin","platformGlobalName","global","exclude","firstOperationMatching","predicate","createArrayErrorMessage","createStartErrorMessage","createPredicateErrorMessage","visit","input","returnValue","output","body","result","promiseSequence","callbackArray","fileMakeDirname","file","fileNormalized","normalizeSeparation","fileStartsWithSlash","folders","_","folder","folderMake","mkdir","fileLastStat","status","lstat","copyFilePromisified","promisify","copyFile","_await","readFilePromisified","readFile","fileRead","buffer","toString","statPromisified","lstatPromisified","writeFilePromisified","writeFile","fileWrite","content","readdirPromisified","readdir","readPackageData","packageString","packageData","JSON","parse","recover","resolveNodeModule","rootPathname","packagePathname","dependencyName","dependencyVersionPattern","dependencyType","onWarn","packageFolderPathname","packageFolderRelativePath","nodeModuleCandidateArray","getCandidateArrayFromPackageFolder","nodeModuleCandidate","createDependencyPackageParsingError","parsingError","Boolean","message","createDendencyNotFoundMessage","data","candidateArray","relativeFolderNameArray","shift","SyntaxError","resolvePackageMain","resolveMainFile","from","main","module","extensionCandidateArray","packageDirname","extname","fileWithoutExtensionPathname","extensionCandidate","pathLeadsToAFile","extensionLeadingToFile","createMainFileNotFoundMessage","mainPathname","statObject","importMapToVsCodeConfigPaths","paths","handleImportsAt","pathPattern","remappingValue","endsWith","remappingArray","candidates","remapping","importPattern","generateImportMapForNodeModules","projectPath","rootProjectPath","importMapRelativePath","inputImportMap","includeDevDependencies","writeImportMapFile","logImportMapFilePath","throwUnhandled","writeJsConfigFile","logJsConfigFilePath","projectPackagePathname","rootProjectPathname","rootImporterName","basename","rootPackagePathname","projectPackageData","visitProjectPackage","nodeModuleImportMap","sortedImportMap","importMapPath","stringify","jsConfigPath","jsConfig","compilerOptions","baseUrl","packageName","importerPackagePathname","seen","includes","visitPackage","visitDependencies","packagePathInfo","computePackagePathInfo","visitPackageMain","visitPackageImports","visitPackageExports","packageIsRoot","packageIsProject","importerPackageIsRoot","importerName","actualRelativePath","expectedRelativePath","to","addImportMapping","addScopedImportMapping","scope","packageImports","createUnexpectedPackageImportsWarning","resolvedKey","resolvePathInPackage","resolvedValue","packageExports","exports","createUnexpectedPackageExportsWarning","dependencyMap","dependencies","versionPattern","peerDependencies","isProjectPackage","devDependencies","all","dependency","findDependency","dependencyData","dependencyPackagePathname","dependencyPackageData","importerPackageIsProject","actualPathname","expectedPathname","createInvalidPackageRelativePathWarning","dependenciesCache","dependencyPromise","setTimeout","generateSpecifierMapOption","buildExternalHelpers","BABEL_HELPERS_FACADE_PATH","GLOBAL_THIS_FACADE_PATH","generateSpecifierDynamicMapOption","generateGlobalThisSource","skipTransform","addNamed","createReplaceBabelHelperByNamedImportsBabelPlugin","babelHelpersFacadePath","pre","cachedHelpers","set","availableHelper","helper","addSideEffect","createForceImportsBabelPlugin","sideEffectImportRelativePathArray","opts","hub","isFileItself","some","filenameRelative","createImportMetaUrlNamedImportBabelPlugin","importMetaFacadePath","visitor","Program","programPath","metaPropertyMap","traverse","MemberExpression","objectProperty","property","propertyName","importMetaPropertyId","replaceWith","generateBabelPluginMapOption","format","globalThisHelperRelativePath","generateBabelPluginMapSubset","generateBabelPluginMapForBundle","babelPluginMapSubset","babelPluginName","bundleBabelPluginMap","forcedImportsBabelPlugin","replaceBabelHelperByNamedImportsBabelPlugin","fetch","_invoke","AbortController","globalAgent","options","rejectUnauthorized","fetchUsingHttp","signal","cancellationTokenToAbortSignal","response","normalizeResponse","text","statusText","headers","responseToHeaderMap","abortController","abort","headerMap","writeSourceMappingURL","source","location","updateSourceMappingURL","sourceMappingUrlRegExp","lastSourceMappingUrl","matchSourceMappingUrl","exec","mappedAfter","firstGroup","readSourceMappingURL","sourceMappingURL","parseSourceMappingURL","base64Prefix","mapBase64Source","sourcemapString","Buffer","sourcemapURL","writeOrUpdateSourceMappingURL","readProjectImportMap","transformSource","jsenvTransform","findAsyncPluginNameInBabelPluginMap","_async","minifyCode","minify","createJsenvRollupPlugin","importDefaultExtension","importMapForBundle","specifierMap","specifierDynamicMap","origin","convertMap","detectAndTransformIfNeededAsyncInsertedByRollup","dir","entryPointMap","logger","bundlingImportMap","projectImportMap","current","importMapHref","chunkId","idSkipTransformArray","idLoadMap","getRollupGenerateOptions","jsenvRollupPlugin","resolveId","specifierDynamicMapping","osPath","specifierMapping","createImporterOutsideProjectError","id","createMustBeInsideProjectMessage","resolvedId","resolvedIdIsInsideProject","idPathname","load","hasSheme","fetchHref","responseStatus","responseStatusIsOk","createUnexpectedResponseStatusMessage","sourcemapParsingResult","resolvedSourceMappingURL","sourcemapResponse","sourcemapResponseStatus","transform","sourceHref","transformModuleIntoSystemFormat","renderChunk","minifyOptions","toplevel","sourceMap","writeBundle","bundle","transformAsyncInsertedByRollup","bundleFilename","relativePathAbstractArray","asyncPluginName","bundleInfo","inputCode","inputMap","inputPath","rollup","generateBundleUsingRollup","rollupParseOptions","rollupGenerateOptions","writeOnFileSystem","experimentalTopLevelAwait","onwarn","warning","warningIsThisIsUndefinedFromGlobalThis","rollupBundle","write","preferConst","generate","loc","formatToRollupFormat","bundleWithoutBalancing","bundleIntoRelativePath","nativeModulePredicate","formatOutputOptions","importFromGlobalRollupPlugin","plugins","external","sourcemap","sourcemapExcludeSources","bundleWithBalancing","compileId","sourceMapExcludeSources","bundleBalancer","balancerDataClientPathname","entryPointName","otherwise","rimraf","removeFolder","foldername","NATIVE_NODE_MODULE_SPECIFIER_ARRAY","isNativeNodeModuleBareSpecifier","jsenvBabelPluginMap","DEFAULT_IMPORT_MAP_RELATIVE_PATH","DEFAULT_ENTRY_POINT_MAP","DEFAULT_NATIVE_MODULE_PREDICATE","DEFAULT_BABEL_PLUGIN_MAP","DEFAULT_PLATFORM_SCORE_MAP","generateBundle","cleanBundleInto","compileGroupCount","balancerTemplateRelativePath","defaultBalancerTemplateRelativePath","createFormatIncompatibleWithBalancingError","generateEntryPointsFolders","generateEntryPointsBalancerFiles","DEFAULT_BUNDLE_INTO_RELATIVE_PATH","generateGlobalBundle","globalName","generateCommonJsBundle","dynamicSpecifierMap","generateSystemJsBundle","bundleToCompilationResult","entryRelativePath","sourcemapAssetPath","sourcemapPath","sources","sourcesContent","assets","assetsContent","mainRollupSourcemap","mainDependencyMap","rollupSourcemapToDependencyMap","rollupSourcemap","addDependencyMap","mainSourceContent","mainSourcemap","dependencyMapToSourcemapSubset","chunk","chunkRollupSourcemap","chunkDependencyMap","fileName","chunkSourceContent","chunkSourcemap","contentType","compiledSource","sourceRelativeToEntry","sourcePath","dirname","sourcePathname","createSourceOutsideProjectError","sourceRelativePath","isAbstract","dependencyContent","readSourceContent","createAbstractSourceMissingError","readFileSync","createSourceNotFoundError"],"mappings":"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"}
\No newline at end of file