71 lines
3.7 KiB
JavaScript
71 lines
3.7 KiB
JavaScript
#!/usr/bin/env node
|
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
const require_install = require("./install-DlD3sLtm.cjs");
|
|
let node_path = require("node:path");
|
|
//#region src/utils/install-react-grab.ts
|
|
var ReactGrabInstallError = class extends Error {
|
|
code;
|
|
constructor(message, code, options) {
|
|
super(message, options);
|
|
this.name = "ReactGrabInstallError";
|
|
this.code = code;
|
|
}
|
|
};
|
|
const installReactGrab = async (options = {}) => {
|
|
const project = await require_install.detectProject((0, node_path.resolve)(options.cwd ?? process.cwd()));
|
|
const framework = options.framework ?? project.framework;
|
|
const packageManager = options.packageManager ?? project.packageManager;
|
|
if (project.unsupportedFramework && !options.framework) throw new ReactGrabInstallError(`${project.unsupportedFramework} is not supported by automatic setup.`, "unsupported-framework");
|
|
if (framework === "unknown") throw new ReactGrabInstallError("Could not detect a supported framework. Pass `framework` explicitly to override detection.", "unknown-framework");
|
|
const nextRouterType = options.nextRouterType ?? (framework === "next" && project.nextRouterType === "unknown" ? require_install.detectNextRouterType(project.projectRoot) : project.nextRouterType);
|
|
const alreadyConfigured = project.isReactGrabConfigured;
|
|
const transform = require_install.previewTransform(project.projectRoot, framework, nextRouterType, alreadyConfigured);
|
|
if (!transform.success && !options.skipTransform) throw new ReactGrabInstallError(transform.message, "transform-failed");
|
|
const didInstallPackage = !options.skipPackageInstall && !options.dryRun && !project.hasReactGrab;
|
|
if (didInstallPackage) try {
|
|
await require_install.installPackages(require_install.getPackagesToInstall(), {
|
|
...options.installPackageOptions,
|
|
cwd: project.projectRoot,
|
|
packageManager
|
|
});
|
|
} catch (error) {
|
|
throw new ReactGrabInstallError(error instanceof Error ? error.message : "Failed to install the react-grab package.", "install-failed", { cause: error });
|
|
}
|
|
const didChangeFile = !transform.noChanges && Boolean(transform.newContent) && !options.skipTransform && !options.dryRun;
|
|
if (didChangeFile) {
|
|
const writeResult = require_install.applyTransform(transform);
|
|
if (!writeResult.success) throw new ReactGrabInstallError(writeResult.error ?? `Failed to write to ${transform.filePath}`, "write-failed");
|
|
}
|
|
return {
|
|
projectRoot: project.projectRoot,
|
|
framework,
|
|
nextRouterType,
|
|
packageManager,
|
|
alreadyConfigured,
|
|
didInstallPackage,
|
|
didChangeFile,
|
|
dryRun: Boolean(options.dryRun),
|
|
transform
|
|
};
|
|
};
|
|
//#endregion
|
|
exports.ReactGrabInstallError = ReactGrabInstallError;
|
|
exports.applyTransform = require_install.applyTransform;
|
|
exports.detectFramework = require_install.detectFramework;
|
|
exports.detectNextRouterType = require_install.detectNextRouterType;
|
|
exports.detectPackageManager = require_install.detectPackageManager;
|
|
exports.detectProject = require_install.detectProject;
|
|
exports.detectReactGrab = require_install.detectReactGrab;
|
|
exports.detectReactGrabConfigured = require_install.detectReactGrabConfigured;
|
|
exports.detectUnsupportedFramework = require_install.detectUnsupportedFramework;
|
|
exports.findReactProjects = require_install.findReactProjects;
|
|
exports.getPackagesToInstall = require_install.getPackagesToInstall;
|
|
exports.hasFrameworkEntryPoint = require_install.hasFrameworkEntryPoint;
|
|
exports.installPackages = require_install.installPackages;
|
|
exports.installReactGrab = installReactGrab;
|
|
exports.installSkill = require_install.installSkill;
|
|
exports.previewCdnTransform = require_install.previewCdnTransform;
|
|
exports.previewOptionsTransform = require_install.previewOptionsTransform;
|
|
exports.previewTransform = require_install.previewTransform;
|
|
exports.removeSkill = require_install.removeSkill;
|