npm run dev:metamigo now builds+watches all metamigo things!!

This commit is contained in:
Abel Luck 2023-06-07 08:14:29 +00:00
parent bdad5f551c
commit 754131fbe1
25 changed files with 195 additions and 103 deletions

View file

@ -77,3 +77,7 @@ stop:
destroy: destroy:
docker-compose down docker-compose down
docker volume prune docker volume prune
dev-metamigo:
CURRENT_UID=$(CURRENT_UID) docker compose up -d metamigo-postgresql signald

View file

@ -19,8 +19,8 @@ Or for local dev of a single app
* Build locally for development: * Build locally for development:
``` ```
npm install npm install
turbo --concurrency 30 build npm run migrate
turbo --concurrency 30 dev npm run dev:metamigo
``` ```
# Notes # Notes
@ -39,10 +39,7 @@ npm install --workspace=metamigo-common
### Run a task in a specific project ### Run a task in a specific project
``` ```
turbo run build --filter metamigo-cli
npm run dev -- --filter @digiresilience/metamigo-cli
npm run migrate npm run migrate
npm run dev:metamigo
``` ```

View file

@ -2,7 +2,7 @@
"name": "@digiresilience/metamigo-api", "name": "@digiresilience/metamigo-api",
"version": "0.2.0", "version": "0.2.0",
"type": "module", "type": "module",
"main": "build/main/index.js", "main": "build/main/main.js",
"author": "Abel Luck <abel@guardianproject.info>", "author": "Abel Luck <abel@guardianproject.info>",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"dependencies": { "dependencies": {
@ -55,6 +55,7 @@
"pg-monitor": "^2.0.0", "pg-monitor": "^2.0.0",
"pino-pretty": "^10.0.0", "pino-pretty": "^10.0.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tsc-watch": "^6.0.4",
"tsconfig-link": "*", "tsconfig-link": "*",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
@ -77,6 +78,7 @@
"serve:prod": "NODE_ENV=production npm run cli server", "serve:prod": "NODE_ENV=production npm run cli server",
"worker": "NODE_ENV=development npm run cli worker", "worker": "NODE_ENV=development npm run cli worker",
"worker:prod": "NODE_ENV=production npm run cli worker", "worker:prod": "NODE_ENV=production npm run cli worker",
"watch:build": "tsc -p tsconfig.json -w" "watch:build": "tsc -p tsconfig.json -w",
"dev": "tsc-watch --build --noClear --onSuccess \"node ./build/main/main.js\""
} }
} }

View file

@ -1,2 +1,3 @@
export * from "./server/index.js" export * from "./server/index.js"
export * from "./logger.js" export * from "./logger.js"

View file

@ -0,0 +1,8 @@
import { startWithout } from "@digiresilience/montar";
import "./index.js";
async function runServer(): Promise<void> {
await startWithout(["worker"]);
}
runServer();

View file

@ -5,8 +5,18 @@
"rootDir": "src", "rootDir": "src",
"skipLibCheck": true, "skipLibCheck": true,
"types": ["jest", "node", "long"], "types": ["jest", "node", "long"],
"lib": ["es2020", "DOM"] "lib": ["es2020", "DOM"],
"composite": true,
}, },
"include": ["src/**/*.ts", "src/**/.*.ts"], "include": ["src/**/*.ts", "src/**/.*.ts"],
"exclude": ["node_modules/**"] "exclude": ["node_modules/**"],
"references": [
{"path": "../../packages/metamigo-common" },
{"path": "../../packages/metamigo-config" },
{"path": "../../packages/metamigo-db" },
{"path": "../../packages/hapi-nextauth" },
{"path": "../../packages/hapi-pg-promise" },
{"path": "../../packages/node-signald" },
{"path": "../../packages/montar" }
]
} }

View file

