@shipengine/connect
Version:
The official developer tooling for building ShipEngine connect apps
49 lines • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadApp = exports.loadV2App = void 0;
const read_app_manifest_1 = require("./read-app-manifest");
const app_types_1 = require("./app-types");
const load_module_1 = require("../utils/load-module");
const usesV1 = (manifest) => {
const dependencies = [
...Object.keys(manifest.devDependencies || {}),
...Object.keys(manifest.dependencies || {}),
];
return !dependencies.includes('@shipengine/connect-runtime');
};
const usesLocal = (manifest) => {
const dependencies = [
...Object.keys(manifest.devDependencies || {}),
...Object.keys(manifest.dependencies || {}),
];
return dependencies.includes('@shipengine/connect-local');
};
const usesRenderingClient = (manifest) => {
const dependencies = [...Object.keys(manifest.dependencies || {})];
return dependencies.includes('@shipengine/connect-rendering-client');
};
const loadV2App = (appPath, manifest) => {
const app = (0, load_module_1.loadModule)(appPath);
const buildAppDeployment = (0, app_types_1.getAppDeploymentBuilder)(manifest, appPath);
return buildAppDeployment(app);
};
exports.loadV2App = loadV2App;
const loadApp = async (appPath) => {
const manifest = (0, read_app_manifest_1.readAppManifest)(appPath);
if (usesV1(manifest)) {
throw new Error(`v1 connect apps are deprecated, please use "npx @shipengine/connect@^1.19.4" to support old version.
Use "npm i @shipengine/connect-runtime@^4.0.0" to upgrade v4.
See https://connect.shipengine.com/getting-started/v2-v4-upgrade/ for more information on upgrading`);
}
if (usesLocal(manifest)) {
throw new Error(`@shipengine/connect-local is deprecated, please use "npm i -D @shipengine/connect" instead.
See https://connect.shipengine.com/getting-started/v2-v4-upgrade/ for more information on upgrading`);
}
if (usesRenderingClient(manifest)) {
throw new Error(`@shipengine/connect-rendering-client is deprecated.
See https://connect.shipengine.com/native-rendering/ for more information on render documents capability.`);
}
return (0, exports.loadV2App)(appPath, manifest);
};
exports.loadApp = loadApp;
//# sourceMappingURL=load-app.js.map