mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 03:14:00 +00:00
refactor: supply application catalogs explicitly
This commit is contained in:
1 parent
fad93f22f8
commit
c3de679c61
16 files changed
+288
-50
No files matched your search
+11
-3
@@ -10,7 +10,7 @@ import { promisify } from 'node:util';
|
||||
const run = promisify(execFile);
|
||||
const bashTest = process.platform === 'win32' ? test.skip : test;
|
||||
|
||||
async function launch(overrides = {}, dotenv = '') {
|
||||
async function launch(overrides = {}, dotenv = '', omitCctv = false) {
|
||||
const root = await fs.mkdtemp(path.join(os.tmpdir(), 'gev-cctv-launch-'));
|
||||
try {
|
||||
await fs.mkdir(path.join(root, 'scripts'));
|
||||
@@ -20,8 +20,9 @@ async function launch(overrides = {}, dotenv = '') {
|
||||
for (const name of ['dev-cctv.sh', 'dev-fresh.sh', 'read-dotenv-value.mjs']) {
|
||||
await fs.copyFile(new URL(`../scripts/${name}`, import.meta.url), path.join(root, 'scripts', name));
|
||||
}
|
||||
await fs.mkdir(path.join(root, 'src', 'app'), { recursive: true });
|
||||
await fs.copyFile(new URL('./app/data.js', import.meta.url), path.join(root, 'src', 'app', 'data.js'));
|
||||
await fs.mkdir(path.join(root, 'src', 'standalone'), { recursive: true });
|
||||
const catalog = await fs.readFile(new URL('./standalone/catalog.js', import.meta.url), 'utf8');
|
||||
await fs.writeFile(path.join(root, 'src', 'standalone', 'catalog.js'), omitCctv ? catalog.replace(/^\s*cctvLayer,\s*$/m, '') : catalog);
|
||||
await fs.mkdir(path.join(root, 'node_modules'));
|
||||
await fs.symlink(fileURLToPath(new URL('.', import.meta.resolve('vite/package.json'))), path.join(root, 'node_modules', 'vite'), 'dir');
|
||||
await fs.writeFile(path.join(root, '.env'), dotenv);
|
||||
@@ -79,3 +80,10 @@ bashTest('CCTV preset shares dotenv precedence and names-only credential provena
|
||||
assert.equal(result.env.GEV_KEY_SETUP_EXTERNAL_KEYS, 'GOOGLE_MAPS_API_KEY');
|
||||
assert.doesNotMatch(result.output, /fixture-shell-maps|fixture-file-maps|fixture-file-voice/);
|
||||
});
|
||||
|
||||
bashTest('CCTV preset refuses a catalog that no longer registers its layer', async () => {
|
||||
await assert.rejects(launch({}, '', true), (error) => {
|
||||
assert.match(error.stdout, /CCTV layer not wired in src\/standalone\/catalog.js/);
|
||||
return true;
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user