swc-plugins.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.eventSwcPlugins = eventSwcPlugins;
  6. var _findUp = _interopRequireDefault(require("next/dist/compiled/find-up"));
  7. var _path = _interopRequireDefault(require("path"));
  8. var _fileExists = require("../../lib/file-exists");
  9. function _interopRequireDefault(obj) {
  10. return obj && obj.__esModule ? obj : {
  11. default: obj
  12. };
  13. }
  14. const EVENT_SWC_PLUGIN_PRESENT = "NEXT_SWC_PLUGIN_DETECTED";
  15. async function eventSwcPlugins(dir, config) {
  16. try {
  17. var ref, ref1;
  18. const packageJsonPath = await (0, _findUp).default("package.json", {
  19. cwd: dir
  20. });
  21. if (!packageJsonPath) {
  22. return [];
  23. }
  24. const { dependencies ={} , devDependencies ={} } = require(packageJsonPath);
  25. const deps = {
  26. ...devDependencies,
  27. ...dependencies
  28. };
  29. var ref2;
  30. const swcPluginPackages = (ref2 = (ref = config.experimental) == null ? void 0 : (ref1 = ref.swcPlugins) == null ? void 0 : ref1.map(([name, _])=>name)) != null ? ref2 : [];
  31. return Promise.all(swcPluginPackages.map(async (plugin)=>{
  32. var _plugin;
  33. // swc plugins can be non-npm pkgs with absolute path doesn't have version
  34. const version = (_plugin = deps[plugin]) != null ? _plugin : undefined;
  35. let pluginName = plugin;
  36. if (await (0, _fileExists).fileExists(pluginName)) {
  37. pluginName = _path.default.basename(plugin, ".wasm");
  38. }
  39. return {
  40. eventName: EVENT_SWC_PLUGIN_PRESENT,
  41. payload: {
  42. pluginName: pluginName,
  43. pluginVersion: version
  44. }
  45. };
  46. }));
  47. } catch (_) {
  48. return [];
  49. }
  50. }
  51. //# sourceMappingURL=swc-plugins.js.map