UNPKG

@embroider/macros

Version:

Standardized build-time macros for ember apps.

32 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = appEmberSatisfies; const semver_1 = require("semver"); const packageName = 'ember-source'; function appEmberSatisfies(node, packageCache) { if (node.params.length !== 1) { throw new Error(`macroAppEmberSatisfies requires only one argument, you passed ${node.params.length}`); } if (!node.params.every((p) => p.type === 'StringLiteral')) { throw new Error(`all arguments to macroAppEmberSatisfies must be string literals`); } let root = packageCache.get(packageCache.appRoot); let range = node.params[0].value; if (!(root === null || root === void 0 ? void 0 : root.hasDependency(packageName))) { return false; } let pkg; try { pkg = packageCache.resolve(packageName, root); } catch (err) { // it's not an error if we can't resolve it, we just don't satisfy it. } if (pkg) { return (0, semver_1.satisfies)(pkg.version, range, { includePrerelease: true, }); } return false; } //# sourceMappingURL=app-ember-satisfies.js.map