UNPKG

@cardstack/cli

Version:

Command line tools for Cardstack.

65 lines 2.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const recast_1 = __importDefault(require("recast")); const embroiderSnippet = ` (function(){ const Webpack = require('@embroider/webpack').Webpack; return require("@embroider/compat").compatBuild(app, Webpack, { staticAddonTestSupportTrees: true, staticAddonTrees: true, staticHelpers: true, staticComponents: true, packageRules: [ { package: "@cardstack/routing", addonModules: { "routes/cardstack/common.js": { dependsOnComponents: ["<HeadLayout/>"], }, }, }, { package: "ember-elsewhere", components: { "<ToElsewhere/>": { acceptsComponentArguments: ["send"], }, "<FromElsewhere/>": { yieldsSafeComponents: [true], }, }, }, { package: "liquid-fire", components: { "{{liquid-bind}}": { yieldsArguments: ["value"], }, }, }, ], }); })() `; const embroiderAST = recast_1.default.parse(embroiderSnippet).program.body[0]; function rewriteEmberCLIBuild(source) { let ast = recast_1.default.parse(source); recast_1.default.visit(ast, { visitCallExpression(path) { if (path.node.callee.type === "MemberExpression" && path.node.callee.object.type === "Identifier" && path.node.callee.object.name === "app" && path.node.callee.property.type === "Identifier" && path.node.callee.property.name === 'toTree') { path.replace(embroiderAST); } return false; }, }); return recast_1.default.print(ast).code; } exports.rewriteEmberCLIBuild = rewriteEmberCLIBuild; //# sourceMappingURL=rewriters.js.map