skuba 10.0.4 → 10.2.0-config-20250421023131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli/build/assets.js +13 -7
- package/lib/cli/build/assets.js.map +2 -2
- package/lib/cli/build/esbuild.js +1 -1
- package/lib/cli/build/esbuild.js.map +2 -2
- package/lib/cli/format.js +6 -2
- package/lib/cli/format.js.map +2 -2
- package/lib/cli/init/index.js +5 -1
- package/lib/cli/init/index.js.map +2 -2
- package/lib/cli/lint/autofix.js +1 -1
- package/lib/cli/lint/autofix.js.map +2 -2
- package/lib/cli/lint/eslint.js +9 -2
- package/lib/cli/lint/eslint.js.map +2 -2
- package/lib/cli/lint/internal.js +31 -13
- package/lib/cli/lint/internal.js.map +2 -2
- package/lib/cli/lint/internalLints/detectBadCodeowners.d.ts +1 -1
- package/lib/cli/lint/internalLints/detectBadCodeowners.js +5 -2
- package/lib/cli/lint/internalLints/detectBadCodeowners.js.map +2 -2
- package/lib/cli/lint/internalLints/refreshConfigFiles.js +1 -1
- package/lib/cli/lint/internalLints/refreshConfigFiles.js.map +2 -2
- package/lib/cli/lint/internalLints/upgrade/index.d.ts +1 -1
- package/lib/cli/lint/internalLints/upgrade/index.js +3 -3
- package/lib/cli/lint/internalLints/upgrade/index.js.map +2 -2
- package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.d.ts +2 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js +35 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/index.js.map +7 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.d.ts +2 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js +109 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.0.4/removeYarnIgnoreOptionalFlags.js.map +7 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.d.ts +2 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js +35 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/index.js.map +7 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.d.ts +3 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js +96 -0
- package/lib/cli/lint/internalLints/upgrade/patches/10.1.0/stopBundlingInCDKTests.js.map +7 -0
- package/lib/cli/lint/prettier.js +5 -2
- package/lib/cli/lint/prettier.js.map +2 -2
- package/lib/cli/lint/types.d.ts +4 -0
- package/lib/cli/lint/types.js.map +1 -1
- package/lib/config/load.d.ts +2 -0
- package/lib/config/load.js +75 -0
- package/lib/config/load.js.map +7 -0
- package/lib/config/types.d.ts +51 -0
- package/lib/config/types.js +74 -0
- package/lib/config/types.js.map +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +5 -2
- package/lib/index.js.map +2 -2
- package/lib/utils/logging.d.ts +33 -1
- package/lib/utils/logging.js +17 -4
- package/lib/utils/logging.js.map +2 -2
- package/lib/utils/worker.d.ts +5 -0
- package/package.json +15 -12
- package/template/base/_.gitignore +0 -1
- package/template/express-rest-api/.buildkite/pipeline.yml +2 -2
- package/template/express-rest-api/package.json +1 -1
- package/template/greeter/.buildkite/pipeline.yml +2 -2
- package/template/greeter/package.json +2 -2
- package/template/koa-rest-api/.buildkite/pipeline.yml +2 -2
- package/template/koa-rest-api/package.json +8 -8
- package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +3 -3
- package/template/lambda-sqs-worker-cdk/infra/__snapshots__/appStack.test.ts.snap +4 -0
- package/template/lambda-sqs-worker-cdk/infra/appStack.test.ts +1 -1
- package/template/lambda-sqs-worker-cdk/infra/appStack.ts +2 -0
- package/template/lambda-sqs-worker-cdk/package.json +4 -4
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var types_exports = {};
|
|
20
|
+
__export(types_exports, {
|
|
21
|
+
SkubaConfig: () => SkubaConfig,
|
|
22
|
+
skubaConfigSchema: () => skubaConfigSchema
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(types_exports);
|
|
25
|
+
var import_zod = require("zod");
|
|
26
|
+
const skubaConfigSchema = import_zod.z.object({
|
|
27
|
+
/**
|
|
28
|
+
* Files to copy from the working directory to the output directory after
|
|
29
|
+
* compilation. This feature is useful to bundle non-JavaScript assets in an
|
|
30
|
+
* npm package, back-end deployment package or container image.
|
|
31
|
+
*
|
|
32
|
+
* Supports `picomatch` glob patterns with dotfile matching.
|
|
33
|
+
*
|
|
34
|
+
* - https://github.com/micromatch/picomatch#globbing-features
|
|
35
|
+
* - https://github.com/micromatch/picomatch#picomatch-options
|
|
36
|
+
*
|
|
37
|
+
* Commands:
|
|
38
|
+
*
|
|
39
|
+
* - `skuba build`
|
|
40
|
+
* - `skuba build-package`
|
|
41
|
+
*/
|
|
42
|
+
assets: import_zod.z.array(import_zod.z.string()).optional(),
|
|
43
|
+
/**
|
|
44
|
+
* The entry point to the package or application. For packages, this is the
|
|
45
|
+
* main file that will be imported when the package is required. For applications,
|
|
46
|
+
* this is the main file that will be executed when the application is run.
|
|
47
|
+
*
|
|
48
|
+
* Commands:
|
|
49
|
+
*
|
|
50
|
+
* - `skuba build`
|
|
51
|
+
* - `skuba build-package`
|
|
52
|
+
* - `skuba start`
|
|
53
|
+
*/
|
|
54
|
+
entryPoint: import_zod.z.string().optional()
|
|
55
|
+
});
|
|
56
|
+
const SkubaConfig = {
|
|
57
|
+
assets: {
|
|
58
|
+
/**
|
|
59
|
+
* The default list of `assets` that are applied if your project does not
|
|
60
|
+
* specify the configuration property.
|
|
61
|
+
*
|
|
62
|
+
* Currently includes:
|
|
63
|
+
*
|
|
64
|
+
* - JSON translation files for https://github.com/seek-oss/vocab
|
|
65
|
+
*/
|
|
66
|
+
default: ["**/*.vocab/*translations.json"]
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
70
|
+
0 && (module.exports = {
|
|
71
|
+
SkubaConfig,
|
|
72
|
+
skubaConfigSchema
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/config/types.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from 'zod';\n\nexport const skubaConfigSchema = z.object({\n /**\n * Files to copy from the working directory to the output directory after\n * compilation. This feature is useful to bundle non-JavaScript assets in an\n * npm package, back-end deployment package or container image.\n *\n * Supports `picomatch` glob patterns with dotfile matching.\n *\n * - https://github.com/micromatch/picomatch#globbing-features\n * - https://github.com/micromatch/picomatch#picomatch-options\n *\n * Commands:\n *\n * - `skuba build`\n * - `skuba build-package`\n */\n assets: z.array(z.string()).optional(),\n\n /**\n * The entry point to the package or application. For packages, this is the\n * main file that will be imported when the package is required. For applications,\n * this is the main file that will be executed when the application is run.\n *\n * Commands:\n *\n * - `skuba build`\n * - `skuba build-package`\n * - `skuba start`\n */\n entryPoint: z.string().optional(),\n});\n\nexport const SkubaConfig = {\n assets: {\n /**\n * The default list of `assets` that are applied if your project does not\n * specify the configuration property.\n *\n * Currently includes:\n *\n * - JSON translation files for https://github.com/seek-oss/vocab\n */\n default: ['**/*.vocab/*translations.json'],\n },\n};\n\nexport type SkubaConfig = z.infer<typeof skubaConfigSchema>;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,oBAAoB,aAAE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBxC,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAarC,YAAY,aAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAEM,MAAM,cAAc;AAAA,EACzB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASN,SAAS,CAAC,+BAA+B;AAAA,EAC3C;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/lib/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * as Git from './api/git';
|
|
|
14
14
|
export * as GitHub from './api/github';
|
|
15
15
|
export * as Jest from './api/jest';
|
|
16
16
|
export * as Net from './api/net';
|
|
17
|
+
export { SkubaConfig } from './config/types';
|
|
17
18
|
declare global {
|
|
18
19
|
namespace WebAssembly {
|
|
19
20
|
interface Module {
|
package/lib/index.js
CHANGED
|
@@ -32,7 +32,8 @@ __export(index_exports, {
|
|
|
32
32
|
Git: () => Git,
|
|
33
33
|
GitHub: () => GitHub,
|
|
34
34
|
Jest: () => Jest,
|
|
35
|
-
Net: () => Net
|
|
35
|
+
Net: () => Net,
|
|
36
|
+
SkubaConfig: () => import_types.SkubaConfig
|
|
36
37
|
});
|
|
37
38
|
module.exports = __toCommonJS(index_exports);
|
|
38
39
|
var Buildkite = __toESM(require("./api/buildkite"));
|
|
@@ -40,12 +41,14 @@ var Git = __toESM(require("./api/git"));
|
|
|
40
41
|
var GitHub = __toESM(require("./api/github"));
|
|
41
42
|
var Jest = __toESM(require("./api/jest"));
|
|
42
43
|
var Net = __toESM(require("./api/net"));
|
|
44
|
+
var import_types = require("./config/types");
|
|
43
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
44
46
|
0 && (module.exports = {
|
|
45
47
|
Buildkite,
|
|
46
48
|
Git,
|
|
47
49
|
GitHub,
|
|
48
50
|
Jest,
|
|
49
|
-
Net
|
|
51
|
+
Net,
|
|
52
|
+
SkubaConfig
|
|
50
53
|
});
|
|
51
54
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Entry point for the Node.js development API.\n *\n * This is where skuba imports point to:\n *\n * ```typescript\n * import { Net } from 'skuba';\n *\n * const { Net } = require('skuba');\n * ```\n */\n\nexport * as Buildkite from './api/buildkite';\nexport * as Git from './api/git';\nexport * as GitHub from './api/github';\nexport * as Jest from './api/jest';\nexport * as Net from './api/net';\n\n// evanw/esbuild#2388\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace WebAssembly {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface Module {}\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,gBAA2B;AAC3B,UAAqB;AACrB,aAAwB;AACxB,WAAsB;AACtB,UAAqB;",
|
|
4
|
+
"sourcesContent": ["/**\n * Entry point for the Node.js development API.\n *\n * This is where skuba imports point to:\n *\n * ```typescript\n * import { Net } from 'skuba';\n *\n * const { Net } = require('skuba');\n * ```\n */\n\nexport * as Buildkite from './api/buildkite';\nexport * as Git from './api/git';\nexport * as GitHub from './api/github';\nexport * as Jest from './api/jest';\nexport * as Net from './api/net';\nexport { SkubaConfig } from './config/types';\n\n// evanw/esbuild#2388\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace WebAssembly {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface Module {}\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,gBAA2B;AAC3B,UAAqB;AACrB,aAAwB;AACxB,WAAsB;AACtB,UAAqB;AACrB,mBAA4B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/utils/logging.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
export type Logger = typeof log;
|
|
3
|
-
export declare const createLogger: (debug
|
|
3
|
+
export declare const createLogger: ({ debug, prefixes, suffixes, }: {
|
|
4
|
+
debug: boolean;
|
|
5
|
+
prefixes?: unknown[];
|
|
6
|
+
suffixes?: unknown[];
|
|
7
|
+
}) => {
|
|
8
|
+
settings: {
|
|
9
|
+
debug: boolean;
|
|
10
|
+
prefixes: unknown[];
|
|
11
|
+
suffixes: unknown[];
|
|
12
|
+
};
|
|
4
13
|
bold: chalk.Chalk;
|
|
5
14
|
dim: chalk.Chalk;
|
|
6
15
|
formatSubtle: chalk.Chalk;
|
|
@@ -14,6 +23,29 @@ export declare const createLogger: (debug: boolean, ...prefixes: unknown[]) => {
|
|
|
14
23
|
warn: (...message: unknown[]) => void;
|
|
15
24
|
};
|
|
16
25
|
export declare const log: {
|
|
26
|
+
settings: {
|
|
27
|
+
debug: boolean;
|
|
28
|
+
prefixes: unknown[];
|
|
29
|
+
suffixes: unknown[];
|
|
30
|
+
};
|
|
31
|
+
bold: chalk.Chalk;
|
|
32
|
+
dim: chalk.Chalk;
|
|
33
|
+
formatSubtle: chalk.Chalk;
|
|
34
|
+
timing: (start: bigint, end: bigint) => string;
|
|
35
|
+
debug: (...message: unknown[]) => void;
|
|
36
|
+
subtle: (...message: unknown[]) => void;
|
|
37
|
+
err: (...message: unknown[]) => void;
|
|
38
|
+
newline: () => void;
|
|
39
|
+
ok: (...message: unknown[]) => void;
|
|
40
|
+
plain: (...message: unknown[]) => void;
|
|
41
|
+
warn: (...message: unknown[]) => void;
|
|
42
|
+
};
|
|
43
|
+
export declare const childLogger: (logger: Logger, settings: Partial<Logger["settings"]>) => {
|
|
44
|
+
settings: {
|
|
45
|
+
debug: boolean;
|
|
46
|
+
prefixes: unknown[];
|
|
47
|
+
suffixes: unknown[];
|
|
48
|
+
};
|
|
17
49
|
bold: chalk.Chalk;
|
|
18
50
|
dim: chalk.Chalk;
|
|
19
51
|
formatSubtle: chalk.Chalk;
|
package/lib/utils/logging.js
CHANGED
|
@@ -28,15 +28,22 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var logging_exports = {};
|
|
30
30
|
__export(logging_exports, {
|
|
31
|
+
childLogger: () => childLogger,
|
|
31
32
|
createLogger: () => createLogger,
|
|
32
33
|
log: () => log,
|
|
33
34
|
pluralise: () => pluralise
|
|
34
35
|
});
|
|
35
36
|
module.exports = __toCommonJS(logging_exports);
|
|
36
37
|
var import_chalk = __toESM(require("chalk"));
|
|
37
|
-
const createLogger = (
|
|
38
|
-
|
|
38
|
+
const createLogger = ({
|
|
39
|
+
debug,
|
|
40
|
+
prefixes = [],
|
|
41
|
+
suffixes = []
|
|
42
|
+
}) => {
|
|
43
|
+
const logWithoutSuffixes = (...message) => console.log(...prefixes, ...message);
|
|
44
|
+
const log2 = (...message) => logWithoutSuffixes(...message, ...suffixes);
|
|
39
45
|
return {
|
|
46
|
+
settings: { debug, prefixes, suffixes },
|
|
40
47
|
bold: import_chalk.default.bold,
|
|
41
48
|
dim: import_chalk.default.dim,
|
|
42
49
|
formatSubtle: import_chalk.default.grey,
|
|
@@ -44,16 +51,22 @@ const createLogger = (debug, ...prefixes) => {
|
|
|
44
51
|
debug: (...message) => debug ? log2(import_chalk.default.grey(...message)) : void 0,
|
|
45
52
|
subtle: (...message) => log2(import_chalk.default.grey(...message)),
|
|
46
53
|
err: (...message) => log2(import_chalk.default.red(...message)),
|
|
47
|
-
newline: () =>
|
|
54
|
+
newline: () => logWithoutSuffixes(),
|
|
48
55
|
ok: (...message) => log2(import_chalk.default.green(...message)),
|
|
49
56
|
plain: (...message) => log2(...message),
|
|
50
57
|
warn: (...message) => log2(import_chalk.default.yellow(...message))
|
|
51
58
|
};
|
|
52
59
|
};
|
|
53
|
-
const log = createLogger(false);
|
|
60
|
+
const log = createLogger({ debug: false });
|
|
61
|
+
const childLogger = (logger, settings) => createLogger({
|
|
62
|
+
debug: settings.debug ?? logger.settings.debug,
|
|
63
|
+
prefixes: [...settings.prefixes ?? [], ...logger.settings.prefixes],
|
|
64
|
+
suffixes: [...logger.settings.suffixes, ...settings.suffixes ?? []]
|
|
65
|
+
});
|
|
54
66
|
const pluralise = (count, subject) => `${count} ${subject}${count === 1 ? "" : "s"}`;
|
|
55
67
|
// Annotate the CommonJS export names for ESM import in node:
|
|
56
68
|
0 && (module.exports = {
|
|
69
|
+
childLogger,
|
|
57
70
|
createLogger,
|
|
58
71
|
log,
|
|
59
72
|
pluralise
|
package/lib/utils/logging.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/logging.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-console */\n\nimport chalk from 'chalk';\n\nexport type Logger = typeof log;\n\nexport const createLogger = (debug: boolean
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAkB;AAIX,MAAM,eAAe,CAAC,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-console */\n\nimport chalk from 'chalk';\n\nexport type Logger = typeof log;\n\nexport const createLogger = ({\n debug,\n prefixes = [],\n suffixes = [],\n}: {\n debug: boolean;\n prefixes?: unknown[];\n suffixes?: unknown[];\n}) => {\n const logWithoutSuffixes = (...message: unknown[]) =>\n console.log(...prefixes, ...message);\n\n const log = (...message: unknown[]) =>\n logWithoutSuffixes(...message, ...suffixes);\n\n return {\n settings: { debug, prefixes, suffixes },\n\n bold: chalk.bold,\n dim: chalk.dim,\n formatSubtle: chalk.grey,\n\n timing: (start: bigint, end: bigint) =>\n `${Number((end - start) / BigInt(10_000_000)) / 100}s`,\n\n debug: (...message: unknown[]) =>\n debug ? log(chalk.grey(...message)) : undefined,\n subtle: (...message: unknown[]) => log(chalk.grey(...message)),\n err: (...message: unknown[]) => log(chalk.red(...message)),\n newline: () => logWithoutSuffixes(),\n ok: (...message: unknown[]) => log(chalk.green(...message)),\n plain: (...message: unknown[]) => log(...message),\n warn: (...message: unknown[]) => log(chalk.yellow(...message)),\n };\n};\n\nexport const log = createLogger({ debug: false });\n\nexport const childLogger = (\n logger: Logger,\n settings: Partial<Logger['settings']>,\n) =>\n createLogger({\n debug: settings.debug ?? logger.settings.debug,\n prefixes: [...(settings.prefixes ?? []), ...logger.settings.prefixes],\n suffixes: [...logger.settings.suffixes, ...(settings.suffixes ?? [])],\n });\n\nexport const pluralise = (count: number, subject: string) =>\n `${count} ${subject}${count === 1 ? '' : 's'}`;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAkB;AAIX,MAAM,eAAe,CAAC;AAAA,EAC3B;AAAA,EACA,WAAW,CAAC;AAAA,EACZ,WAAW,CAAC;AACd,MAIM;AACJ,QAAM,qBAAqB,IAAI,YAC7B,QAAQ,IAAI,GAAG,UAAU,GAAG,OAAO;AAErC,QAAMA,OAAM,IAAI,YACd,mBAAmB,GAAG,SAAS,GAAG,QAAQ;AAE5C,SAAO;AAAA,IACL,UAAU,EAAE,OAAO,UAAU,SAAS;AAAA,IAEtC,MAAM,aAAAC,QAAM;AAAA,IACZ,KAAK,aAAAA,QAAM;AAAA,IACX,cAAc,aAAAA,QAAM;AAAA,IAEpB,QAAQ,CAAC,OAAe,QACtB,GAAG,QAAQ,MAAM,SAAS,OAAO,GAAU,CAAC,IAAI,GAAG;AAAA,IAErD,OAAO,IAAI,YACT,QAAQD,KAAI,aAAAC,QAAM,KAAK,GAAG,OAAO,CAAC,IAAI;AAAA,IACxC,QAAQ,IAAI,YAAuBD,KAAI,aAAAC,QAAM,KAAK,GAAG,OAAO,CAAC;AAAA,IAC7D,KAAK,IAAI,YAAuBD,KAAI,aAAAC,QAAM,IAAI,GAAG,OAAO,CAAC;AAAA,IACzD,SAAS,MAAM,mBAAmB;AAAA,IAClC,IAAI,IAAI,YAAuBD,KAAI,aAAAC,QAAM,MAAM,GAAG,OAAO,CAAC;AAAA,IAC1D,OAAO,IAAI,YAAuBD,KAAI,GAAG,OAAO;AAAA,IAChD,MAAM,IAAI,YAAuBA,KAAI,aAAAC,QAAM,OAAO,GAAG,OAAO,CAAC;AAAA,EAC/D;AACF;AAEO,MAAM,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAEzC,MAAM,cAAc,CACzB,QACA,aAEA,aAAa;AAAA,EACX,OAAO,SAAS,SAAS,OAAO,SAAS;AAAA,EACzC,UAAU,CAAC,GAAI,SAAS,YAAY,CAAC,GAAI,GAAG,OAAO,SAAS,QAAQ;AAAA,EACpE,UAAU,CAAC,GAAG,OAAO,SAAS,UAAU,GAAI,SAAS,YAAY,CAAC,CAAE;AACtE,CAAC;AAEI,MAAM,YAAY,CAAC,OAAe,YACvC,GAAG,KAAK,IAAI,OAAO,GAAG,UAAU,IAAI,KAAK,GAAG;",
|
|
6
6
|
"names": ["log", "chalk"]
|
|
7
7
|
}
|
package/lib/utils/worker.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export declare const execWorkerThread: <Input, Output>(filepath: string, input:
|
|
|
7
7
|
* to the parent thread.
|
|
8
8
|
*/
|
|
9
9
|
export declare const postWorkerOutput: <Input, Output>(fn: (input: Input) => Promise<Output>, logger?: {
|
|
10
|
+
settings: {
|
|
11
|
+
debug: boolean;
|
|
12
|
+
prefixes: unknown[];
|
|
13
|
+
suffixes: unknown[];
|
|
14
|
+
};
|
|
10
15
|
bold: import("chalk").Chalk;
|
|
11
16
|
dim: import("chalk").Chalk;
|
|
12
17
|
formatSubtle: import("chalk").Chalk;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skuba",
|
|
3
|
-
"version": "10.0
|
|
3
|
+
"version": "10.2.0-config-20250421023131",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "SEEK development toolkit for backend applications and packages",
|
|
6
6
|
"homepage": "https://github.com/seek-oss/skuba#readme",
|
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
"isomorphic-git": "^1.11.1",
|
|
79
79
|
"jest": "^29.0.1",
|
|
80
80
|
"jest-watch-typeahead": "^2.1.1",
|
|
81
|
+
"jiti": "^2.4.2",
|
|
81
82
|
"lodash.mergewith": "^4.6.2",
|
|
82
83
|
"minimist": "^1.2.6",
|
|
83
84
|
"normalize-package-data": "^7.0.0",
|
|
@@ -98,7 +99,7 @@
|
|
|
98
99
|
"tsx": "^4.16.2",
|
|
99
100
|
"typescript": "~5.8.0",
|
|
100
101
|
"zod": "^3.22.4",
|
|
101
|
-
"eslint-config-skuba": "5.1.
|
|
102
|
+
"eslint-config-skuba": "5.1.4-config-20250421023131"
|
|
102
103
|
},
|
|
103
104
|
"devDependencies": {
|
|
104
105
|
"@changesets/cli": "2.28.1",
|
|
@@ -106,7 +107,7 @@
|
|
|
106
107
|
"@jest/reporters": "29.7.0",
|
|
107
108
|
"@jest/test-result": "29.7.0",
|
|
108
109
|
"@types/ejs": "3.1.5",
|
|
109
|
-
"@types/express": "5.0.
|
|
110
|
+
"@types/express": "5.0.1",
|
|
110
111
|
"@types/fs-extra": "11.0.4",
|
|
111
112
|
"@types/koa": "2.15.0",
|
|
112
113
|
"@types/lodash.mergewith": "4.6.9",
|
|
@@ -115,19 +116,19 @@
|
|
|
115
116
|
"@types/npm-registry-fetch": "8.0.7",
|
|
116
117
|
"@types/npm-which": "3.0.3",
|
|
117
118
|
"@types/picomatch": "3.0.2",
|
|
118
|
-
"@types/semver": "7.
|
|
119
|
-
"@types/supertest": "6.0.
|
|
119
|
+
"@types/semver": "7.7.0",
|
|
120
|
+
"@types/supertest": "6.0.3",
|
|
120
121
|
"enhanced-resolve": "5.18.1",
|
|
121
|
-
"express": "5.0
|
|
122
|
-
"fastify": "5.2
|
|
122
|
+
"express": "5.1.0",
|
|
123
|
+
"fastify": "5.3.2",
|
|
123
124
|
"jest-diff": "29.7.0",
|
|
124
125
|
"jsonfile": "6.1.0",
|
|
125
|
-
"koa": "2.16.
|
|
126
|
+
"koa": "2.16.1",
|
|
126
127
|
"memfs": "4.17.0",
|
|
127
128
|
"remark-cli": "12.0.1",
|
|
128
129
|
"remark-preset-lint-recommended": "7.0.1",
|
|
129
130
|
"semver": "7.7.1",
|
|
130
|
-
"supertest": "7.
|
|
131
|
+
"supertest": "7.1.0",
|
|
131
132
|
"type-fest": "2.19.0"
|
|
132
133
|
},
|
|
133
134
|
"peerDependencies": {
|
|
@@ -149,15 +150,17 @@
|
|
|
149
150
|
"entryPoint": "src/index.ts",
|
|
150
151
|
"template": null,
|
|
151
152
|
"type": "package",
|
|
152
|
-
"version": "10.
|
|
153
|
+
"version": "10.1.0"
|
|
153
154
|
},
|
|
154
155
|
"scripts": {
|
|
155
156
|
"build": "scripts/build.sh",
|
|
156
157
|
"changeset": "changeset",
|
|
157
158
|
"deploy": "scripts/deploy.sh",
|
|
158
|
-
"format": "pnpm --silent skuba format",
|
|
159
|
-
"
|
|
159
|
+
"format": "pnpm --silent skuba format && pnpm format:packages",
|
|
160
|
+
"format:packages": "pnpm --filter '!./template/**' format",
|
|
161
|
+
"lint": "pnpm --silent skuba lint && pnpm lint:packages && pnpm --silent lint:md",
|
|
160
162
|
"lint:md": "remark --frail --quiet .",
|
|
163
|
+
"lint:packages": "pnpm --filter '!./template/**' lint",
|
|
161
164
|
"release": "pnpm --silent build && changeset publish",
|
|
162
165
|
"skuba": "pnpm --silent build && pnpm --silent skuba:exec",
|
|
163
166
|
"skuba:exec": "node --experimental-vm-modules lib/skuba",
|
|
@@ -4,7 +4,7 @@ agents:
|
|
|
4
4
|
configs:
|
|
5
5
|
plugins:
|
|
6
6
|
- &aws-sm
|
|
7
|
-
seek-oss/aws-sm#v2.3.
|
|
7
|
+
seek-oss/aws-sm#v2.3.3:
|
|
8
8
|
env:
|
|
9
9
|
NPM_READ_TOKEN: arn:aws:secretsmanager:ap-southeast-2:987872074697:secret:npm/npm-read-token
|
|
10
10
|
|
|
@@ -57,7 +57,7 @@ steps:
|
|
|
57
57
|
- *aws-sm
|
|
58
58
|
- *private-npm
|
|
59
59
|
- *docker-ecr-cache
|
|
60
|
-
- docker-compose#v5.
|
|
60
|
+
- docker-compose#v5.7.0:
|
|
61
61
|
run: app
|
|
62
62
|
environment:
|
|
63
63
|
- GITHUB_API_TOKEN
|
|
@@ -6,7 +6,7 @@ agents:
|
|
|
6
6
|
configs:
|
|
7
7
|
plugins:
|
|
8
8
|
- &aws-sm
|
|
9
|
-
seek-oss/aws-sm#v2.3.
|
|
9
|
+
seek-oss/aws-sm#v2.3.3:
|
|
10
10
|
env:
|
|
11
11
|
NPM_READ_TOKEN: arn:aws:secretsmanager:ap-southeast-2:987872074697:secret:npm/npm-read-token
|
|
12
12
|
|
|
@@ -38,7 +38,7 @@ steps:
|
|
|
38
38
|
- *aws-sm
|
|
39
39
|
- *private-npm
|
|
40
40
|
- *docker-ecr-cache
|
|
41
|
-
- docker-compose#v5.
|
|
41
|
+
- docker-compose#v5.7.0:
|
|
42
42
|
run: app
|
|
43
43
|
environment:
|
|
44
44
|
- GITHUB_API_TOKEN
|
|
@@ -4,7 +4,7 @@ agents:
|
|
|
4
4
|
configs:
|
|
5
5
|
plugins:
|
|
6
6
|
- &aws-sm
|
|
7
|
-
seek-oss/aws-sm#v2.3.
|
|
7
|
+
seek-oss/aws-sm#v2.3.3:
|
|
8
8
|
env:
|
|
9
9
|
NPM_READ_TOKEN: arn:aws:secretsmanager:ap-southeast-2:987872074697:secret:npm/npm-read-token
|
|
10
10
|
|
|
@@ -57,7 +57,7 @@ steps:
|
|
|
57
57
|
- *aws-sm
|
|
58
58
|
- *private-npm
|
|
59
59
|
- *docker-ecr-cache
|
|
60
|
-
- docker-compose#v5.
|
|
60
|
+
- docker-compose#v5.7.0:
|
|
61
61
|
run: app
|
|
62
62
|
environment:
|
|
63
63
|
- GITHUB_API_TOKEN
|
|
@@ -16,15 +16,15 @@
|
|
|
16
16
|
"@koa/bodyparser": "^5.1.1",
|
|
17
17
|
"@koa/router": "^13.0.0",
|
|
18
18
|
"@opentelemetry/api": "^1.9.0",
|
|
19
|
-
"@opentelemetry/core": "^
|
|
20
|
-
"@opentelemetry/exporter-trace-otlp-grpc": "^0.
|
|
21
|
-
"@opentelemetry/instrumentation-aws-sdk": "^0.
|
|
22
|
-
"@opentelemetry/instrumentation-http": "^0.
|
|
23
|
-
"@opentelemetry/propagator-b3": "^
|
|
24
|
-
"@opentelemetry/sdk-node": "^0.
|
|
19
|
+
"@opentelemetry/core": "^2.0.0",
|
|
20
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.200.0",
|
|
21
|
+
"@opentelemetry/instrumentation-aws-sdk": "^0.51.0",
|
|
22
|
+
"@opentelemetry/instrumentation-http": "^0.200.0",
|
|
23
|
+
"@opentelemetry/propagator-b3": "^2.0.0",
|
|
24
|
+
"@opentelemetry/sdk-node": "^0.200.0",
|
|
25
25
|
"@seek/logger": "^9.0.0",
|
|
26
26
|
"hot-shots": "^10.0.0",
|
|
27
|
-
"koa": "^2.
|
|
27
|
+
"koa": "^2.16.1",
|
|
28
28
|
"koa-compose": "^4.1.0",
|
|
29
29
|
"seek-datadog-custom-metrics": "^4.6.3",
|
|
30
30
|
"seek-koala": "^7.0.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"skuba": "*",
|
|
45
45
|
"supertest": "^7.0.0"
|
|
46
46
|
},
|
|
47
|
-
"packageManager": "pnpm@10.
|
|
47
|
+
"packageManager": "pnpm@10.7.1",
|
|
48
48
|
"engines": {
|
|
49
49
|
"node": ">=22"
|
|
50
50
|
}
|
|
@@ -4,7 +4,7 @@ agents:
|
|
|
4
4
|
configs:
|
|
5
5
|
plugins:
|
|
6
6
|
- &aws-sm
|
|
7
|
-
seek-oss/aws-sm#v2.3.
|
|
7
|
+
seek-oss/aws-sm#v2.3.3:
|
|
8
8
|
env:
|
|
9
9
|
NPM_READ_TOKEN: arn:aws:secretsmanager:ap-southeast-2:987872074697:secret:npm/npm-read-token
|
|
10
10
|
|
|
@@ -33,7 +33,7 @@ configs:
|
|
|
33
33
|
- *aws-sm
|
|
34
34
|
- *private-npm
|
|
35
35
|
- *docker-ecr-cache
|
|
36
|
-
- docker-compose#v5.
|
|
36
|
+
- docker-compose#v5.7.0:
|
|
37
37
|
dependencies: false
|
|
38
38
|
run: app
|
|
39
39
|
environment:
|
|
@@ -63,7 +63,7 @@ steps:
|
|
|
63
63
|
- *aws-sm
|
|
64
64
|
- *private-npm
|
|
65
65
|
- *docker-ecr-cache
|
|
66
|
-
- docker-compose#v5.
|
|
66
|
+
- docker-compose#v5.7.0:
|
|
67
67
|
run: app
|
|
68
68
|
environment:
|
|
69
69
|
- GITHUB_API_TOKEN
|
|
@@ -667,6 +667,7 @@ exports[`returns expected CloudFormation stack for dev 1`] = `
|
|
|
667
667
|
"Arn",
|
|
668
668
|
],
|
|
669
669
|
},
|
|
670
|
+
"MessageRetentionPeriod": 1209600,
|
|
670
671
|
"QueueName": "serviceName",
|
|
671
672
|
"RedrivePolicy": {
|
|
672
673
|
"deadLetterTargetArn": {
|
|
@@ -690,6 +691,7 @@ exports[`returns expected CloudFormation stack for dev 1`] = `
|
|
|
690
691
|
"Arn",
|
|
691
692
|
],
|
|
692
693
|
},
|
|
694
|
+
"MessageRetentionPeriod": 1209600,
|
|
693
695
|
"QueueName": "serviceName-dead-letters",
|
|
694
696
|
},
|
|
695
697
|
"Type": "AWS::SQS::Queue",
|
|
@@ -1393,6 +1395,7 @@ exports[`returns expected CloudFormation stack for prod 1`] = `
|
|
|
1393
1395
|
"Arn",
|
|
1394
1396
|
],
|
|
1395
1397
|
},
|
|
1398
|
+
"MessageRetentionPeriod": 1209600,
|
|
1396
1399
|
"QueueName": "serviceName",
|
|
1397
1400
|
"RedrivePolicy": {
|
|
1398
1401
|
"deadLetterTargetArn": {
|
|
@@ -1416,6 +1419,7 @@ exports[`returns expected CloudFormation stack for prod 1`] = `
|
|
|
1416
1419
|
"Arn",
|
|
1417
1420
|
],
|
|
1418
1421
|
},
|
|
1422
|
+
"MessageRetentionPeriod": 1209600,
|
|
1419
1423
|
"QueueName": "serviceName-dead-letters",
|
|
1420
1424
|
},
|
|
1421
1425
|
"Type": "AWS::SQS::Queue",
|
|
@@ -41,6 +41,7 @@ export class AppStack extends Stack {
|
|
|
41
41
|
{
|
|
42
42
|
queueName: '<%- serviceName %>-dead-letters',
|
|
43
43
|
encryptionMasterKey: kmsKey,
|
|
44
|
+
retentionPeriod: Duration.days(14),
|
|
44
45
|
},
|
|
45
46
|
);
|
|
46
47
|
|
|
@@ -51,6 +52,7 @@ export class AppStack extends Stack {
|
|
|
51
52
|
queue: deadLetterQueue,
|
|
52
53
|
},
|
|
53
54
|
encryptionMasterKey: kmsKey,
|
|
55
|
+
retentionPeriod: Duration.days(14),
|
|
54
56
|
});
|
|
55
57
|
|
|
56
58
|
// const topic = aws_sns.Topic.fromTopicArn(
|
|
@@ -28,17 +28,17 @@
|
|
|
28
28
|
"@types/aws-lambda": "^8.10.82",
|
|
29
29
|
"@types/chance": "^1.1.3",
|
|
30
30
|
"@types/node": "^22.13.10",
|
|
31
|
-
"aws-cdk": "^2.
|
|
32
|
-
"aws-cdk-lib": "^2.
|
|
31
|
+
"aws-cdk": "^2.1010.0",
|
|
32
|
+
"aws-cdk-lib": "^2.190.0",
|
|
33
33
|
"aws-sdk-client-mock": "^4.0.0",
|
|
34
34
|
"aws-sdk-client-mock-jest": "^4.0.0",
|
|
35
35
|
"chance": "^1.1.8",
|
|
36
36
|
"constructs": "^10.0.17",
|
|
37
37
|
"datadog-cdk-constructs-v2": "^2.0.0",
|
|
38
38
|
"pino-pretty": "^13.0.0",
|
|
39
|
-
"skuba": "
|
|
39
|
+
"skuba": "10.2.0-config-20250421023131"
|
|
40
40
|
},
|
|
41
|
-
"packageManager": "pnpm@10.
|
|
41
|
+
"packageManager": "pnpm@10.7.1",
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=22"
|
|
44
44
|
}
|