55 lines
2.0 KiB
JavaScript
55 lines
2.0 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
Object.defineProperty(exports, "eventSwcPlugins", {
|
||
|
enumerable: true,
|
||
|
get: function() {
|
||
|
return eventSwcPlugins;
|
||
|
}
|
||
|
});
|
||
|
const _findup = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/find-up"));
|
||
|
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
||
|
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
||
|
function _interop_require_default(obj) {
|
||
|
return obj && obj.__esModule ? obj : {
|
||
|
default: obj
|
||
|
};
|
||
|
}
|
||
|
const EVENT_SWC_PLUGIN_PRESENT = "NEXT_SWC_PLUGIN_DETECTED";
|
||
|
async function eventSwcPlugins(dir, config) {
|
||
|
try {
|
||
|
var _config_experimental_swcPlugins, _config_experimental;
|
||
|
const packageJsonPath = await (0, _findup.default)("package.json", {
|
||
|
cwd: dir
|
||
|
});
|
||
|
if (!packageJsonPath) {
|
||
|
return [];
|
||
|
}
|
||
|
const { dependencies = {}, devDependencies = {} } = require(packageJsonPath);
|
||
|
const deps = {
|
||
|
...devDependencies,
|
||
|
...dependencies
|
||
|
};
|
||
|
const swcPluginPackages = ((_config_experimental = config.experimental) == null ? void 0 : (_config_experimental_swcPlugins = _config_experimental.swcPlugins) == null ? void 0 : _config_experimental_swcPlugins.map(([name, _])=>name)) ?? [];
|
||
|
return swcPluginPackages.map((plugin)=>{
|
||
|
// swc plugins can be non-npm pkgs with absolute path doesn't have version
|
||
|
const version = deps[plugin] ?? undefined;
|
||
|
let pluginName = plugin;
|
||
|
if (_fs.default.existsSync(pluginName)) {
|
||
|
pluginName = _path.default.basename(plugin, ".wasm");
|
||
|
}
|
||
|
return {
|
||
|
eventName: EVENT_SWC_PLUGIN_PRESENT,
|
||
|
payload: {
|
||
|
pluginName: pluginName,
|
||
|
pluginVersion: version
|
||
|
}
|
||
|
};
|
||
|
});
|
||
|
} catch (_) {
|
||
|
return [];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//# sourceMappingURL=swc-plugins.js.map
|