UNPKG

@shipengine/connect

Version:

The official developer tooling for building ShipEngine connect apps

49 lines 2.27 kB
"use strict"; 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