@ -35,8 +35,6 @@
"scripts": { "scripts": {
"migrate": "NODE_ENV=development node --unhandled-rejections=strict build/main/index.js db -- migrate", "migrate": "NODE_ENV=development node --unhandled-rejections=strict build/main/index.js db -- migrate",
"build": "tsc -p tsconfig.json", "build": "tsc -p tsconfig.json",
"dev": "NODE_ENV=development node --unhandled-rejections=strict build/main/index.js api",
"cli": "NODE_ENV=development node --unhandled-rejections=strict build/main/index.js",
"fix:lint": "eslint src --ext .ts --fix", "fix:lint": "eslint src --ext .ts --fix",
"fmt": "prettier \"src/**/*.ts\" --write", "fmt": "prettier \"src/**/*.ts\" --write",
"lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different", "lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different",

View file

@ -45,14 +45,12 @@
"doc": "yarn run doc:html", "doc": "yarn run doc:html",
"fix:lint": "eslint src --ext .ts --fix", "fix:lint": "eslint src --ext .ts --fix",
"fix:prettier": "prettier \"src/**/*.ts\" --write", "fix:prettier": "prettier \"src/**/*.ts\" --write",
"worker": "NODE_ENV=development yarn cli worker",
"test:jest": "JEST_CIRCUS=1 jest --coverage --forceExit --detectOpenHandles --reporters=default --reporters=jest-junit", "test:jest": "JEST_CIRCUS=1 jest --coverage --forceExit --detectOpenHandles --reporters=default --reporters=jest-junit",
"test:jest-verbose": "yarn test:jest --verbose --silent=false", "test:jest-verbose": "yarn test:jest --verbose --silent=false",
"test": "yarn test:jest", "test": "yarn test:jest",
"lint": "yarn lint:lint && yarn lint:prettier", "lint": "yarn lint:lint && yarn lint:prettier",
"lint:lint": "eslint src --ext .ts", "lint:lint": "eslint src --ext .ts",
"lint:prettier": "prettier \"src/**/*.ts\" --list-different", "lint:prettier": "prettier \"src/**/*.ts\" --list-different",
"watch:build": "tsc -p tsconfig.json -w",
"watch:test": "yarn test:jest --watchAll" "watch:test": "yarn test:jest --watchAll"
} }
} }

191
package-lock.json generated
View file

