@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
51 lines • 2.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNodeDockerJobDefinition = exports.createNodeBuildJobDefinition = exports.createNodeBuildJobs = void 0;
const context_1 = require("../../types/context");
const base_1 = require("../base");
const createBuildJobDefinition_1 = require("../base/createBuildJobDefinition");
const docker_1 = require("../docker");
const cache_1 = require("./cache");
const yarn_1 = require("./yarn");
const createNodeBuildJobs = (context) => {
if (context.type === "workspace") {
return (0, base_1.createWorkspaceBuildJobs)(context, {
appBuild: (0, exports.createNodeBuildJobDefinition)(context),
});
}
return (0, base_1.createComponentBuildJobs)(context, {
appBuild: (0, context_1.componentContextIsStandaloneBuild)(context)
? (0, exports.createNodeBuildJobDefinition)(context)
: undefined,
dockerBuild: (0, exports.createNodeDockerJobDefinition)(context),
});
};
exports.createNodeBuildJobs = createNodeBuildJobs;
const createNodeBuildJobDefinition = (context) => {
const buildConfig = context.build.config;
const yarnInstall = (0, yarn_1.getYarnInstall)(context);
return (0, createBuildJobDefinition_1.createBuildJobDefinition)(context, buildConfig, {
prescript: yarnInstall,
cache: (0, cache_1.getNodeCache)(context),
});
};
exports.createNodeBuildJobDefinition = createNodeBuildJobDefinition;
const createNodeDockerJobDefinition = (context) => {
var _a, _b;
// get the default docker built-in type based on the build type
const dockerDefaultBuiltIn = context.build.buildType === "node-static" ||
context.build.buildType === "storybook"
? "nginx"
: "node";
return {
script: (0, docker_1.getDockerBuildScriptWithBuiltInDockerFile)(context, dockerDefaultBuiltIn),
cache: [...(0, cache_1.getYarnCache)(context, "pull")],
variables: {
// only required for non static
DOCKER_COPY_AND_INSTALL_APP: (0, yarn_1.getDockerAppCopyAndBuildScript)(context),
DOCKER_COPY_WORKSPACE_FILES: (_b = (_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.pathsToCopyInDocker.map((dir) => `COPY --chown=node:node ${dir} /app/${dir}`)) === null || _b === void 0 ? void 0 : _b.join("\n"),
},
};
};
exports.createNodeDockerJobDefinition = createNodeDockerJobDefinition;
//# sourceMappingURL=buildJob.js.map