Files
2026-01-01 15:25:19 +05:30

44 lines
1.6 KiB
JavaScript

import { CanaryOnlyError, isStableBuild } from './canary-only';
export function getRspackCore() {
gateCanary();
try {
// eslint-disable-next-line import/no-extraneous-dependencies
return require('@rspack/core');
} catch (e) {
if (e instanceof Error && 'code' in e && e.code === 'MODULE_NOT_FOUND') {
throw Object.defineProperty(new Error('@rspack/core is not available. Please make sure `@next/plugin-rspack` is correctly installed.'), "__NEXT_ERROR_CODE", {
value: "E647",
enumerable: false,
configurable: true
});
}
throw e;
}
}
export function getRspackReactRefresh() {
gateCanary();
try {
// eslint-disable-next-line import/no-extraneous-dependencies
return require('@rspack/plugin-react-refresh');
} catch (e) {
if (e instanceof Error && 'code' in e && e.code === 'MODULE_NOT_FOUND') {
throw Object.defineProperty(new Error('@rspack/plugin-react-refresh is not available. Please make sure `@next/plugin-rspack` is correctly installed.'), "__NEXT_ERROR_CODE", {
value: "E648",
enumerable: false,
configurable: true
});
}
throw e;
}
}
function gateCanary() {
if (isStableBuild()) {
throw Object.defineProperty(new CanaryOnlyError('Rspack support is only available in Next.js canary.'), "__NEXT_ERROR_CODE", {
value: "E660",
enumerable: false,
configurable: true
});
}
}
//# sourceMappingURL=get-rspack.js.map