@ -165,6 +165,7 @@
"pg-monitor": "^2.0.0", "pg-monitor": "^2.0.0",
"pino-pretty": "^10.0.0", "pino-pretty": "^10.0.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tsc-watch": "^6.0.4",
"tsconfig-link": "*", "tsconfig-link": "*",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
@ -9292,6 +9293,12 @@
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
"dev": true
},
"node_modules/duplexer2": { "node_modules/duplexer2": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
@ -10455,6 +10462,21 @@
"es5-ext": "~0.10.14" "es5-ext": "~0.10.14"
} }
}, },
"node_modules/event-stream": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==",
"dev": true,
"dependencies": {
"duplexer": "~0.1.1",
"from": "~0",
"map-stream": "~0.1.0",
"pause-stream": "0.0.11",
"split": "0.3",
"stream-combiner": "~0.0.4",
"through": "~2.3.1"
}
},
"node_modules/event-target-shim": { "node_modules/event-target-shim": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
@ -10904,6 +10926,12 @@
"node": ">=12.20.0" "node": ">=12.20.0"
} }
}, },
"node_modules/from": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==",
"dev": true
},
"node_modules/fs-constants": { "node_modules/fs-constants": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
@ -11727,18 +11755,6 @@
"integrity": "sha512-vo76VJ44MkUBZL/BzpGXaKzMfroF4ZR6+haRuw9p+eSWfoNaH2AxVc8xmiEPC08jhzJSeM6w7/iMUGet8b4oBQ==", "integrity": "sha512-vo76VJ44MkUBZL/BzpGXaKzMfroF4ZR6+haRuw9p+eSWfoNaH2AxVc8xmiEPC08jhzJSeM6w7/iMUGet8b4oBQ==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/b64": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/b64/-/b64-4.1.2.tgz",
"integrity": "sha512-+GUspBxlH3CJaxMUGUE1EBoWM6RKgWiYwUDal0qdf8m3ArnXNN1KzKVo5HOnE/FSq4HHyWf3TlHLsZI8PKQgrQ==",
"extraneous": true
},
"node_modules/hapi/node_modules/big-time": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/big-time/-/big-time-2.0.1.tgz",
"integrity": "sha512-qtwYYoocwpiAxTXC5sIpB6nH5j6ckt+n/jhD7J5OEiFHnUZEFn0Xk8STUaE5s10LdazN/87bTDMe+fSihaW7Kg==",
"extraneous": true
},
"node_modules/hapi/node_modules/boom": { "node_modules/hapi/node_modules/boom": {
"version": "7.2.2", "version": "7.2.2",
"resolved": "https://registry.npmjs.org/boom/-/boom-7.2.2.tgz", "resolved": "https://registry.npmjs.org/boom/-/boom-7.2.2.tgz",
@ -11751,12 +11767,6 @@
"integrity": "sha512-1LPcXg3fkGVhjdA/P3DcR5cDktKEYtDpruJv9Nhmy36RoYaoxZfC82Zr2JmS3vysDJKqMtP0qJw3/P6iisTASg==", "integrity": "sha512-1LPcXg3fkGVhjdA/P3DcR5cDktKEYtDpruJv9Nhmy36RoYaoxZfC82Zr2JmS3vysDJKqMtP0qJw3/P6iisTASg==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/bourne": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/bourne/-/bourne-1.1.1.tgz",
"integrity": "sha512-Ou0l3W8+n1FuTOoIfIrCk9oF9WVWc+9fKoAl67XQr9Ws0z7LgILRZ7qtc9xdT4BveSKtnYXfKPgn8pFAqeQRew==",
"extraneous": true
},
"node_modules/hapi/node_modules/call": { "node_modules/hapi/node_modules/call": {
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/call/-/call-5.0.3.tgz", "resolved": "https://registry.npmjs.org/call/-/call-5.0.3.tgz",
@ -11775,18 +11785,6 @@
"integrity": "sha512-1tDnll066au0HXBSDHS/YQ34MQ2omBsmnA9g/jseyq/M3m7UPrajVtPDZK/rXgikSC1dfjo9Pa+kQ1qcyG2d3g==", "integrity": "sha512-1tDnll066au0HXBSDHS/YQ34MQ2omBsmnA9g/jseyq/M3m7UPrajVtPDZK/rXgikSC1dfjo9Pa+kQ1qcyG2d3g==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/content": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/content/-/content-4.0.6.tgz",
"integrity": "sha512-lR9ND3dXiMdmsE84K6l02rMdgiBVmtYWu1Vr/gfSGHcIcznBj2QxmSdUgDuNFOA+G9yrb1IIWkZ7aKtB6hDGyA==",
"extraneous": true
},
"node_modules/hapi/node_modules/cryptiles": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-4.1.3.tgz",
"integrity": "sha512-gT9nyTMSUC1JnziQpPbxKGBbUg8VL7Zn2NB4E1cJYvuXdElHrwxrV9bmltZGDzet45zSDGyYceueke1TjynGzw==",
"extraneous": true
},
"node_modules/hapi/node_modules/heavy": { "node_modules/hapi/node_modules/heavy": {
"version": "6.1.2", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/heavy/-/heavy-6.1.2.tgz", "resolved": "https://registry.npmjs.org/heavy/-/heavy-6.1.2.tgz",
@ -11799,42 +11797,18 @@
"integrity": "sha512-3PvUwBerLNVJiIVQdpkWF9F/M0ekgb2NPJWOhsE28RXSQPsY42YSnaJ8d1kZjcAz58TZ/Fk9Tw64xJsENFlJNw==", "integrity": "sha512-3PvUwBerLNVJiIVQdpkWF9F/M0ekgb2NPJWOhsE28RXSQPsY42YSnaJ8d1kZjcAz58TZ/Fk9Tw64xJsENFlJNw==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/iron": {
"version": "5.0.6",
"resolved": "https://registry.npmjs.org/iron/-/iron-5.0.6.tgz",
"integrity": "sha512-zYUMOSkEXGBdwlV/AXF9zJC0aLuTJUKHkGeYS5I2g225M5i6SrxQyGJGhPgOR8BK1omL6N5i6TcwfsXbP8/Exw==",
"extraneous": true
},
"node_modules/hapi/node_modules/joi": { "node_modules/hapi/node_modules/joi": {
"version": "14.0.4", "version": "14.0.4",
"resolved": "https://registry.npmjs.org/joi/-/joi-14.0.4.tgz", "resolved": "https://registry.npmjs.org/joi/-/joi-14.0.4.tgz",
"integrity": "sha512-KUXRcinDUMMbtlOk7YLGHQvG73dLyf8bmgE+6sBTkdJbZpeGVGAlPXEHLiQBV7KinD/VLD5OA0EUgoTTfbRAJQ==", "integrity": "sha512-KUXRcinDUMMbtlOk7YLGHQvG73dLyf8bmgE+6sBTkdJbZpeGVGAlPXEHLiQBV7KinD/VLD5OA0EUgoTTfbRAJQ==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/mime-db": {
"version": "1.37.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
"extraneous": true
},
"node_modules/hapi/node_modules/mimos": { "node_modules/hapi/node_modules/mimos": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/mimos/-/mimos-4.0.2.tgz", "resolved": "https://registry.npmjs.org/mimos/-/mimos-4.0.2.tgz",
"integrity": "sha512-5XBsDqBqzSN88XPPH/TFpOalWOjHJM5Z2d3AMx/30iq+qXvYKd/8MPhqBwZDOLtoaIWInR3nLzMQcxfGK9djXA==", "integrity": "sha512-5XBsDqBqzSN88XPPH/TFpOalWOjHJM5Z2d3AMx/30iq+qXvYKd/8MPhqBwZDOLtoaIWInR3nLzMQcxfGK9djXA==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/nigel": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/nigel/-/nigel-3.0.4.tgz",
"integrity": "sha512-3SZCCS/duVDGxFpTROHEieC+itDo4UqL9JNUyQJv3rljudQbK6aqus5B4470OxhESPJLN93Qqxg16rH7DUjbfQ==",
"extraneous": true
},
"node_modules/hapi/node_modules/pez": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/pez/-/pez-4.0.5.tgz",
"integrity": "sha512-HvL8uiFIlkXbx/qw4B8jKDCWzo7Pnnd65Uvanf9OOCtb20MRcb9gtTVBf9NCnhETif1/nzbDHIjAWC/sUp7LIQ==",
"extraneous": true
},
"node_modules/hapi/node_modules/podium": { "node_modules/hapi/node_modules/podium": {
"version": "3.1.5", "version": "3.1.5",
"resolved": "https://registry.npmjs.org/podium/-/podium-3.1.5.tgz", "resolved": "https://registry.npmjs.org/podium/-/podium-3.1.5.tgz",
@ -11877,18 +11851,6 @@
"integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==", "integrity": "sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ==",
"peer": true "peer": true
}, },
"node_modules/hapi/node_modules/vise": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/vise/-/vise-3.0.1.tgz",
"integrity": "sha512-7BJNjsv2o83+E6AHAFSnjQF324UTgypsR/Sw/iFmLvr7RgJrEXF1xNBvb5LJfi+1FvWQXjJK4X41WMuHMeunPQ==",
"extraneous": true
},
"node_modules/hapi/node_modules/wreck": {
"version": "14.1.3",
"resolved": "https://registry.npmjs.org/wreck/-/wreck-14.1.3.tgz",
"integrity": "sha512-hb/BUtjX3ObbwO3slCOLCenQ4EP8e+n8j6FmTne3VhEFp5XV1faSJojiyxVSvw34vgdeTG5baLTl4NmjwokLlw==",
"extraneous": true
},
"node_modules/has": { "node_modules/has": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@ -15197,6 +15159,12 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/map-stream": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==",
"dev": true
},
"node_modules/markdown-it": { "node_modules/markdown-it": {
"version": "13.0.1", "version": "13.0.1",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
@ -16243,6 +16211,12 @@
"node": ">= 8.0.0" "node": ">= 8.0.0"
} }
}, },
"node_modules/node-cleanup": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz",
"integrity": "sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==",
"dev": true
},
"node_modules/node-domexception": { "node_modules/node-domexception": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
@ -16977,6 +16951,15 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==",
"dev": true,
"dependencies": {
"through": "~2.3"
}
},
"node_modules/peberminta": { "node_modules/peberminta": {
"version": "0.9.0", "version": "0.9.0",
"resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz",
@ -18130,6 +18113,21 @@
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
}, },
"node_modules/ps-tree": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz",
"integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==",
"dev": true,
"dependencies": {
"event-stream": "=3.3.4"
},
"bin": {
"ps-tree": "bin/ps-tree.js"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/pseudomap": { "node_modules/pseudomap": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@ -19781,6 +19779,18 @@
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/split": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==",
"dev": true,
"dependencies": {
"through": "2"
},
"engines": {
"node": "*"
}
},
"node_modules/split-on-first": { "node_modules/split-on-first": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
@ -19841,6 +19851,15 @@
"node": ">= 0.4" "node": ">= 0.4"
} }
}, },
"node_modules/stream-combiner": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==",
"dev": true,
"dependencies": {
"duplexer": "~0.1.1"
}
},
"node_modules/stream-shift": { "node_modules/stream-shift": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
@ -19867,6 +19886,15 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
}, },
"node_modules/string-argv": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
"integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
"dev": true,
"engines": {
"node": ">=0.6.19"
}
},
"node_modules/string-length": { "node_modules/string-length": {
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
@ -20670,6 +20698,27 @@
} }
} }
}, },
"node_modules/tsc-watch": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-6.0.4.tgz",
"integrity": "sha512-cHvbvhjO86w2aGlaHgSCeQRl+Aqw6X6XN4sQMPZKF88GoP30O+oTuh5lRIJr5pgFWrRpF1AgXnJJ2DoFEIPHyg==",
"dev": true,
"dependencies": {
"cross-spawn": "^7.0.3",
"node-cleanup": "^2.1.2",
"ps-tree": "^1.2.0",
"string-argv": "^0.3.1"
},
"bin": {
"tsc-watch": "dist/lib/tsc-watch.js"
},
"engines": {
"node": ">=12.12.0"
},
"peerDependencies": {
"typescript": "*"
}
},
"node_modules/tsconfig-link": { "node_modules/tsconfig-link": {
"resolved": "packages/tsconfig-link", "resolved": "packages/tsconfig-link",
"link": true "link": true
@ -22254,6 +22303,7 @@
"babel-preset-link": "*", "babel-preset-link": "*",
"eslint-config-link": "*", "eslint-config-link": "*",
"jest-config-link": "*", "jest-config-link": "*",
"tsc-watch": "^6.0.4",
"tsconfig-link": "*" "tsconfig-link": "*"
} }
}, },
@ -22266,7 +22316,9 @@
"pg-monitor": "^2.0.0", "pg-monitor": "^2.0.0",
"pg-promise": "^11.4.3" "pg-promise": "^11.4.3"
}, },
"devDependencies": {} "devDependencies": {
"tsc-watch": "^6.0.4"
}
}, },
"packages/jest-config-link": { "packages/jest-config-link": {
"version": "0.0.1", "version": "0.0.1",
@ -22355,6 +22407,7 @@
"@types/uuid": "^9.0.1", "@types/uuid": "^9.0.1",
"camelcase-keys": "^8.0.2", "camelcase-keys": "^8.0.2",
"pg-monitor": "^2.0.0", "pg-monitor": "^2.0.0",
"tsc-watch": "^6.0.4",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
} }
@ -22390,6 +22443,7 @@
"pino-pretty": "^10.0.0", "pino-pretty": "^10.0.0",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tsc-watch": "^6.0.4",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
} }
@ -22417,6 +22471,7 @@
"pino-pretty": "^10.0.0", "pino-pretty": "^10.0.0",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tsc-watch": "^6.0.4",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
} }
@ -22736,6 +22791,7 @@
"babel-preset-link": "*", "babel-preset-link": "*",
"eslint-config-link": "*", "eslint-config-link": "*",
"jest-config-link": "*", "jest-config-link": "*",
"tsc-watch": "^6.0.4",
"tsconfig-link": "*" "tsconfig-link": "*"
}, },
"engines": { "engines": {
@ -22760,6 +22816,7 @@
"camelcase": "^7.0.1", "camelcase": "^7.0.1",
"eslint-config-link": "*", "eslint-config-link": "*",
"jest-config-link": "*", "jest-config-link": "*",
"tsc-watch": "^6.0.4",
"tsconfig-link": "*", "tsconfig-link": "*",
"typedoc": "^0.24.7" "typedoc": "^0.24.7"
}, },

