@workleap/swc-configs 2.3.0 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @workleap/swc-configs
2
2
 
3
+ ## 2.3.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [#302](https://github.com/workleap/wl-web-configs/pull/302) [`a0c552f`](https://github.com/workleap/wl-web-configs/commit/a0c552fb26428fe854077351b78fe6dbe393b140) Thanks [@alexasselin008](https://github.com/alexasselin008)! - Bump release to test OIDC deployment
8
+
9
+ ## 2.3.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [#300](https://github.com/workleap/wl-web-configs/pull/300) [`95ba69a`](https://github.com/workleap/wl-web-configs/commit/95ba69af8f342cfd5a69c4dd067b851f7a4817c3) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Fixing deployment of previous version.
14
+
15
+ ## 2.3.1
16
+
17
+ ### Patch Changes
18
+
19
+ - [#298](https://github.com/workleap/wl-web-configs/pull/298) [`ec6e2bb`](https://github.com/workleap/wl-web-configs/commit/ec6e2bba95dcedad667afae6ba99ed7d6ce27a6c) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Updated dependencies.
20
+
3
21
  ## 2.3.0
4
22
 
5
23
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"applyTransformers.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/applyTransformers.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\n\nexport interface SwcConfigTransformerContext {\n environment: \"dev\" | \"build\" | \"jest\";\n}\n\nexport type SwcConfigTransformer = (config: SwcConfig, context: SwcConfigTransformerContext) => SwcConfig;\n\nexport function applyTransformers(config: SwcConfig, transformers: SwcConfigTransformer[], context: SwcConfigTransformerContext) {\n return transformers.reduce((acc, transformer) => transformer(acc, context), config);\n}\n"],"names":["applyTransformers","config","transformers","context","acc","transformer"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA;;;;ACNA;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D;;;;;;;;ACEO,SAASA,kBAAkBC,MAAiB,EAAEC,YAAoC,EAAEC,OAAoC;IAC3H,OAAOD,aAAa,MAAM,CAAC,CAACE,KAAKC,cAAgBA,YAAYD,KAAKD,UAAUF;AAChF"}
1
+ {"version":3,"file":"applyTransformers.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/applyTransformers.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\n\nexport interface SwcConfigTransformerContext {\n environment: \"dev\" | \"build\" | \"jest\";\n}\n\nexport type SwcConfigTransformer = (config: SwcConfig, context: SwcConfigTransformerContext) => SwcConfig;\n\nexport function applyTransformers(config: SwcConfig, transformers: SwcConfigTransformer[], context: SwcConfigTransformerContext) {\n return transformers.reduce((acc, transformer) => transformer(acc, context), config);\n}\n"],"names":["applyTransformers","config","transformers","context","acc","transformer"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E;;;;;;;;ACEO,SAASA,kBAAkBC,MAAiB,EAAEC,YAAoC,EAAEC,OAAoC;IAC3H,OAAOD,aAAa,MAAM,CAAC,CAACE,KAAKC,cAAgBA,YAAYD,KAAKD,UAAUF;AAChF"}
@@ -164,7 +164,7 @@ function createSwcTargetsFromBrowserslistEntries(entries) {
164
164
  return entries.reduce((acc, x)=>{
165
165
  const { browser, version } = parseBrowserslistEntry(x);
166
166
  // Exclude browsers that are not supported by SWC.
167
- if (SwcSupportedBrowsers.indexOf(browser) === -1) {
167
+ if (!SwcSupportedBrowsers.includes(browser)) {
168
168
  return acc;
169
169
  }
170
170
  // Let's make TS happy as we are now certain that the browser is part
@@ -1 +1 @@
1
- {"version":3,"file":"browserslistToSwc.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/compat_get_default_export","webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/browserslistToSwc.ts"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Inspired by https://github.com/marcofugaro/browserslist-to-esbuild/blob/main/src/index.js.\n//\n// This function exist because browserslist-rs (which is used under the hood by SWC) doesn't support browserslist \"extends\" syntax: https://github.com/browserslist/browserslist-rs#limitations.\n// Therefore, we must parse ourself the \".browserslistrc\" file to extract the browser entries and transform them into valid SWC \"env.targets\".\n//\n// The function will convert an array of browserslist entries from:\n//\n// ['and_chr 115', 'and_ff 115', 'and_qq 13.1',\n// 'and_uc 15.5', 'android 115', 'baidu 13.18',\n// 'bb 10', 'bb 7', 'chrome 116',\n// 'chrome 115', 'chrome 114', 'chrome 113',\n// 'chrome 112', 'chrome 111', 'chrome 110',\n// 'chrome 109', 'chrome 108', 'chrome 107',\n// 'edge 115', 'edge 114', 'edge 113',\n// 'edge 112', 'edge 111', 'edge 110',\n// 'edge 109', 'edge 108', 'edge 107',\n// 'edge 106', 'firefox 116', 'firefox 115',\n// 'firefox 114', 'firefox 113', 'firefox 112',\n// 'firefox 111', 'firefox 110', 'firefox 109',\n// 'firefox 108', 'firefox 107', 'ie 11',\n// 'ie 10', 'ie 9', 'ie 8',\n// 'ie 7', 'ie 6', 'ie 5.5',\n// 'ie_mob 11', 'ie_mob 10', 'ios_saf 16.5',\n// 'ios_saf 16.4', 'ios_saf 16.3', 'ios_saf 16.2',\n// 'ios_saf 16.1', 'ios_saf 16.0', 'ios_saf 15.6-15.7',\n// 'ios_saf 15.5', 'ios_saf 15.4', 'ios_saf 15.2-15.3',\n// 'kaios 3.0-3.1', 'kaios 2.5', 'op_mini all',\n// 'op_mob 73', 'opera 101', 'opera 100',\n// 'opera 99', 'opera 98', 'opera 97',\n// 'opera 96', 'opera 95', 'opera 94',\n// 'opera 93', 'opera 92', 'safari 16.5',\n// 'safari 16.4', 'safari 16.3', 'safari 16.2',\n// 'safari 16.1', 'safari 16.0', 'safari 15.6',\n// 'safari 15.5', 'safari 15.4', 'safari 15.2-15.3',\n// 'samsung 21', 'samsung 20', 'samsung 19.0',\n// 'samsung 18.0', 'samsung 17.0', 'samsung 16.0',\n// 'samsung 15.0', 'samsung 14.0', 'samsung 13.0',\n// 'samsung 12.0']\n//\n// To an object literal of SWC \"env.targets\":\n//\n// {\n// chrome: '107',\n// firefox: '107',\n// android: '115',\n// edge: '106',\n// ie: '5.5',\n// opera: '73',\n// safari: '15.2',\n// samsung: '12'\n// }\n\nimport browserslist from \"browserslist\";\n\n// Original browserslist-rs supported browsers (https://github.com/browserslist/browserslist-rs/blob/99a3244fc8c0e631a80a9cae5c41dca6c5a2aae5/build.rs#L10)\n// minus the browsers that are discarted by SWC (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L105).\nconst SwcSupportedBrowsers = [\n \"ie\",\n \"edge\",\n \"firefox\",\n \"chrome\",\n \"safari\",\n \"opera\",\n \"ios\",\n \"android\",\n \"op_mob\",\n \"and_chr\",\n \"and_ff\",\n \"ie_mob\",\n \"samsung\"\n] as const;\n\n// SWC browsers aliases (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L90).\nconst SwcMobileBrowserAliases: Record<string, string> = {\n \"and_chr\": \"chrome\",\n \"and_ff\": \"firefox\",\n \"ie_mob\": \"ie\",\n \"ios_saf\": \"ios\",\n \"op_mob\": \"opera\"\n};\n\nfunction parseBrowserslistEntry(entry: string) {\n // \"chrome 11\" --> [\"chrome\", \"11\"]\n const values = entry.split(\" \");\n\n let browser = values[0];\n let version = values[1];\n\n // \"and_chr\" --> \"chrome\"\n if (SwcMobileBrowserAliases[browser]) {\n browser = SwcMobileBrowserAliases[browser];\n }\n\n // \"11.0-12.0\" --> \"11.0\"\n if (version.includes(\"-\")) {\n version = version.slice(0, version.indexOf(\"-\"));\n }\n\n // \"11.0\" --> \"11\"\n if (version.endsWith(\".0\")) {\n version = version.slice(0, -2);\n }\n\n return {\n browser,\n version\n };\n}\n\nexport function createSwcTargetsFromBrowserslistEntries(entries: string[]) {\n return entries.reduce((acc, x: string) => {\n const { browser, version } = parseBrowserslistEntry(x);\n\n // Exclude browsers that are not supported by SWC.\n if (((SwcSupportedBrowsers as unknown) as string[]).indexOf(browser) === -1) {\n return acc;\n }\n\n // Let's make TS happy as we are now certain that the browser is part\n // of the supported browsers list.\n const _browser = browser as keyof typeof SwcSupportedBrowsers;\n\n // SWC \"env.targets\" only support a single entry per target (browser).\n // Therefore, we loop through the browser versions to keep only the oldest one.\n if (acc[_browser]) {\n if (parseFloat(acc[_browser]) > parseFloat(version)) {\n acc[_browser] = version;\n }\n } else {\n acc[_browser] = version;\n }\n\n return acc;\n }, {} as Record<keyof typeof SwcSupportedBrowsers, string>);\n}\n\nexport interface BrowserslistToSwcOptions extends Omit<browserslist.Options, \"path\"> {\n queries?: string | string[];\n}\n\nexport function browserslistToSwc(options: BrowserslistToSwcOptions = {}) {\n const {\n queries,\n ...browserlistsOptions\n } = options;\n\n // Will return the entries matching the \"queries\" prop when provided, otherwise,\n // the function will load the closest \".browserslistrc\" file.\n const entries = browserslist(queries, {\n path: \"./browserslistrc\",\n ...browserlistsOptions\n });\n\n return createSwcTargetsFromBrowserslistEntries(entries);\n}\n"],"names":["browserslist","SwcSupportedBrowsers","SwcMobileBrowserAliases","parseBrowserslistEntry","entry","values","browser","version","createSwcTargetsFromBrowserslistEntries","entries","acc","x","_browser","parseFloat","browserslistToSwc","options","queries","browserlistsOptions"],"mappings":"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"}
1
+ {"version":3,"file":"browserslistToSwc.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/compat_get_default_export","webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/browserslistToSwc.ts"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Inspired by https://github.com/marcofugaro/browserslist-to-esbuild/blob/main/src/index.js.\n//\n// This function exist because browserslist-rs (which is used under the hood by SWC) doesn't support browserslist \"extends\" syntax: https://github.com/browserslist/browserslist-rs#limitations.\n// Therefore, we must parse ourself the \".browserslistrc\" file to extract the browser entries and transform them into valid SWC \"env.targets\".\n//\n// The function will convert an array of browserslist entries from:\n//\n// ['and_chr 115', 'and_ff 115', 'and_qq 13.1',\n// 'and_uc 15.5', 'android 115', 'baidu 13.18',\n// 'bb 10', 'bb 7', 'chrome 116',\n// 'chrome 115', 'chrome 114', 'chrome 113',\n// 'chrome 112', 'chrome 111', 'chrome 110',\n// 'chrome 109', 'chrome 108', 'chrome 107',\n// 'edge 115', 'edge 114', 'edge 113',\n// 'edge 112', 'edge 111', 'edge 110',\n// 'edge 109', 'edge 108', 'edge 107',\n// 'edge 106', 'firefox 116', 'firefox 115',\n// 'firefox 114', 'firefox 113', 'firefox 112',\n// 'firefox 111', 'firefox 110', 'firefox 109',\n// 'firefox 108', 'firefox 107', 'ie 11',\n// 'ie 10', 'ie 9', 'ie 8',\n// 'ie 7', 'ie 6', 'ie 5.5',\n// 'ie_mob 11', 'ie_mob 10', 'ios_saf 16.5',\n// 'ios_saf 16.4', 'ios_saf 16.3', 'ios_saf 16.2',\n// 'ios_saf 16.1', 'ios_saf 16.0', 'ios_saf 15.6-15.7',\n// 'ios_saf 15.5', 'ios_saf 15.4', 'ios_saf 15.2-15.3',\n// 'kaios 3.0-3.1', 'kaios 2.5', 'op_mini all',\n// 'op_mob 73', 'opera 101', 'opera 100',\n// 'opera 99', 'opera 98', 'opera 97',\n// 'opera 96', 'opera 95', 'opera 94',\n// 'opera 93', 'opera 92', 'safari 16.5',\n// 'safari 16.4', 'safari 16.3', 'safari 16.2',\n// 'safari 16.1', 'safari 16.0', 'safari 15.6',\n// 'safari 15.5', 'safari 15.4', 'safari 15.2-15.3',\n// 'samsung 21', 'samsung 20', 'samsung 19.0',\n// 'samsung 18.0', 'samsung 17.0', 'samsung 16.0',\n// 'samsung 15.0', 'samsung 14.0', 'samsung 13.0',\n// 'samsung 12.0']\n//\n// To an object literal of SWC \"env.targets\":\n//\n// {\n// chrome: '107',\n// firefox: '107',\n// android: '115',\n// edge: '106',\n// ie: '5.5',\n// opera: '73',\n// safari: '15.2',\n// samsung: '12'\n// }\n\nimport browserslist from \"browserslist\";\n\n// Original browserslist-rs supported browsers (https://github.com/browserslist/browserslist-rs/blob/99a3244fc8c0e631a80a9cae5c41dca6c5a2aae5/build.rs#L10)\n// minus the browsers that are discarted by SWC (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L105).\nconst SwcSupportedBrowsers = [\n \"ie\",\n \"edge\",\n \"firefox\",\n \"chrome\",\n \"safari\",\n \"opera\",\n \"ios\",\n \"android\",\n \"op_mob\",\n \"and_chr\",\n \"and_ff\",\n \"ie_mob\",\n \"samsung\"\n] as const;\n\n// SWC browsers aliases (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L90).\nconst SwcMobileBrowserAliases: Record<string, string> = {\n \"and_chr\": \"chrome\",\n \"and_ff\": \"firefox\",\n \"ie_mob\": \"ie\",\n \"ios_saf\": \"ios\",\n \"op_mob\": \"opera\"\n};\n\nfunction parseBrowserslistEntry(entry: string) {\n // \"chrome 11\" --> [\"chrome\", \"11\"]\n const values = entry.split(\" \");\n\n let browser = values[0];\n let version = values[1];\n\n // \"and_chr\" --> \"chrome\"\n if (SwcMobileBrowserAliases[browser]) {\n browser = SwcMobileBrowserAliases[browser];\n }\n\n // \"11.0-12.0\" --> \"11.0\"\n if (version.includes(\"-\")) {\n version = version.slice(0, version.indexOf(\"-\"));\n }\n\n // \"11.0\" --> \"11\"\n if (version.endsWith(\".0\")) {\n version = version.slice(0, -2);\n }\n\n return {\n browser,\n version\n };\n}\n\nexport function createSwcTargetsFromBrowserslistEntries(entries: string[]) {\n return entries.reduce((acc, x: string) => {\n const { browser, version } = parseBrowserslistEntry(x);\n\n // Exclude browsers that are not supported by SWC.\n if (!((SwcSupportedBrowsers as unknown) as string[]).includes(browser)) {\n return acc;\n }\n\n // Let's make TS happy as we are now certain that the browser is part\n // of the supported browsers list.\n const _browser = browser as keyof typeof SwcSupportedBrowsers;\n\n // SWC \"env.targets\" only support a single entry per target (browser).\n // Therefore, we loop through the browser versions to keep only the oldest one.\n if (acc[_browser]) {\n if (parseFloat(acc[_browser]) > parseFloat(version)) {\n acc[_browser] = version;\n }\n } else {\n acc[_browser] = version;\n }\n\n return acc;\n }, {} as Record<keyof typeof SwcSupportedBrowsers, string>);\n}\n\nexport interface BrowserslistToSwcOptions extends Omit<browserslist.Options, \"path\"> {\n queries?: string | string[];\n}\n\nexport function browserslistToSwc(options: BrowserslistToSwcOptions = {}) {\n const {\n queries,\n ...browserlistsOptions\n } = options;\n\n // Will return the entries matching the \"queries\" prop when provided, otherwise,\n // the function will load the closest \".browserslistrc\" file.\n const entries = browserslist(queries, {\n path: \"./browserslistrc\",\n ...browserlistsOptions\n });\n\n return createSwcTargetsFromBrowserslistEntries(entries);\n}\n"],"names":["browserslist","SwcSupportedBrowsers","SwcMobileBrowserAliases","parseBrowserslistEntry","entry","values","browser","version","createSwcTargetsFromBrowserslistEntries","entries","acc","x","_browser","parseFloat","browserslistToSwc","options","queries","browserlistsOptions"],"mappings":"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"}
@@ -106,7 +106,7 @@ function createSwcTargetsFromBrowserslistEntries(entries) {
106
106
  return entries.reduce((acc, x)=>{
107
107
  const { browser, version } = parseBrowserslistEntry(x);
108
108
  // Exclude browsers that are not supported by SWC.
109
- if (SwcSupportedBrowsers.indexOf(browser) === -1) {
109
+ if (!SwcSupportedBrowsers.includes(browser)) {
110
110
  return acc;
111
111
  }
112
112
  // Let's make TS happy as we are now certain that the browser is part
@@ -1 +1 @@
1
- {"version":3,"file":"browserslistToSwc.mjs","sources":["webpack://@workleap/swc-configs/./src/browserslistToSwc.ts"],"sourcesContent":["// Inspired by https://github.com/marcofugaro/browserslist-to-esbuild/blob/main/src/index.js.\n//\n// This function exist because browserslist-rs (which is used under the hood by SWC) doesn't support browserslist \"extends\" syntax: https://github.com/browserslist/browserslist-rs#limitations.\n// Therefore, we must parse ourself the \".browserslistrc\" file to extract the browser entries and transform them into valid SWC \"env.targets\".\n//\n// The function will convert an array of browserslist entries from:\n//\n// ['and_chr 115', 'and_ff 115', 'and_qq 13.1',\n// 'and_uc 15.5', 'android 115', 'baidu 13.18',\n// 'bb 10', 'bb 7', 'chrome 116',\n// 'chrome 115', 'chrome 114', 'chrome 113',\n// 'chrome 112', 'chrome 111', 'chrome 110',\n// 'chrome 109', 'chrome 108', 'chrome 107',\n// 'edge 115', 'edge 114', 'edge 113',\n// 'edge 112', 'edge 111', 'edge 110',\n// 'edge 109', 'edge 108', 'edge 107',\n// 'edge 106', 'firefox 116', 'firefox 115',\n// 'firefox 114', 'firefox 113', 'firefox 112',\n// 'firefox 111', 'firefox 110', 'firefox 109',\n// 'firefox 108', 'firefox 107', 'ie 11',\n// 'ie 10', 'ie 9', 'ie 8',\n// 'ie 7', 'ie 6', 'ie 5.5',\n// 'ie_mob 11', 'ie_mob 10', 'ios_saf 16.5',\n// 'ios_saf 16.4', 'ios_saf 16.3', 'ios_saf 16.2',\n// 'ios_saf 16.1', 'ios_saf 16.0', 'ios_saf 15.6-15.7',\n// 'ios_saf 15.5', 'ios_saf 15.4', 'ios_saf 15.2-15.3',\n// 'kaios 3.0-3.1', 'kaios 2.5', 'op_mini all',\n// 'op_mob 73', 'opera 101', 'opera 100',\n// 'opera 99', 'opera 98', 'opera 97',\n// 'opera 96', 'opera 95', 'opera 94',\n// 'opera 93', 'opera 92', 'safari 16.5',\n// 'safari 16.4', 'safari 16.3', 'safari 16.2',\n// 'safari 16.1', 'safari 16.0', 'safari 15.6',\n// 'safari 15.5', 'safari 15.4', 'safari 15.2-15.3',\n// 'samsung 21', 'samsung 20', 'samsung 19.0',\n// 'samsung 18.0', 'samsung 17.0', 'samsung 16.0',\n// 'samsung 15.0', 'samsung 14.0', 'samsung 13.0',\n// 'samsung 12.0']\n//\n// To an object literal of SWC \"env.targets\":\n//\n// {\n// chrome: '107',\n// firefox: '107',\n// android: '115',\n// edge: '106',\n// ie: '5.5',\n// opera: '73',\n// safari: '15.2',\n// samsung: '12'\n// }\n\nimport browserslist from \"browserslist\";\n\n// Original browserslist-rs supported browsers (https://github.com/browserslist/browserslist-rs/blob/99a3244fc8c0e631a80a9cae5c41dca6c5a2aae5/build.rs#L10)\n// minus the browsers that are discarted by SWC (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L105).\nconst SwcSupportedBrowsers = [\n \"ie\",\n \"edge\",\n \"firefox\",\n \"chrome\",\n \"safari\",\n \"opera\",\n \"ios\",\n \"android\",\n \"op_mob\",\n \"and_chr\",\n \"and_ff\",\n \"ie_mob\",\n \"samsung\"\n] as const;\n\n// SWC browsers aliases (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L90).\nconst SwcMobileBrowserAliases: Record<string, string> = {\n \"and_chr\": \"chrome\",\n \"and_ff\": \"firefox\",\n \"ie_mob\": \"ie\",\n \"ios_saf\": \"ios\",\n \"op_mob\": \"opera\"\n};\n\nfunction parseBrowserslistEntry(entry: string) {\n // \"chrome 11\" --> [\"chrome\", \"11\"]\n const values = entry.split(\" \");\n\n let browser = values[0];\n let version = values[1];\n\n // \"and_chr\" --> \"chrome\"\n if (SwcMobileBrowserAliases[browser]) {\n browser = SwcMobileBrowserAliases[browser];\n }\n\n // \"11.0-12.0\" --> \"11.0\"\n if (version.includes(\"-\")) {\n version = version.slice(0, version.indexOf(\"-\"));\n }\n\n // \"11.0\" --> \"11\"\n if (version.endsWith(\".0\")) {\n version = version.slice(0, -2);\n }\n\n return {\n browser,\n version\n };\n}\n\nexport function createSwcTargetsFromBrowserslistEntries(entries: string[]) {\n return entries.reduce((acc, x: string) => {\n const { browser, version } = parseBrowserslistEntry(x);\n\n // Exclude browsers that are not supported by SWC.\n if (((SwcSupportedBrowsers as unknown) as string[]).indexOf(browser) === -1) {\n return acc;\n }\n\n // Let's make TS happy as we are now certain that the browser is part\n // of the supported browsers list.\n const _browser = browser as keyof typeof SwcSupportedBrowsers;\n\n // SWC \"env.targets\" only support a single entry per target (browser).\n // Therefore, we loop through the browser versions to keep only the oldest one.\n if (acc[_browser]) {\n if (parseFloat(acc[_browser]) > parseFloat(version)) {\n acc[_browser] = version;\n }\n } else {\n acc[_browser] = version;\n }\n\n return acc;\n }, {} as Record<keyof typeof SwcSupportedBrowsers, string>);\n}\n\nexport interface BrowserslistToSwcOptions extends Omit<browserslist.Options, \"path\"> {\n queries?: string | string[];\n}\n\nexport function browserslistToSwc(options: BrowserslistToSwcOptions = {}) {\n const {\n queries,\n ...browserlistsOptions\n } = options;\n\n // Will return the entries matching the \"queries\" prop when provided, otherwise,\n // the function will load the closest \".browserslistrc\" file.\n const entries = browserslist(queries, {\n path: \"./browserslistrc\",\n ...browserlistsOptions\n });\n\n return createSwcTargetsFromBrowserslistEntries(entries);\n}\n"],"names":["browserslist","SwcSupportedBrowsers","SwcMobileBrowserAliases","parseBrowserslistEntry","entry","values","browser","version","createSwcTargetsFromBrowserslistEntries","entries","acc","x","_browser","parseFloat","browserslistToSwc","options","queries","browserlistsOptions"],"mappings":";;;;;AAAA,6FAA6F;AAC7F,EAAE;AACF,gMAAgM;AAChM,8IAA8I;AAC9I,EAAE;AACF,mEAAmE;AACnE,EAAE;AACF,mDAAmD;AACnD,kDAAkD;AAClD,iDAAiD;AACjD,iDAAiD;AACjD,iDAAiD;AACjD,iDAAiD;AACjD,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,kDAAkD;AAClD,kDAAkD;AAClD,kDAAkD;AAClD,4CAA4C;AAC5C,2CAA2C;AAC3C,6CAA6C;AAC7C,mDAAmD;AACnD,mDAAmD;AACnD,wDAAwD;AACxD,wDAAwD;AACxD,kDAAkD;AAClD,gDAAgD;AAChD,+CAA+C;AAC/C,+CAA+C;AAC/C,kDAAkD;AAClD,kDAAkD;AAClD,kDAAkD;AAClD,uDAAuD;AACvD,mDAAmD;AACnD,mDAAmD;AACnD,mDAAmD;AACnD,kBAAkB;AAClB,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,IAAI;AACJ,kBAAkB;AAClB,mBAAmB;AACnB,mBAAmB;AACnB,gBAAgB;AAChB,cAAc;AACd,gBAAgB;AAChB,mBAAmB;AACnB,iBAAiB;AACjB,IAAI;AAEoC;AAExC,2JAA2J;AAC3J,sIAAsI;AACtI,MAAMC,uBAAuB;IACzB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAED,6GAA6G;AAC7G,MAAMC,0BAAkD;IACpD,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;AACd;AAEA,SAASC,uBAAuBC,KAAa;IACzC,mCAAmC;IACnC,MAAMC,SAASD,MAAM,KAAK,CAAC;IAE3B,IAAIE,UAAUD,MAAM,CAAC,EAAE;IACvB,IAAIE,UAAUF,MAAM,CAAC,EAAE;IAEvB,yBAAyB;IACzB,IAAIH,uBAAuB,CAACI,QAAQ,EAAE;QAClCA,UAAUJ,uBAAuB,CAACI,QAAQ;IAC9C;IAEA,yBAAyB;IACzB,IAAIC,QAAQ,QAAQ,CAAC,MAAM;QACvBA,UAAUA,QAAQ,KAAK,CAAC,GAAGA,QAAQ,OAAO,CAAC;IAC/C;IAEA,kBAAkB;IAClB,IAAIA,QAAQ,QAAQ,CAAC,OAAO;QACxBA,UAAUA,QAAQ,KAAK,CAAC,GAAG,CAAC;IAChC;IAEA,OAAO;QACHD;QACAC;IACJ;AACJ;AAEO,SAASC,wCAAwCC,OAAiB;IACrE,OAAOA,QAAQ,MAAM,CAAC,CAACC,KAAKC;QACxB,MAAM,EAAEL,OAAO,EAAEC,OAAO,EAAE,GAAGJ,uBAAuBQ;QAEpD,kDAAkD;QAClD,IAAMV,qBAA8C,OAAO,CAACK,aAAa,CAAC,GAAG;YACzE,OAAOI;QACX;QAEA,qEAAqE;QACrE,kCAAkC;QAClC,MAAME,WAAWN;QAEjB,sEAAsE;QACtE,+EAA+E;QAC/E,IAAII,GAAG,CAACE,SAAS,EAAE;YACf,IAAIC,WAAWH,GAAG,CAACE,SAAS,IAAIC,WAAWN,UAAU;gBACjDG,GAAG,CAACE,SAAS,GAAGL;YACpB;QACJ,OAAO;YACHG,GAAG,CAACE,SAAS,GAAGL;QACpB;QAEA,OAAOG;IACX,GAAG,CAAC;AACR;AAMO,SAASI,kBAAkBC,UAAoC,CAAC,CAAC;IACpE,MAAM,EACFC,OAAO,EACP,GAAGC,qBACN,GAAGF;IAEJ,gFAAgF;IAChF,6DAA6D;IAC7D,MAAMN,UAAUT,YAAYA,CAACgB,SAAS;QAClC,MAAM;QACN,GAAGC,mBAAmB;IAC1B;IAEA,OAAOT,wCAAwCC;AACnD"}
1
+ {"version":3,"file":"browserslistToSwc.mjs","sources":["webpack://@workleap/swc-configs/./src/browserslistToSwc.ts"],"sourcesContent":["// Inspired by https://github.com/marcofugaro/browserslist-to-esbuild/blob/main/src/index.js.\n//\n// This function exist because browserslist-rs (which is used under the hood by SWC) doesn't support browserslist \"extends\" syntax: https://github.com/browserslist/browserslist-rs#limitations.\n// Therefore, we must parse ourself the \".browserslistrc\" file to extract the browser entries and transform them into valid SWC \"env.targets\".\n//\n// The function will convert an array of browserslist entries from:\n//\n// ['and_chr 115', 'and_ff 115', 'and_qq 13.1',\n// 'and_uc 15.5', 'android 115', 'baidu 13.18',\n// 'bb 10', 'bb 7', 'chrome 116',\n// 'chrome 115', 'chrome 114', 'chrome 113',\n// 'chrome 112', 'chrome 111', 'chrome 110',\n// 'chrome 109', 'chrome 108', 'chrome 107',\n// 'edge 115', 'edge 114', 'edge 113',\n// 'edge 112', 'edge 111', 'edge 110',\n// 'edge 109', 'edge 108', 'edge 107',\n// 'edge 106', 'firefox 116', 'firefox 115',\n// 'firefox 114', 'firefox 113', 'firefox 112',\n// 'firefox 111', 'firefox 110', 'firefox 109',\n// 'firefox 108', 'firefox 107', 'ie 11',\n// 'ie 10', 'ie 9', 'ie 8',\n// 'ie 7', 'ie 6', 'ie 5.5',\n// 'ie_mob 11', 'ie_mob 10', 'ios_saf 16.5',\n// 'ios_saf 16.4', 'ios_saf 16.3', 'ios_saf 16.2',\n// 'ios_saf 16.1', 'ios_saf 16.0', 'ios_saf 15.6-15.7',\n// 'ios_saf 15.5', 'ios_saf 15.4', 'ios_saf 15.2-15.3',\n// 'kaios 3.0-3.1', 'kaios 2.5', 'op_mini all',\n// 'op_mob 73', 'opera 101', 'opera 100',\n// 'opera 99', 'opera 98', 'opera 97',\n// 'opera 96', 'opera 95', 'opera 94',\n// 'opera 93', 'opera 92', 'safari 16.5',\n// 'safari 16.4', 'safari 16.3', 'safari 16.2',\n// 'safari 16.1', 'safari 16.0', 'safari 15.6',\n// 'safari 15.5', 'safari 15.4', 'safari 15.2-15.3',\n// 'samsung 21', 'samsung 20', 'samsung 19.0',\n// 'samsung 18.0', 'samsung 17.0', 'samsung 16.0',\n// 'samsung 15.0', 'samsung 14.0', 'samsung 13.0',\n// 'samsung 12.0']\n//\n// To an object literal of SWC \"env.targets\":\n//\n// {\n// chrome: '107',\n// firefox: '107',\n// android: '115',\n// edge: '106',\n// ie: '5.5',\n// opera: '73',\n// safari: '15.2',\n// samsung: '12'\n// }\n\nimport browserslist from \"browserslist\";\n\n// Original browserslist-rs supported browsers (https://github.com/browserslist/browserslist-rs/blob/99a3244fc8c0e631a80a9cae5c41dca6c5a2aae5/build.rs#L10)\n// minus the browsers that are discarted by SWC (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L105).\nconst SwcSupportedBrowsers = [\n \"ie\",\n \"edge\",\n \"firefox\",\n \"chrome\",\n \"safari\",\n \"opera\",\n \"ios\",\n \"android\",\n \"op_mob\",\n \"and_chr\",\n \"and_ff\",\n \"ie_mob\",\n \"samsung\"\n] as const;\n\n// SWC browsers aliases (https://github.com/swc-project/swc/blob/main/crates/preset_env_base/src/lib.rs#L90).\nconst SwcMobileBrowserAliases: Record<string, string> = {\n \"and_chr\": \"chrome\",\n \"and_ff\": \"firefox\",\n \"ie_mob\": \"ie\",\n \"ios_saf\": \"ios\",\n \"op_mob\": \"opera\"\n};\n\nfunction parseBrowserslistEntry(entry: string) {\n // \"chrome 11\" --> [\"chrome\", \"11\"]\n const values = entry.split(\" \");\n\n let browser = values[0];\n let version = values[1];\n\n // \"and_chr\" --> \"chrome\"\n if (SwcMobileBrowserAliases[browser]) {\n browser = SwcMobileBrowserAliases[browser];\n }\n\n // \"11.0-12.0\" --> \"11.0\"\n if (version.includes(\"-\")) {\n version = version.slice(0, version.indexOf(\"-\"));\n }\n\n // \"11.0\" --> \"11\"\n if (version.endsWith(\".0\")) {\n version = version.slice(0, -2);\n }\n\n return {\n browser,\n version\n };\n}\n\nexport function createSwcTargetsFromBrowserslistEntries(entries: string[]) {\n return entries.reduce((acc, x: string) => {\n const { browser, version } = parseBrowserslistEntry(x);\n\n // Exclude browsers that are not supported by SWC.\n if (!((SwcSupportedBrowsers as unknown) as string[]).includes(browser)) {\n return acc;\n }\n\n // Let's make TS happy as we are now certain that the browser is part\n // of the supported browsers list.\n const _browser = browser as keyof typeof SwcSupportedBrowsers;\n\n // SWC \"env.targets\" only support a single entry per target (browser).\n // Therefore, we loop through the browser versions to keep only the oldest one.\n if (acc[_browser]) {\n if (parseFloat(acc[_browser]) > parseFloat(version)) {\n acc[_browser] = version;\n }\n } else {\n acc[_browser] = version;\n }\n\n return acc;\n }, {} as Record<keyof typeof SwcSupportedBrowsers, string>);\n}\n\nexport interface BrowserslistToSwcOptions extends Omit<browserslist.Options, \"path\"> {\n queries?: string | string[];\n}\n\nexport function browserslistToSwc(options: BrowserslistToSwcOptions = {}) {\n const {\n queries,\n ...browserlistsOptions\n } = options;\n\n // Will return the entries matching the \"queries\" prop when provided, otherwise,\n // the function will load the closest \".browserslistrc\" file.\n const entries = browserslist(queries, {\n path: \"./browserslistrc\",\n ...browserlistsOptions\n });\n\n return createSwcTargetsFromBrowserslistEntries(entries);\n}\n"],"names":["browserslist","SwcSupportedBrowsers","SwcMobileBrowserAliases","parseBrowserslistEntry","entry","values","browser","version","createSwcTargetsFromBrowserslistEntries","entries","acc","x","_browser","parseFloat","browserslistToSwc","options","queries","browserlistsOptions"],"mappings":";;;;;AAAA,6FAA6F;AAC7F,EAAE;AACF,gMAAgM;AAChM,8IAA8I;AAC9I,EAAE;AACF,mEAAmE;AACnE,EAAE;AACF,mDAAmD;AACnD,kDAAkD;AAClD,iDAAiD;AACjD,iDAAiD;AACjD,iDAAiD;AACjD,iDAAiD;AACjD,+CAA+C;AAC/C,+CAA+C;AAC/C,+CAA+C;AAC/C,kDAAkD;AAClD,kDAAkD;AAClD,kDAAkD;AAClD,4CAA4C;AAC5C,2CAA2C;AAC3C,6CAA6C;AAC7C,mDAAmD;AACnD,mDAAmD;AACnD,wDAAwD;AACxD,wDAAwD;AACxD,kDAAkD;AAClD,gDAAgD;AAChD,+CAA+C;AAC/C,+CAA+C;AAC/C,kDAAkD;AAClD,kDAAkD;AAClD,kDAAkD;AAClD,uDAAuD;AACvD,mDAAmD;AACnD,mDAAmD;AACnD,mDAAmD;AACnD,kBAAkB;AAClB,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,IAAI;AACJ,kBAAkB;AAClB,mBAAmB;AACnB,mBAAmB;AACnB,gBAAgB;AAChB,cAAc;AACd,gBAAgB;AAChB,mBAAmB;AACnB,iBAAiB;AACjB,IAAI;AAEoC;AAExC,2JAA2J;AAC3J,sIAAsI;AACtI,MAAMC,uBAAuB;IACzB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAED,6GAA6G;AAC7G,MAAMC,0BAAkD;IACpD,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;AACd;AAEA,SAASC,uBAAuBC,KAAa;IACzC,mCAAmC;IACnC,MAAMC,SAASD,MAAM,KAAK,CAAC;IAE3B,IAAIE,UAAUD,MAAM,CAAC,EAAE;IACvB,IAAIE,UAAUF,MAAM,CAAC,EAAE;IAEvB,yBAAyB;IACzB,IAAIH,uBAAuB,CAACI,QAAQ,EAAE;QAClCA,UAAUJ,uBAAuB,CAACI,QAAQ;IAC9C;IAEA,yBAAyB;IACzB,IAAIC,QAAQ,QAAQ,CAAC,MAAM;QACvBA,UAAUA,QAAQ,KAAK,CAAC,GAAGA,QAAQ,OAAO,CAAC;IAC/C;IAEA,kBAAkB;IAClB,IAAIA,QAAQ,QAAQ,CAAC,OAAO;QACxBA,UAAUA,QAAQ,KAAK,CAAC,GAAG,CAAC;IAChC;IAEA,OAAO;QACHD;QACAC;IACJ;AACJ;AAEO,SAASC,wCAAwCC,OAAiB;IACrE,OAAOA,QAAQ,MAAM,CAAC,CAACC,KAAKC;QACxB,MAAM,EAAEL,OAAO,EAAEC,OAAO,EAAE,GAAGJ,uBAAuBQ;QAEpD,kDAAkD;QAClD,IAAI,CAAGV,qBAA8C,QAAQ,CAACK,UAAU;YACpE,OAAOI;QACX;QAEA,qEAAqE;QACrE,kCAAkC;QAClC,MAAME,WAAWN;QAEjB,sEAAsE;QACtE,+EAA+E;QAC/E,IAAII,GAAG,CAACE,SAAS,EAAE;YACf,IAAIC,WAAWH,GAAG,CAACE,SAAS,IAAIC,WAAWN,UAAU;gBACjDG,GAAG,CAACE,SAAS,GAAGL;YACpB;QACJ,OAAO;YACHG,GAAG,CAACE,SAAS,GAAGL;QACpB;QAEA,OAAOG;IACX,GAAG,CAAC;AACR;AAMO,SAASI,kBAAkBC,UAAoC,CAAC,CAAC;IACpE,MAAM,EACFC,OAAO,EACP,GAAGC,qBACN,GAAGF;IAEJ,gFAAgF;IAChF,6DAA6D;IAC7D,MAAMN,UAAUT,YAAYA,CAACgB,SAAS;QAClC,MAAM;QACN,GAAGC,mBAAmB;IAC1B;IAEA,OAAOT,wCAAwCC;AACnD"}
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/build.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\nimport { applyTransformers, type SwcConfigTransformer } from \"./applyTransformers.ts\";\n\nexport interface DefineBuildConfigOptions {\n baseUrl?: NonNullable<SwcConfig[\"jsc\"]>[\"baseUrl\"];\n parser?: \"ecmascript\" | \"typescript\";\n paths?: NonNullable<SwcConfig[\"jsc\"]>[\"paths\"];\n transformers?: SwcConfigTransformer[];\n}\n\nexport function defineBuildConfig(targets: Record<string, string>, options: DefineBuildConfigOptions = {}) {\n const {\n baseUrl,\n parser = \"typescript\",\n paths,\n transformers = []\n } = options;\n\n const config: SwcConfig = {\n jsc: {\n baseUrl,\n paths,\n parser: parser === \"ecmascript\"\n ? {\n syntax: \"ecmascript\",\n jsx: true\n }\n : {\n syntax: \"typescript\",\n tsx: true\n },\n // View https://swc.rs/docs/configuration/minification for options.\n minify: {\n compress: true,\n mangle: true\n },\n transform: {\n react: {\n // Use \"react/jsx-runtime\".\n runtime: \"automatic\",\n // Use the native \"Object.assign()\" instead of \"_extends\".\n useBuiltins: true\n }\n },\n // Import shims from an external module rather than inlining them in bundle files to greatly reduce the bundles size.\n // Requires to add \"@swc/helpers\" as a project dependency.\n externalHelpers: true\n },\n module: {\n // The output module resolution system that the code will be compiled for.\n type: \"es6\"\n },\n env: {\n // jsc.target is not provided because the provided targets takes precedence.\n targets\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"build\"\n });\n\n return transformedConfig;\n}\n"],"names":["applyTransformers","defineBuildConfig","targets","options","baseUrl","parser","paths","transformers","config","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA;;;;ACNA;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D;;;;;;;;;;;;;;;ACLsF;AAS/E,SAASC,kBAAkBC,OAA+B,EAAEC,UAAoC,CAAC,CAAC;IACrG,MAAM,EACFC,OAAO,EACPC,SAAS,YAAY,EACrBC,KAAK,EACLC,eAAe,EAAE,EACpB,GAAGJ;IAEJ,MAAMK,SAAoB;QACtB,KAAK;YACDJ;YACAE;YACA,QAAQD,WAAW,eACb;gBACE,QAAQ;gBACR,KAAK;YACT,IACE;gBACE,QAAQ;gBACR,KAAK;YACT;YACJ,mEAAmE;YACnE,QAAQ;gBACJ,UAAU;gBACV,QAAQ;YACZ;YACA,WAAW;gBACP,OAAO;oBACH,2BAA2B;oBAC3B,SAAS;oBACT,0DAA0D;oBAC1D,aAAa;gBACjB;YACJ;YACA,qHAAqH;YACrH,0DAA0D;YAC1D,iBAAiB;QACrB;QACA,QAAQ;YACJ,0EAA0E;YAC1E,MAAM;QACV;QACA,KAAK;YACD,4EAA4E;YAC5EH;QACJ;IACJ;IAEA,MAAMO,oBAAoBT,mEAAiBA,CAACQ,QAAQD,cAAc;QAC9D,aAAa;IACjB;IAEA,OAAOE;AACX"}
1
+ {"version":3,"file":"build.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/build.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\nimport { applyTransformers, type SwcConfigTransformer } from \"./applyTransformers.ts\";\n\nexport interface DefineBuildConfigOptions {\n baseUrl?: NonNullable<SwcConfig[\"jsc\"]>[\"baseUrl\"];\n parser?: \"ecmascript\" | \"typescript\";\n paths?: NonNullable<SwcConfig[\"jsc\"]>[\"paths\"];\n transformers?: SwcConfigTransformer[];\n}\n\nexport function defineBuildConfig(targets: Record<string, string>, options: DefineBuildConfigOptions = {}) {\n const {\n baseUrl,\n parser = \"typescript\",\n paths,\n transformers = []\n } = options;\n\n const config: SwcConfig = {\n jsc: {\n baseUrl,\n paths,\n parser: parser === \"ecmascript\"\n ? {\n syntax: \"ecmascript\",\n jsx: true\n }\n : {\n syntax: \"typescript\",\n tsx: true\n },\n // View https://swc.rs/docs/configuration/minification for options.\n minify: {\n compress: true,\n mangle: true\n },\n transform: {\n react: {\n // Use \"react/jsx-runtime\".\n runtime: \"automatic\",\n // Use the native \"Object.assign()\" instead of \"_extends\".\n useBuiltins: true\n }\n },\n // Import shims from an external module rather than inlining them in bundle files to greatly reduce the bundles size.\n // Requires to add \"@swc/helpers\" as a project dependency.\n externalHelpers: true\n },\n module: {\n // The output module resolution system that the code will be compiled for.\n type: \"es6\"\n },\n env: {\n // jsc.target is not provided because the provided targets takes precedence.\n targets\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"build\"\n });\n\n return transformedConfig;\n}\n"],"names":["applyTransformers","defineBuildConfig","targets","options","baseUrl","parser","paths","transformers","config","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E;;;;;;;;;;;;;;;ACLsF;AAS/E,SAASC,kBAAkBC,OAA+B,EAAEC,UAAoC,CAAC,CAAC;IACrG,MAAM,EACFC,OAAO,EACPC,SAAS,YAAY,EACrBC,KAAK,EACLC,eAAe,EAAE,EACpB,GAAGJ;IAEJ,MAAMK,SAAoB;QACtB,KAAK;YACDJ;YACAE;YACA,QAAQD,WAAW,eACb;gBACE,QAAQ;gBACR,KAAK;YACT,IACE;gBACE,QAAQ;gBACR,KAAK;YACT;YACJ,mEAAmE;YACnE,QAAQ;gBACJ,UAAU;gBACV,QAAQ;YACZ;YACA,WAAW;gBACP,OAAO;oBACH,2BAA2B;oBAC3B,SAAS;oBACT,0DAA0D;oBAC1D,aAAa;gBACjB;YACJ;YACA,qHAAqH;YACrH,0DAA0D;YAC1D,iBAAiB;QACrB;QACA,QAAQ;YACJ,0EAA0E;YAC1E,MAAM;QACV;QACA,KAAK;YACD,4EAA4E;YAC5EH;QACJ;IACJ;IAEA,MAAMO,oBAAoBT,mEAAiBA,CAACQ,QAAQD,cAAc;QAC9D,aAAa;IACjB;IAEA,OAAOE;AACX"}
package/dist/dev.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/dev.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\nimport { applyTransformers, type SwcConfigTransformer } from \"./applyTransformers.ts\";\n\nexport interface DefineDevConfigOptions {\n baseUrl?: NonNullable<SwcConfig[\"jsc\"]>[\"baseUrl\"];\n fastRefresh?: boolean;\n parser?: \"ecmascript\" | \"typescript\";\n paths?: NonNullable<SwcConfig[\"jsc\"]>[\"paths\"];\n transformers?: SwcConfigTransformer[];\n}\n\nexport function defineDevConfig(targets: Record<string, string>, options: DefineDevConfigOptions = {}) {\n const {\n baseUrl,\n fastRefresh = true,\n parser = \"typescript\",\n paths,\n transformers = []\n } = options;\n\n const config: SwcConfig = {\n jsc: {\n baseUrl,\n paths,\n parser: parser === \"ecmascript\"\n ? {\n syntax: \"ecmascript\",\n jsx: true\n }\n : {\n syntax: \"typescript\",\n tsx: true\n },\n transform: {\n react: {\n // Use \"react/jsx-runtime\".\n runtime: \"automatic\",\n // Use the native \"Object.assign()\" instead of \"_extends\".\n useBuiltins: true,\n // Enable React experimental \"fast-refresh\" feature.\n // Also need to install @pmmmwh/react-refresh-webpack-plugin.\n refresh: fastRefresh\n }\n },\n // Import shims from an external module rather than inlining them in bundle files to greatly reduce the bundles size.\n // Requires to add \"@swc/helpers\" as a project dependency.\n externalHelpers: true\n },\n module: {\n // The output module resolution system that the code will be compiled for.\n type: \"es6\"\n },\n env: {\n // jsc.target is not provided because the provided targets takes precedence.\n targets\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"dev\"\n });\n\n return transformedConfig;\n}\n"],"names":["applyTransformers","defineDevConfig","targets","options","baseUrl","fastRefresh","parser","paths","transformers","config","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA;;;;ACNA;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D;;;;;;;;;;;;;;;ACLsF;AAU/E,SAASC,gBAAgBC,OAA+B,EAAEC,UAAkC,CAAC,CAAC;IACjG,MAAM,EACFC,OAAO,EACPC,cAAc,IAAI,EAClBC,SAAS,YAAY,EACrBC,KAAK,EACLC,eAAe,EAAE,EACpB,GAAGL;IAEJ,MAAMM,SAAoB;QACtB,KAAK;YACDL;YACAG;YACA,QAAQD,WAAW,eACb;gBACE,QAAQ;gBACR,KAAK;YACT,IACE;gBACE,QAAQ;gBACR,KAAK;YACT;YACJ,WAAW;gBACP,OAAO;oBACH,2BAA2B;oBAC3B,SAAS;oBACT,0DAA0D;oBAC1D,aAAa;oBACb,oDAAoD;oBACpD,6DAA6D;oBAC7D,SAASD;gBACb;YACJ;YACA,qHAAqH;YACrH,0DAA0D;YAC1D,iBAAiB;QACrB;QACA,QAAQ;YACJ,0EAA0E;YAC1E,MAAM;QACV;QACA,KAAK;YACD,4EAA4E;YAC5EH;QACJ;IACJ;IAEA,MAAMQ,oBAAoBV,mEAAiBA,CAACS,QAAQD,cAAc;QAC9D,aAAa;IACjB;IAEA,OAAOE;AACX"}
1
+ {"version":3,"file":"dev.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/dev.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\nimport { applyTransformers, type SwcConfigTransformer } from \"./applyTransformers.ts\";\n\nexport interface DefineDevConfigOptions {\n baseUrl?: NonNullable<SwcConfig[\"jsc\"]>[\"baseUrl\"];\n fastRefresh?: boolean;\n parser?: \"ecmascript\" | \"typescript\";\n paths?: NonNullable<SwcConfig[\"jsc\"]>[\"paths\"];\n transformers?: SwcConfigTransformer[];\n}\n\nexport function defineDevConfig(targets: Record<string, string>, options: DefineDevConfigOptions = {}) {\n const {\n baseUrl,\n fastRefresh = true,\n parser = \"typescript\",\n paths,\n transformers = []\n } = options;\n\n const config: SwcConfig = {\n jsc: {\n baseUrl,\n paths,\n parser: parser === \"ecmascript\"\n ? {\n syntax: \"ecmascript\",\n jsx: true\n }\n : {\n syntax: \"typescript\",\n tsx: true\n },\n transform: {\n react: {\n // Use \"react/jsx-runtime\".\n runtime: \"automatic\",\n // Use the native \"Object.assign()\" instead of \"_extends\".\n useBuiltins: true,\n // Enable React experimental \"fast-refresh\" feature.\n // Also need to install @pmmmwh/react-refresh-webpack-plugin.\n refresh: fastRefresh\n }\n },\n // Import shims from an external module rather than inlining them in bundle files to greatly reduce the bundles size.\n // Requires to add \"@swc/helpers\" as a project dependency.\n externalHelpers: true\n },\n module: {\n // The output module resolution system that the code will be compiled for.\n type: \"es6\"\n },\n env: {\n // jsc.target is not provided because the provided targets takes precedence.\n targets\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"dev\"\n });\n\n return transformedConfig;\n}\n"],"names":["applyTransformers","defineDevConfig","targets","options","baseUrl","fastRefresh","parser","paths","transformers","config","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E;;;;;;;;;;;;;;;ACLsF;AAU/E,SAASC,gBAAgBC,OAA+B,EAAEC,UAAkC,CAAC,CAAC;IACjG,MAAM,EACFC,OAAO,EACPC,cAAc,IAAI,EAClBC,SAAS,YAAY,EACrBC,KAAK,EACLC,eAAe,EAAE,EACpB,GAAGL;IAEJ,MAAMM,SAAoB;QACtB,KAAK;YACDL;YACAG;YACA,QAAQD,WAAW,eACb;gBACE,QAAQ;gBACR,KAAK;YACT,IACE;gBACE,QAAQ;gBACR,KAAK;YACT;YACJ,WAAW;gBACP,OAAO;oBACH,2BAA2B;oBAC3B,SAAS;oBACT,0DAA0D;oBAC1D,aAAa;oBACb,oDAAoD;oBACpD,6DAA6D;oBAC7D,SAASD;gBACb;YACJ;YACA,qHAAqH;YACrH,0DAA0D;YAC1D,iBAAiB;QACrB;QACA,QAAQ;YACJ,0EAA0E;YAC1E,MAAM;QACV;QACA,KAAK;YACD,4EAA4E;YAC5EH;QACJ;IACJ;IAEA,MAAMQ,oBAAoBV,mEAAiBA,CAACS,QAAQD,cAAc;QAC9D,aAAa;IACjB;IAEA,OAAOE;AACX"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/compat_get_default_export","webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/index.ts"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\n\nexport type { SwcConfigTransformer, SwcConfigTransformerContext } from \"./applyTransformers.ts\";\nexport * from \"./browserslistToSwc.ts\";\nexport * from \"./build.ts\";\nexport * from \"./dev.ts\";\nexport * from \"./jest.ts\";\nexport type { SwcConfig };\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA,iCAAiC,WAAW;AAC5C;AACA;;;;;ACPA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA;;;;ACNA;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHuC;AACZ;AACF;AACC"}
1
+ {"version":3,"file":"index.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/compat_get_default_export","webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/index.ts"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\n\nexport type { SwcConfigTransformer, SwcConfigTransformerContext } from \"./applyTransformers.ts\";\nexport * from \"./browserslistToSwc.ts\";\nexport * from \"./build.ts\";\nexport * from \"./dev.ts\";\nexport * from \"./jest.ts\";\nexport type { SwcConfig };\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA,iCAAiC,WAAW;AAC5C;AACA;;;;;ACPA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHuC;AACZ;AACF;AACC"}
package/dist/jest.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jest.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/jest.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\nimport { applyTransformers, type SwcConfigTransformer } from \"./applyTransformers.ts\";\n\nexport interface DefineJestConfigOptions {\n baseUrl?: NonNullable<SwcConfig[\"jsc\"]>[\"baseUrl\"];\n parser?: \"ecmascript\" | \"typescript\";\n paths?: NonNullable<SwcConfig[\"jsc\"]>[\"paths\"];\n react?: boolean;\n transformers?: SwcConfigTransformer[];\n}\n\nexport function defineJestConfig(options: DefineJestConfigOptions = {}) {\n const {\n baseUrl,\n parser = \"typescript\",\n paths,\n react = false,\n transformers = []\n } = options;\n\n const config: SwcConfig = {\n jsc: {\n baseUrl,\n paths,\n parser: parser === \"ecmascript\"\n ? {\n syntax: \"ecmascript\",\n jsx: react\n }\n : {\n syntax: \"typescript\",\n tsx: react\n },\n // The output environment that the code will be compiled for.\n target: \"esnext\",\n transform: react\n ? {\n react: {\n // Use \"react/jsx-runtime\".\n runtime: \"automatic\",\n // Use the native \"Object.assign()\" instead of \"_extends\".\n useBuiltins: true\n }\n }\n : undefined\n },\n module: {\n // The output module resolution system that the code will be compiled for.\n type: \"es6\"\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"jest\"\n });\n\n return transformedConfig;\n}\n"],"names":["applyTransformers","defineJestConfig","options","baseUrl","parser","paths","react","transformers","config","undefined","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA;;;;ACNA;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D;;;;;;;;;;;;;;;ACLsF;AAU/E,SAASC,iBAAiBC,UAAmC,CAAC,CAAC;IAClE,MAAM,EACFC,OAAO,EACPC,SAAS,YAAY,EACrBC,KAAK,EACLC,QAAQ,KAAK,EACbC,eAAe,EAAE,EACpB,GAAGL;IAEJ,MAAMM,SAAoB;QACtB,KAAK;YACDL;YACAE;YACA,QAAQD,WAAW,eACb;gBACE,QAAQ;gBACR,KAAKE;YACT,IACE;gBACE,QAAQ;gBACR,KAAKA;YACT;YACJ,6DAA6D;YAC7D,QAAQ;YACR,WAAWA,QACL;gBACE,OAAO;oBACH,2BAA2B;oBAC3B,SAAS;oBACT,0DAA0D;oBAC1D,aAAa;gBACjB;YACJ,IACEG;QACV;QACA,QAAQ;YACJ,0EAA0E;YAC1E,MAAM;QACV;IACJ;IAEA,MAAMC,oBAAoBV,mEAAiBA,CAACQ,QAAQD,cAAc;QAC9D,aAAa;IACjB;IAEA,OAAOG;AACX"}
1
+ {"version":3,"file":"jest.js","sources":["webpack://@workleap/swc-configs/webpack/runtime/define_property_getters","webpack://@workleap/swc-configs/webpack/runtime/has_own_property","webpack://@workleap/swc-configs/webpack/runtime/make_namespace_object","webpack://@workleap/swc-configs/./src/jest.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import type { Config as SwcConfig } from \"@swc/core\";\nimport { applyTransformers, type SwcConfigTransformer } from \"./applyTransformers.ts\";\n\nexport interface DefineJestConfigOptions {\n baseUrl?: NonNullable<SwcConfig[\"jsc\"]>[\"baseUrl\"];\n parser?: \"ecmascript\" | \"typescript\";\n paths?: NonNullable<SwcConfig[\"jsc\"]>[\"paths\"];\n react?: boolean;\n transformers?: SwcConfigTransformer[];\n}\n\nexport function defineJestConfig(options: DefineJestConfigOptions = {}) {\n const {\n baseUrl,\n parser = \"typescript\",\n paths,\n react = false,\n transformers = []\n } = options;\n\n const config: SwcConfig = {\n jsc: {\n baseUrl,\n paths,\n parser: parser === \"ecmascript\"\n ? {\n syntax: \"ecmascript\",\n jsx: react\n }\n : {\n syntax: \"typescript\",\n tsx: react\n },\n // The output environment that the code will be compiled for.\n target: \"esnext\",\n transform: react\n ? {\n react: {\n // Use \"react/jsx-runtime\".\n runtime: \"automatic\",\n // Use the native \"Object.assign()\" instead of \"_extends\".\n useBuiltins: true\n }\n }\n : undefined\n },\n module: {\n // The output module resolution system that the code will be compiled for.\n type: \"es6\"\n }\n };\n\n const transformedConfig = applyTransformers(config, transformers, {\n environment: \"jest\"\n });\n\n return transformedConfig;\n}\n"],"names":["applyTransformers","defineJestConfig","options","baseUrl","parser","paths","react","transformers","config","undefined","transformedConfig"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E;;;;;;;;;;;;;;;ACLsF;AAU/E,SAASC,iBAAiBC,UAAmC,CAAC,CAAC;IAClE,MAAM,EACFC,OAAO,EACPC,SAAS,YAAY,EACrBC,KAAK,EACLC,QAAQ,KAAK,EACbC,eAAe,EAAE,EACpB,GAAGL;IAEJ,MAAMM,SAAoB;QACtB,KAAK;YACDL;YACAE;YACA,QAAQD,WAAW,eACb;gBACE,QAAQ;gBACR,KAAKE;YACT,IACE;gBACE,QAAQ;gBACR,KAAKA;YACT;YACJ,6DAA6D;YAC7D,QAAQ;YACR,WAAWA,QACL;gBACE,OAAO;oBACH,2BAA2B;oBAC3B,SAAS;oBACT,0DAA0D;oBAC1D,aAAa;gBACjB;YACJ,IACEG;QACV;QACA,QAAQ;YACJ,0EAA0E;YAC1E,MAAM;QACV;IACJ;IAEA,MAAMC,oBAAoBV,mEAAiBA,CAACQ,QAAQD,cAAc;QAC9D,aAAa;IACjB;IAEA,OAAOG;AACX"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workleap/swc-configs",
3
3
  "description": "Workleap recommended SWC configurations.",
4
- "version": "2.3.0",
4
+ "version": "2.3.3",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
7
7
  "access": "public",
@@ -23,8 +23,7 @@
23
23
  "files": [
24
24
  "src",
25
25
  "dist",
26
- "CHANGELOG.md",
27
- "README.md"
26
+ "CHANGELOG.md"
28
27
  ],
29
28
  "repository": {
30
29
  "type": "git",
@@ -32,10 +31,10 @@
32
31
  "directory": "packages/swc-configs"
33
32
  },
34
33
  "peerDependencies": {
35
- "@swc/core": "^1.12.14",
34
+ "@swc/core": "^1.13.5",
36
35
  "@swc/helpers": "^0.5.17",
37
36
  "@swc/jest": "^0.2.39",
38
- "browserslist": "^4.25.1"
37
+ "browserslist": "^4.27.0"
39
38
  },
40
39
  "peerDependenciesMeta": {
41
40
  "@swc/jest": {
@@ -46,15 +45,18 @@
46
45
  }
47
46
  },
48
47
  "devDependencies": {
49
- "@rsbuild/core": "1.4.7",
50
- "@rslib/core": "0.10.6",
51
- "@typescript-eslint/parser": "8.32.1",
52
- "eslint": "8.57.0",
53
- "typescript": "5.8.3",
54
- "vitest": "3.1.4",
55
- "@workleap/eslint-plugin": "3.5.0",
56
- "@workleap/rslib-configs": "1.1.0",
57
- "@workleap/typescript-configs": "3.0.4"
48
+ "@eslint/js": "9.38.0",
49
+ "@rsbuild/core": "1.5.17",
50
+ "@rslib/core": "0.16.0",
51
+ "@types/node": "24.9.1",
52
+ "@typescript-eslint/parser": "8.46.2",
53
+ "eslint": "9.38.0",
54
+ "typescript": "5.9.3",
55
+ "typescript-eslint": "8.46.2",
56
+ "vitest": "4.0.1",
57
+ "@workleap/eslint-configs": "0.0.3",
58
+ "@workleap/rslib-configs": "1.1.3",
59
+ "@workleap/typescript-configs": "3.0.7"
58
60
  },
59
61
  "scripts": {
60
62
  "build": "rslib build -c rslib.config.ts",
@@ -112,7 +112,7 @@ export function createSwcTargetsFromBrowserslistEntries(entries: string[]) {
112
112
  const { browser, version } = parseBrowserslistEntry(x);
113
113
 
114
114
  // Exclude browsers that are not supported by SWC.
115
- if (((SwcSupportedBrowsers as unknown) as string[]).indexOf(browser) === -1) {
115
+ if (!((SwcSupportedBrowsers as unknown) as string[]).includes(browser)) {
116
116
  return acc;
117
117
  }
118
118