@mittwald/container-deploy
Advanced tools
@@ -27,7 +27,2 @@ | ||
| - name: Set version in package json | ||
| run: | ||
| npm version ${GITHUB_REF#refs/tags/} --no-git-tag-version | ||
| --no-workspaces-update | ||
| - name: Build | ||
@@ -38,2 +33,2 @@ run: npm run build | ||
| run: | | ||
| npm publish --access=public --tag=latest | ||
| npm publish --access=public --tag=latest |
| import { MittwaldAPIV2Client } from "@mittwald/api-client"; | ||
| import { Duration } from "../utils/helpers.js"; | ||
| import { DeployRes, RepositoryData } from "../types/index.js"; | ||
| export declare function deployService(apiClient: MittwaldAPIV2Client, projectId: string, repositoryData: RepositoryData, timeout: Duration): Promise<DeployRes>; | ||
| export declare function deployService(apiClient: MittwaldAPIV2Client, projectId: string, repositoryData: RepositoryData, timeout: Duration, environment?: Record<string, string>): Promise<DeployRes>; | ||
| /** | ||
@@ -6,0 +6,0 @@ * Generic service deployment function. |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/entities/service.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,mBAAmB,EAEtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,QAAQ,EAEX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,SAAS,EACT,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAG3B,wBAAsB,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ,sBAwFpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB,EACD,OAAO,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,CAAC,CA4EjB"} | ||
| {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/entities/service.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,mBAAmB,EAEtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,QAAQ,EAEX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,SAAS,EACT,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAG3B,wBAAsB,aAAa,CAAC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ,EACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,sBAyFvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB,EACD,OAAO,EAAE,QAAQ,GAClB,OAAO,CAAC,MAAM,CAAC,CA4EjB"} |
@@ -7,3 +7,3 @@ /* | ||
| import { waitUntil, } from "../utils/helpers.js"; | ||
| export async function deployService(apiClient, projectId, repositoryData, timeout) { | ||
| export async function deployService(apiClient, projectId, repositoryData, timeout, environment) { | ||
| let existing = false; | ||
@@ -27,2 +27,3 @@ const serviceName = `app-${projectId}`; | ||
| PORT: "80", // XXX: nothing clever, just match fallback so target is correctly set in the ingress. | ||
| ...environment, | ||
| }, | ||
@@ -29,0 +30,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/entities/service.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/entities/service.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"deploy_project.d.ts","sourceRoot":"","sources":["../../src/orchestration/deploy_project.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACf,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA0B9E"} | ||
| {"version":3,"file":"deploy_project.d.ts","sourceRoot":"","sources":["../../src/orchestration/deploy_project.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACf,MAAM,mBAAmB,CAAC;AAE3B,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA2B9E"} |
@@ -14,5 +14,5 @@ import { setupProjectRegistry, } from "./registry_setup.js"; | ||
| await localDockerPush(repositoryData, registryData); | ||
| const deployRes = await deployService(opts.apiClient, opts.projectId, repositoryData, opts.waitTimeout); | ||
| const deployRes = await deployService(opts.apiClient, opts.projectId, repositoryData, opts.waitTimeout, opts.environment); | ||
| return { deployedServiceId: deployRes.deployedServiceId, serviceName: deployRes.serviceName }; | ||
| } | ||
| //# sourceMappingURL=deploy_project.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"deploy_project.js","sourceRoot":"","sources":["../../src/orchestration/deploy_project.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,eAAe,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IAErD,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAEvF,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,aAAa,EAAE,CAAC;IAEtB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,cAAc,EACd,IAAI,CAAC,WAAW,CACjB,CAAC;IAEF,IAAI,cAAc,GAAG,MAAM,eAAe,EAAE,CAAC;IAC7C,cAAc,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACtE,MAAM,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,cAAc,EACd,IAAI,CAAC,WAAW,CACjB,CAAC;IAEF,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;AAChG,CAAC"} | ||
| {"version":3,"file":"deploy_project.js","sourceRoot":"","sources":["../../src/orchestration/deploy_project.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,eAAe,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IAErD,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAEvF,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,aAAa,EAAE,CAAC;IAEtB,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,cAAc,EACd,IAAI,CAAC,WAAW,CACjB,CAAC;IAEF,IAAI,cAAc,GAAG,MAAM,eAAe,EAAE,CAAC;IAC7C,cAAc,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACtE,MAAM,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,cAAc,EACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACjB,CAAC;IAEF,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;AAChG,CAAC"} |
@@ -34,2 +34,3 @@ import { Duration } from "../utils/helpers.js"; | ||
| waitTimeout: Duration; | ||
| environment?: Record<string, string>; | ||
| }; | ||
@@ -36,0 +37,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG;IAChF,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACtB,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG;IAChF,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACtB,CAAC"} |
+2
-2
| { | ||
| "name": "@mittwald/container-deploy", | ||
| "version": "0.1.0", | ||
| "version": "1.0.0", | ||
| "description": "Reusable orchestration and API adapters for building and deploying containerized projects.", | ||
@@ -15,3 +15,3 @@ "main": "dist/index.js", | ||
| "type": "git", | ||
| "url": "https://github.com/your-org/container-deploy.git" | ||
| "url": "https://github.com/mittwald/container-deploy.git" | ||
| }, | ||
@@ -18,0 +18,0 @@ "keywords": [ |
+10
-0
@@ -512,2 +512,12 @@ # Container Deploy | ||
| ### Development Branches | ||
| This package can be tested directly from git branches before publishing to npm: | ||
| ```json | ||
| "@mittwald/container-deploy": "github:mittwald/container-deploy#branch-name" | ||
| ``` | ||
| For this to work, the dist folder must be committed after building. When released to npm, users receive the published version and don't need to worry about this. | ||
| ## Type Definitions | ||
@@ -514,0 +524,0 @@ |
@@ -25,3 +25,4 @@ /* | ||
| repositoryData: RepositoryData, | ||
| timeout: Duration) { | ||
| timeout: Duration, | ||
| environment?: Record<string, string>) { | ||
@@ -52,2 +53,3 @@ let existing: boolean = false; | ||
| PORT: "80", // XXX: nothing clever, just match fallback so target is correctly set in the ingress. | ||
| ...environment, | ||
| }, | ||
@@ -54,0 +56,0 @@ }; |
@@ -43,2 +43,3 @@ import { | ||
| opts.waitTimeout, | ||
| opts.environment, | ||
| ); | ||
@@ -45,0 +46,0 @@ |
@@ -41,2 +41,3 @@ import { | ||
| waitTimeout: Duration; | ||
| environment?: Record<string, string>; | ||
| }; | ||
@@ -43,0 +44,0 @@ |
+50
-1
@@ -106,3 +106,4 @@ import { deployProject } from "../src/orchestration/deploy_project"; | ||
| }), | ||
| testTimeout | ||
| testTimeout, | ||
| undefined | ||
| ); | ||
@@ -146,2 +147,50 @@ }); | ||
| }); | ||
| it("should pass custom environment variables to deployService", async () => { | ||
| const testProjectId = "test-project-uuid"; | ||
| const customEnv = { | ||
| NODE_ENV: "production", | ||
| LOG_LEVEL: "debug", | ||
| }; | ||
| const options: DeployOptions = { | ||
| projectId: testProjectId, | ||
| apiClient: {} as any, | ||
| waitTimeout: Duration.fromSeconds(30), | ||
| environment: customEnv, | ||
| }; | ||
| await deployProject(options); | ||
| const serviceModule = require("../src/entities/service"); | ||
| expect(serviceModule.deployService).toHaveBeenCalledWith( | ||
| options.apiClient, | ||
| testProjectId, | ||
| expect.any(Object), | ||
| options.waitTimeout, | ||
| customEnv | ||
| ); | ||
| }); | ||
| it("should allow deployService to be called without environment variables", async () => { | ||
| const testProjectId = "test-project-uuid"; | ||
| const options: DeployOptions = { | ||
| projectId: testProjectId, | ||
| apiClient: {} as any, | ||
| waitTimeout: Duration.fromSeconds(30), | ||
| // environment intentionally omitted | ||
| }; | ||
| await deployProject(options); | ||
| const serviceModule = require("../src/entities/service"); | ||
| expect(serviceModule.deployService).toHaveBeenCalledWith( | ||
| options.apiClient, | ||
| testProjectId, | ||
| expect.any(Object), | ||
| options.waitTimeout, | ||
| undefined | ||
| ); | ||
| }); | ||
| }); |
| { | ||
| "$schema": "https://schema.railpack.com", | ||
| "caches": { | ||
| "apt": { | ||
| "directory": "/var/cache/apt", | ||
| "type": "locked" | ||
| }, | ||
| "apt-lists": { | ||
| "directory": "/var/lib/apt/lists", | ||
| "type": "locked" | ||
| }, | ||
| "node-modules": { | ||
| "directory": "/app/node_modules/.cache", | ||
| "type": "shared" | ||
| }, | ||
| "npm-install": { | ||
| "directory": "/root/.npm", | ||
| "type": "shared" | ||
| }, | ||
| "vite": { | ||
| "directory": "/app/node_modules/.vite", | ||
| "type": "shared" | ||
| } | ||
| }, | ||
| "deploy": { | ||
| "base": { | ||
| "step": "packages:apt:runtime" | ||
| }, | ||
| "inputs": [ | ||
| { | ||
| "include": [ | ||
| "/mise/shims", | ||
| "/mise/installs", | ||
| "/usr/local/bin/mise", | ||
| "/etc/mise/config.toml", | ||
| "/root/.local/state/mise" | ||
| ], | ||
| "step": "packages:mise" | ||
| }, | ||
| { | ||
| "include": [ | ||
| "/app/node_modules" | ||
| ], | ||
| "step": "build" | ||
| }, | ||
| { | ||
| "exclude": [ | ||
| "node_modules", | ||
| ".yarn" | ||
| ], | ||
| "include": [ | ||
| "/root/.cache", | ||
| "." | ||
| ], | ||
| "step": "build" | ||
| } | ||
| ], | ||
| "startCommand": "npm run start", | ||
| "variables": { | ||
| "CI": "true", | ||
| "NODE_ENV": "production", | ||
| "NPM_CONFIG_FUND": "false", | ||
| "NPM_CONFIG_PRODUCTION": "false", | ||
| "NPM_CONFIG_UPDATE_NOTIFIER": "false" | ||
| } | ||
| }, | ||
| "steps": [ | ||
| { | ||
| "assets": { | ||
| "mise.toml": "[tools]\n [tools.node]\n version = \"22.22.2\"\n" | ||
| }, | ||
| "commands": [ | ||
| { | ||
| "path": "/mise/shims" | ||
| }, | ||
| { | ||
| "customName": "create mise config", | ||
| "name": "mise.toml", | ||
| "path": "/etc/mise/config.toml" | ||
| }, | ||
| { | ||
| "cmd": "mise install", | ||
| "customName": "install mise packages: node" | ||
| } | ||
| ], | ||
| "inputs": [ | ||
| { | ||
| "image": "ghcr.io/railwayapp/railpack-builder:mise-2026.3.9" | ||
| } | ||
| ], | ||
| "name": "packages:mise", | ||
| "variables": { | ||
| "MISE_CACHE_DIR": "/mise/cache", | ||
| "MISE_CONFIG_DIR": "/mise", | ||
| "MISE_DATA_DIR": "/mise", | ||
| "MISE_IDIOMATIC_VERSION_FILE_ENABLE_TOOLS": "python,node,ruby,elixir,go,java,yarn", | ||
| "MISE_INSTALLS_DIR": "/mise/installs", | ||
| "MISE_NODE_VERIFY": "false", | ||
| "MISE_PARANOID": "1", | ||
| "MISE_SHIMS_DIR": "/mise/shims", | ||
| "MISE_TRUSTED_CONFIG_PATHS": "/app" | ||
| } | ||
| }, | ||
| { | ||
| "caches": [ | ||
| "npm-install" | ||
| ], | ||
| "commands": [ | ||
| { | ||
| "path": "/app/node_modules/.bin" | ||
| }, | ||
| { | ||
| "cmd": "mkdir -p /app/node_modules/.cache" | ||
| }, | ||
| { | ||
| "dest": "package-lock.json", | ||
| "src": "package-lock.json" | ||
| }, | ||
| { | ||
| "dest": "package.json", | ||
| "src": "package.json" | ||
| }, | ||
| { | ||
| "cmd": "npm ci" | ||
| } | ||
| ], | ||
| "inputs": [ | ||
| { | ||
| "step": "packages:mise" | ||
| } | ||
| ], | ||
| "name": "install", | ||
| "variables": { | ||
| "CI": "true", | ||
| "NODE_ENV": "production", | ||
| "NPM_CONFIG_FUND": "false", | ||
| "NPM_CONFIG_PRODUCTION": "false", | ||
| "NPM_CONFIG_UPDATE_NOTIFIER": "false" | ||
| } | ||
| }, | ||
| { | ||
| "caches": [ | ||
| "node-modules", | ||
| "vite" | ||
| ], | ||
| "commands": [ | ||
| { | ||
| "cmd": "npm run build" | ||
| } | ||
| ], | ||
| "inputs": [ | ||
| { | ||
| "step": "install" | ||
| }, | ||
| { | ||
| "exclude": [ | ||
| "node_modules", | ||
| "npm-debug.log", | ||
| ".git", | ||
| ".gitignore", | ||
| ".env", | ||
| ".env.*", | ||
| ".DS_Store", | ||
| "*.md", | ||
| "dist", | ||
| ".replit", | ||
| "replit.nix" | ||
| ], | ||
| "include": [ | ||
| "." | ||
| ], | ||
| "local": true | ||
| } | ||
| ], | ||
| "name": "build", | ||
| "secrets": [ | ||
| "*" | ||
| ] | ||
| }, | ||
| { | ||
| "caches": [ | ||
| "apt", | ||
| "apt-lists" | ||
| ], | ||
| "commands": [ | ||
| { | ||
| "cmd": "sh -c 'apt-get update \u0026\u0026 apt-get install -y libatomic1'", | ||
| "customName": "install apt packages: libatomic1" | ||
| } | ||
| ], | ||
| "inputs": [ | ||
| { | ||
| "image": "ghcr.io/railwayapp/railpack-runtime:mise-2026.3.9" | ||
| } | ||
| ], | ||
| "name": "packages:apt:runtime" | ||
| } | ||
| ] | ||
| } |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1
-50%599
1.7%166017
-1.37%61
-1.61%2879
-4.98%