View file

@ -4,7 +4,9 @@
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"dev": "dotenv -- turbo run dev", "dev": "dotenv -- turbo run dev --concurrency 30",
"build": "turbo build --concurrency 30",
"dev:metamigo": "make dev-metamigo && dotenv -- turbo run dev --concurrency 30 --filter=!link --filter=!leafcutter",
"migrate": "dotenv -- npm run migrate --workspace=@digiresilience/metamigo-cli" "migrate": "dotenv -- npm run migrate --workspace=@digiresilience/metamigo-cli"
}, },
"packageManager": "npm@9.3.1", "packageManager": "npm@9.3.1",

View file

@ -8,12 +8,13 @@
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"private": false, "private": false,
"devDependencies": { "devDependencies": {
"@types/jest": "^29.5.1",
"@hapi/basic": "^7.0.1", "@hapi/basic": "^7.0.1",
"tsconfig-link": "*", "@types/jest": "^29.5.1",
"babel-preset-link": "*",
"eslint-config-link": "*", "eslint-config-link": "*",
"jest-config-link": "*", "jest-config-link": "*",
"babel-preset-link": "*" "tsc-watch": "^6.0.4",
"tsconfig-link": "*"
}, },
"dependencies": { "dependencies": {
"@hapi/hapi": "^21.3.2", "@hapi/hapi": "^21.3.2",
@ -29,6 +30,6 @@
"lint": "eslint src --ext .ts", "lint": "eslint src --ext .ts",
"lint-fmt": "prettier \"src/**/*.ts\" --list-different", "lint-fmt": "prettier \"src/**/*.ts\" --list-different",
"doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs", "doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs",
"watch:build": "tsc -p tsconfig.json -w" "dev": "tsc-watch --build --noClear"
} }
} }

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"composite": true,
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -8,6 +8,7 @@
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"private": false, "private": false,
"devDependencies": { "devDependencies": {
"tsc-watch": "^6.0.4"
}, },
"dependencies": { "dependencies": {
"@hapi/hapi": "^21.3.2", "@hapi/hapi": "^21.3.2",
@ -21,6 +22,6 @@
"test": "jest --coverage --forceExit --detectOpenHandles --reporters=default --reporters=jest-junit", "test": "jest --coverage --forceExit --detectOpenHandles --reporters=default --reporters=jest-junit",
"lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different", "lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different",
"doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs", "doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs",
"watch:build": "tsc -p tsconfig.json -w" "dev": "tsc-watch --build --noClear"
} }
} }

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"composite": true,
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -14,7 +14,7 @@
"fmt": "prettier \"src/**/*.ts\" --write", "fmt": "prettier \"src/**/*.ts\" --write",
"lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different", "lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different",
"doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs", "doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs",
"watch:build": "tsc -p tsconfig.json -w" "dev": "tsc-watch --build --noClear "
}, },
"devDependencies": { "devDependencies": {
"@types/figlet": "^1.5.6", "@types/figlet": "^1.5.6",
@ -23,6 +23,7 @@
"@types/uuid": "^9.0.1", "@types/uuid": "^9.0.1",
"camelcase-keys": "^8.0.2", "camelcase-keys": "^8.0.2",
"pg-monitor": "^2.0.0", "pg-monitor": "^2.0.0",
"tsc-watch": "^6.0.4",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
}, },

