diff --git a/.npmignore b/.npmignore index 3df4e806..5b875530 100644 --- a/.npmignore +++ b/.npmignore @@ -12,9 +12,10 @@ docs/ .gitignore .gitmodules -# Development tools (keep installer scripts) +# Development tools (keep installer scripts and docker entrypoints) *.sh !installers/*.sh +!docker/*.sh # Logs and temp *.log diff --git a/package.json b/package.json index f8b205a8..2e5dee24 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "lib/", "scripts/", "config/", + "docker/", ".claude/", "VERSION", "README.md", diff --git a/tests/unit/docker/docker-assets-bundled.test.ts b/tests/unit/docker/docker-assets-bundled.test.ts new file mode 100644 index 00000000..ec681518 --- /dev/null +++ b/tests/unit/docker/docker-assets-bundled.test.ts @@ -0,0 +1,21 @@ +import { existsSync } from 'fs'; +import { describe, expect, it } from 'bun:test'; +import { getDockerAssetPaths } from '../../../src/docker/docker-assets'; + +describe('docker bundled assets', () => { + const assets = getDockerAssetPaths(); + + it('resolves all required asset paths', () => { + expect(assets.composeFile).toContain('docker-compose.integrated.yml'); + expect(assets.dockerfile).toContain('Dockerfile.integrated'); + expect(assets.supervisordConfig).toContain('supervisord.conf'); + expect(assets.entrypoint).toContain('entrypoint-integrated.sh'); + }); + + it('all bundled assets exist on disk', () => { + expect(existsSync(assets.composeFile)).toBe(true); + expect(existsSync(assets.dockerfile)).toBe(true); + expect(existsSync(assets.supervisordConfig)).toBe(true); + expect(existsSync(assets.entrypoint)).toBe(true); + }); +});