View file

@ -7,7 +7,8 @@
"baseUrl": "./", "baseUrl": "./",
"skipLibCheck": true, "skipLibCheck": true,
"types": ["jest", "node"], "types": ["jest", "node"],
"esModuleInterop": true "esModuleInterop": true,
"composite": true,
}, },
"include": ["src/**/*.ts"], "include": ["src/**/*.ts"],
"exclude": ["node_modules/**"] "exclude": ["node_modules/**"]

View file

@ -6,8 +6,8 @@
"author": "Abel Luck <abel@guardianproject.info>", "author": "Abel Luck <abel@guardianproject.info>",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"dependencies": { "dependencies": {
"@digiresilience/montar": "*", "@digiresilience/metamigo-common": "*",
"@digiresilience/metamigo-common": "*" "@digiresilience/montar": "*"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.21.8", "@babel/core": "7.21.8",
@ -17,6 +17,7 @@
"pino-pretty": "^10.0.0", "pino-pretty": "^10.0.0",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tsc-watch": "^6.0.4",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
}, },
@ -31,6 +32,6 @@
"fmt": "prettier \"src/**/*.ts\" --write", "fmt": "prettier \"src/**/*.ts\" --write",
"lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different", "lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different",
"test": "echo no tests", "test": "echo no tests",
"watch:build": "tsc -p tsconfig.json -w" "dev": "tsc-watch --build --noClear"
} }
} }

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"composite": true,
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -25,6 +25,7 @@
"pino-pretty": "^10.0.0", "pino-pretty": "^10.0.0",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tsc-watch": "^6.0.4",
"typedoc": "^0.24.7", "typedoc": "^0.24.7",
"typescript": "^5.0.4" "typescript": "^5.0.4"
}, },
@ -34,7 +35,7 @@
"fix:lint": "eslint src --ext .ts --fix", "fix:lint": "eslint src --ext .ts --fix",
"fmt": "prettier \"src/**/*.ts\" --write", "fmt": "prettier \"src/**/*.ts\" --write",
"lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different", "lint": "eslint src --ext .ts && prettier \"src/**/*.ts\" --list-different",
"watch:build": "tsc -p tsconfig.json -w", "worker": "NODE_ENV=development yarn cli worker",
"worker": "NODE_ENV=development yarn cli worker" "dev": "tsc-watch --build --noClear "
} }
} }

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"composite": true,
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -17,16 +17,17 @@
"lint": "eslint src --ext .ts", "lint": "eslint src --ext .ts",
"lint-fmt": "prettier \"src/**/*.ts\" --list-different", "lint-fmt": "prettier \"src/**/*.ts\" --list-different",
"doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs", "doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --target es2019 --mode file --out build/docs",
"watch:build": "tsc -p tsconfig.json -w" "dev": "tsc-watch --build --noClear"
}, },
"engines": { "engines": {
"node": ">=14" "node": ">=14"
}, },
"devDependencies": { "devDependencies": {
"tsconfig-link": "*", "babel-preset-link": "*",
"eslint-config-link": "*", "eslint-config-link": "*",
"jest-config-link": "*", "jest-config-link": "*",
"babel-preset-link": "*" "tsc-watch": "^6.0.4",
"tsconfig-link": "*"
}, },
"dependencies": { "dependencies": {
"debug": "^4.3.4" "debug": "^4.3.4"

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"composite": true,
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -16,7 +16,7 @@
}, },
"scripts": { "scripts": {
"build": "tsc --build --verbose", "build": "tsc --build --verbose",
"watch": "tsc --build --verbose --watch", "dev": "tsc-watch --build --noClear",
"generate": "node util/generate.js && prettier src/generated.ts -w --loglevel error && npm run build", "generate": "node util/generate.js && prettier src/generated.ts -w --loglevel error && npm run build",
"doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --out dist/docs", "doc": "typedoc src/ --exclude '**/*.test.ts' --exclude '**/*.spec.ts' --name $npm_package_name --readme README.md --out dist/docs",
"fix": "echo n/a", "fix": "echo n/a",
@ -27,12 +27,13 @@
}, },
"devDependencies": { "devDependencies": {
"@types/backoff": "^2.5.2", "@types/backoff": "^2.5.2",
"babel-preset-link": "*",
"camelcase": "^7.0.1", "camelcase": "^7.0.1",
"typedoc": "^0.24.7",
"tsconfig-link": "*",
"eslint-config-link": "*", "eslint-config-link": "*",
"jest-config-link": "*", "jest-config-link": "*",
"babel-preset-link": "*" "tsc-watch": "^6.0.4",
"tsconfig-link": "*",
"typedoc": "^0.24.7"
}, },
"dependencies": { "dependencies": {
"backoff": "^2.5.0", "backoff": "^2.5.0",

View file

@ -1,6 +1,7 @@
{ {
"extends": "tsconfig-link", "extends": "tsconfig-link",
"compilerOptions": { "compilerOptions": {
"composite": true,
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",
"rootDir": "src", "rootDir": "src",

View file

@ -2,12 +2,13 @@
"$schema": "https://turbo.build/schema.json", "$schema": "https://turbo.build/schema.json",
"pipeline": { "pipeline": {
"dev": { "dev": {
"dependsOn": ["^build"],
"cache": false, "cache": false,
"persistent": true "persistent": true
}, },
"build": { "build": {
"dependsOn": ["^build"], "dependsOn": ["^build"],
"outputs": [".next/**"] "outputs": [".next/**","!.next/cache/**", "build/**", "dist/**"]
}, },
"test": { "test": {
"dependsOn": ["build"], "dependsOn": ["build"],