@qawolf/ci-utils 1.0.0 → 1.1.1

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/README.md CHANGED
@@ -1,3 +1,17 @@
1
1
  # ci-utils
2
2
 
3
3
  A set of utilities to be shared between CI packages.
4
+
5
+ # Changelog
6
+
7
+ ### v1.1.1
8
+
9
+ - Internal ESM-related refactoring
10
+
11
+ ## v1.1.0
12
+
13
+ - Support ESM and CJS
14
+
15
+ ## v1.0.0
16
+
17
+ - Initial release
package/dist/index.cjs ADDED
@@ -0,0 +1,72 @@
1
+ 'use strict';
2
+
3
+ var core = require('@actions/core');
4
+ var zod = require('zod');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var zod__default = /*#__PURE__*/_interopDefault(zod);
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
+
13
+ // src/string.ts
14
+ function stringifyUnknown(value) {
15
+ if (value === null || value === undefined) return "";
16
+ if (typeof value === "string") return value;
17
+ if (value instanceof Error) {
18
+ if ("message" in value && typeof value.message === "string") return value.message;
19
+ return value.toString();
20
+ }
21
+ try {
22
+ const stringified = JSON.stringify(value);
23
+ return !stringified ? "" : stringified;
24
+ } catch {
25
+ return "";
26
+ }
27
+ }
28
+ __name(stringifyUnknown, "stringifyUnknown");
29
+
30
+ // src/log.ts
31
+ var coreLogDriver = {
32
+ error(message, error) {
33
+ core.error(message + (error ? `
34
+ ${stringifyUnknown(error)}` : ""));
35
+ },
36
+ info: core.info,
37
+ warn: core.warning
38
+ };
39
+ var environmentVariablesSchema = zod__default.default.record(zod__default.default.string(), zod__default.default.string());
40
+ var jsonEnvironmentVariablesSchema = zod__default.default.string().transform((str, ctx) => {
41
+ try {
42
+ return JSON.parse(str);
43
+ } catch (error) {
44
+ ctx.addIssue({
45
+ code: "custom",
46
+ message: "input is not a valid JSON-formatted string"
47
+ });
48
+ return;
49
+ }
50
+ }).pipe(environmentVariablesSchema);
51
+ var environmentsMappingSchema = zod__default.default.array(zod__default.default.object({
52
+ environmentAlias: zod__default.default.string(),
53
+ vcsBranch: zod__default.default.string()
54
+ }));
55
+ var jsonEnvironmentsMappingSchema = zod__default.default.string().transform((str, ctx) => {
56
+ try {
57
+ return JSON.parse(str);
58
+ } catch (error) {
59
+ ctx.addIssue({
60
+ code: "custom",
61
+ message: "input is not a valid JSON-formatted string"
62
+ });
63
+ return;
64
+ }
65
+ }).pipe(environmentsMappingSchema);
66
+
67
+ exports.coreLogDriver = coreLogDriver;
68
+ exports.jsonEnvironmentVariablesSchema = jsonEnvironmentVariablesSchema;
69
+ exports.jsonEnvironmentsMappingSchema = jsonEnvironmentsMappingSchema;
70
+ exports.stringifyUnknown = stringifyUnknown;
71
+ //# sourceMappingURL=index.cjs.map
72
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/string.ts","../src/log.ts","../src/types.ts"],"names":["stringifyUnknown","value","undefined","Error","message","toString","stringified","JSON","stringify","coreLogDriver","error","coreError","info","warn","warning","environmentVariablesSchema","zod","record","string","jsonEnvironmentVariablesSchema","transform","str","ctx","parse","addIssue","code","pipe","environmentsMappingSchema","array","object","environmentAlias","vcsBranch","jsonEnvironmentsMappingSchema"],"mappings":";;;;;;;;;;;;;AAAO,SAASA,iBAAiBC,KAAc,EAAA;AAC7C,EAAA,IAAIA,KAAU,KAAA,IAAA,IAAQA,KAAUC,KAAAA,SAAAA,EAAkB,OAAA,EAAA;AAElD,EAAI,IAAA,OAAOD,KAAU,KAAA,QAAA,EAAiBA,OAAAA,KAAAA;AACtC,EAAA,IAAIA,iBAAiBE,KAAO,EAAA;AAC1B,IAAA,IAAI,aAAaF,KAAS,IAAA,OAAOA,MAAMG,OAAY,KAAA,QAAA,SAC1CH,KAAMG,CAAAA,OAAAA;AAEf,IAAA,OAAOH,MAAMI,QAAQ,EAAA;AACvB;AACA,EAAI,IAAA;AACF,IAAMC,MAAAA,WAAAA,GAAcC,IAAKC,CAAAA,SAAAA,CAAUP,KAAAA,CAAAA;AAEnC,IAAO,OAAA,CAACK,cAAc,EAAKA,GAAAA,WAAAA;GACrB,CAAA,MAAA;AACN,IAAO,OAAA,EAAA;AACT;AACF;AAjBgBN,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;;;ACUT,IAAMS,aAA2B,GAAA;AACtCC,EAAAA,KAAAA,CAAMN,SAASM,KAAK,EAAA;AAClBC,IAAAA,UAAAA,CAAUP,WAAWM,KAAQ,GAAA;EAAKV,gBAAiBU,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,GAAW,EAAC,CAAA,CAAA;AACjE,GAAA;AACAE,QAAAA,SAAAA;EACAC,IAAMC,EAAAA;AACR;ACdA,IAAMC,0BAAAA,GAA6BC,qBAAIC,MAAOD,CAAAA,oBAAAA,CAAIE,QAAUF,EAAAA,oBAAAA,CAAIE,QAAM,CAAA;AAE/D,IAAMC,iCAAiCH,oBAC3CE,CAAAA,MAAAA,GACAE,SAAU,CAAA,CAACC,KAAKC,GAAAA,KAAAA;AACf,EAAI,IAAA;AACF,IAAOf,OAAAA,IAAAA,CAAKgB,MAAMF,GAAAA,CAAAA;AACpB,GAAA,CAAA,OAASX,KAAO,EAAA;AACdY,IAAAA,GAAAA,CAAIE,QAAS,CAAA;MACXC,IAAM,EAAA,QAAA;MACNrB,OAAS,EAAA;KACX,CAAA;AACA,IAAA;AACF;AACF,CAAA,CAAA,CACCsB,KAAKX,0BAAAA;AAIR,IAAMY,yBAA4BX,GAAAA,oBAAAA,CAAIY,KACpCZ,CAAAA,oBAAAA,CAAIa,MAAO,CAAA;AACTC,EAAAA,gBAAAA,EAAkBd,qBAAIE,MAAM,EAAA;AAC5Ba,EAAAA,SAAAA,EAAWf,qBAAIE,MAAM;AACvB,CAAA,CAAA,CAAA;AAEK,IAAMc,gCAAgChB,oBAC1CE,CAAAA,MAAAA,GACAE,SAAU,CAAA,CAACC,KAAKC,GAAAA,KAAAA;AACf,EAAI,IAAA;AACF,IAAOf,OAAAA,IAAAA,CAAKgB,MAAMF,GAAAA,CAAAA;AACpB,GAAA,CAAA,OAASX,KAAO,EAAA;AACdY,IAAAA,GAAAA,CAAIE,QAAS,CAAA;MACXC,IAAM,EAAA,QAAA;MACNrB,OAAS,EAAA;KACX,CAAA;AACA,IAAA;AACF;AACF,CAAA,CAAA,CACCsB,KAAKC,yBAAAA","file":"index.cjs","sourcesContent":["export function stringifyUnknown(value: unknown): string {\n if (value === null || value === undefined) return \"\";\n\n if (typeof value === \"string\") return value;\n if (value instanceof Error) {\n if (\"message\" in value && typeof value.message === \"string\")\n return value.message;\n\n return value.toString();\n }\n try {\n const stringified = JSON.stringify(value);\n\n return !stringified ? \"\" : stringified;\n } catch {\n return \"\";\n }\n}\n","import { error as coreError, info, warning } from \"@actions/core\";\n\nimport { stringifyUnknown } from \"./string.js\";\n\nexport type LogDriver = {\n error(message: string, error?: unknown): void;\n info(message: string): void;\n warn(message: string): void;\n};\n\nexport const coreLogDriver: LogDriver = {\n error(message, error) {\n coreError(message + (error ? `\\n${stringifyUnknown(error)}` : \"\"));\n },\n info,\n warn: warning,\n};\n","import zod from \"zod\";\n\nconst environmentVariablesSchema = zod.record(zod.string(), zod.string());\n\nexport const jsonEnvironmentVariablesSchema = zod\n .string()\n .transform((str, ctx): unknown => {\n try {\n return JSON.parse(str);\n } catch (error) {\n ctx.addIssue({\n code: \"custom\",\n message: \"input is not a valid JSON-formatted string\",\n });\n return;\n }\n })\n .pipe(environmentVariablesSchema);\n\nexport type EnvironmentVariables = zod.infer<typeof environmentVariablesSchema>;\n\nconst environmentsMappingSchema = zod.array(\n zod.object({\n environmentAlias: zod.string(),\n vcsBranch: zod.string(),\n }),\n);\nexport const jsonEnvironmentsMappingSchema = zod\n .string()\n .transform((str, ctx): unknown => {\n try {\n return JSON.parse(str);\n } catch (error) {\n ctx.addIssue({\n code: \"custom\",\n message: \"input is not a valid JSON-formatted string\",\n });\n return;\n }\n })\n .pipe(environmentsMappingSchema);\n"]}
@@ -0,0 +1,26 @@
1
+ import zod from 'zod';
2
+
3
+ type LogDriver = {
4
+ error(message: string, error?: unknown): void;
5
+ info(message: string): void;
6
+ warn(message: string): void;
7
+ };
8
+ declare const coreLogDriver: LogDriver;
9
+
10
+ declare function stringifyUnknown(value: unknown): string;
11
+
12
+ declare const environmentVariablesSchema: zod.ZodRecord<zod.ZodString, zod.ZodString>;
13
+ declare const jsonEnvironmentVariablesSchema: zod.ZodPipeline<zod.ZodEffects<zod.ZodString, unknown, string>, zod.ZodRecord<zod.ZodString, zod.ZodString>>;
14
+ type EnvironmentVariables = zod.infer<typeof environmentVariablesSchema>;
15
+ declare const jsonEnvironmentsMappingSchema: zod.ZodPipeline<zod.ZodEffects<zod.ZodString, unknown, string>, zod.ZodArray<zod.ZodObject<{
16
+ environmentAlias: zod.ZodString;
17
+ vcsBranch: zod.ZodString;
18
+ }, "strip", zod.ZodTypeAny, {
19
+ environmentAlias: string;
20
+ vcsBranch: string;
21
+ }, {
22
+ environmentAlias: string;
23
+ vcsBranch: string;
24
+ }>, "many">>;
25
+
26
+ export { type EnvironmentVariables, type LogDriver, coreLogDriver, jsonEnvironmentVariablesSchema, jsonEnvironmentsMappingSchema, stringifyUnknown };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,26 @@
1
- export * from "./types";
2
- export * from "./log";
3
- export * from "./string";
4
- //# sourceMappingURL=index.d.ts.map
1
+ import zod from 'zod';
2
+
3
+ type LogDriver = {
4
+ error(message: string, error?: unknown): void;
5
+ info(message: string): void;
6
+ warn(message: string): void;
7
+ };
8
+ declare const coreLogDriver: LogDriver;
9
+
10
+ declare function stringifyUnknown(value: unknown): string;
11
+
12
+ declare const environmentVariablesSchema: zod.ZodRecord<zod.ZodString, zod.ZodString>;
13
+ declare const jsonEnvironmentVariablesSchema: zod.ZodPipeline<zod.ZodEffects<zod.ZodString, unknown, string>, zod.ZodRecord<zod.ZodString, zod.ZodString>>;
14
+ type EnvironmentVariables = zod.infer<typeof environmentVariablesSchema>;
15
+ declare const jsonEnvironmentsMappingSchema: zod.ZodPipeline<zod.ZodEffects<zod.ZodString, unknown, string>, zod.ZodArray<zod.ZodObject<{
16
+ environmentAlias: zod.ZodString;
17
+ vcsBranch: zod.ZodString;
18
+ }, "strip", zod.ZodTypeAny, {
19
+ environmentAlias: string;
20
+ vcsBranch: string;
21
+ }, {
22
+ environmentAlias: string;
23
+ vcsBranch: string;
24
+ }>, "many">>;
25
+
26
+ export { type EnvironmentVariables, type LogDriver, coreLogDriver, jsonEnvironmentVariablesSchema, jsonEnvironmentsMappingSchema, stringifyUnknown };
package/dist/index.js CHANGED
@@ -1,7 +1,63 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./types"), exports);
5
- tslib_1.__exportStar(require("./log"), exports);
6
- tslib_1.__exportStar(require("./string"), exports);
1
+ import { error, info, warning } from '@actions/core';
2
+ import zod from 'zod';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+
7
+ // src/string.ts
8
+ function stringifyUnknown(value) {
9
+ if (value === null || value === undefined) return "";
10
+ if (typeof value === "string") return value;
11
+ if (value instanceof Error) {
12
+ if ("message" in value && typeof value.message === "string") return value.message;
13
+ return value.toString();
14
+ }
15
+ try {
16
+ const stringified = JSON.stringify(value);
17
+ return !stringified ? "" : stringified;
18
+ } catch {
19
+ return "";
20
+ }
21
+ }
22
+ __name(stringifyUnknown, "stringifyUnknown");
23
+
24
+ // src/log.ts
25
+ var coreLogDriver = {
26
+ error(message, error$1) {
27
+ error(message + (error$1 ? `
28
+ ${stringifyUnknown(error$1)}` : ""));
29
+ },
30
+ info,
31
+ warn: warning
32
+ };
33
+ var environmentVariablesSchema = zod.record(zod.string(), zod.string());
34
+ var jsonEnvironmentVariablesSchema = zod.string().transform((str, ctx) => {
35
+ try {
36
+ return JSON.parse(str);
37
+ } catch (error) {
38
+ ctx.addIssue({
39
+ code: "custom",
40
+ message: "input is not a valid JSON-formatted string"
41
+ });
42
+ return;
43
+ }
44
+ }).pipe(environmentVariablesSchema);
45
+ var environmentsMappingSchema = zod.array(zod.object({
46
+ environmentAlias: zod.string(),
47
+ vcsBranch: zod.string()
48
+ }));
49
+ var jsonEnvironmentsMappingSchema = zod.string().transform((str, ctx) => {
50
+ try {
51
+ return JSON.parse(str);
52
+ } catch (error) {
53
+ ctx.addIssue({
54
+ code: "custom",
55
+ message: "input is not a valid JSON-formatted string"
56
+ });
57
+ return;
58
+ }
59
+ }).pipe(environmentsMappingSchema);
60
+
61
+ export { coreLogDriver, jsonEnvironmentVariablesSchema, jsonEnvironmentsMappingSchema, stringifyUnknown };
62
+ //# sourceMappingURL=index.js.map
7
63
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,gDAAsB;AACtB,mDAAyB"}
1
+ {"version":3,"sources":["../src/string.ts","../src/log.ts","../src/types.ts"],"names":["stringifyUnknown","value","undefined","Error","message","toString","stringified","JSON","stringify","coreLogDriver","error","coreError","info","warn","warning","environmentVariablesSchema","zod","record","string","jsonEnvironmentVariablesSchema","transform","str","ctx","parse","addIssue","code","pipe","environmentsMappingSchema","array","object","environmentAlias","vcsBranch","jsonEnvironmentsMappingSchema"],"mappings":";;;;;;;AAAO,SAASA,iBAAiBC,KAAc,EAAA;AAC7C,EAAA,IAAIA,KAAU,KAAA,IAAA,IAAQA,KAAUC,KAAAA,SAAAA,EAAkB,OAAA,EAAA;AAElD,EAAI,IAAA,OAAOD,KAAU,KAAA,QAAA,EAAiBA,OAAAA,KAAAA;AACtC,EAAA,IAAIA,iBAAiBE,KAAO,EAAA;AAC1B,IAAA,IAAI,aAAaF,KAAS,IAAA,OAAOA,MAAMG,OAAY,KAAA,QAAA,SAC1CH,KAAMG,CAAAA,OAAAA;AAEf,IAAA,OAAOH,MAAMI,QAAQ,EAAA;AACvB;AACA,EAAI,IAAA;AACF,IAAMC,MAAAA,WAAAA,GAAcC,IAAKC,CAAAA,SAAAA,CAAUP,KAAAA,CAAAA;AAEnC,IAAO,OAAA,CAACK,cAAc,EAAKA,GAAAA,WAAAA;GACrB,CAAA,MAAA;AACN,IAAO,OAAA,EAAA;AACT;AACF;AAjBgBN,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;;;ACUT,IAAMS,aAA2B,GAAA;AACtCC,EAAAA,KAAAA,CAAMN,SAASM,OAAK,EAAA;AAClBC,IAAAA,KAAAA,CAAUP,WAAWM,OAAQ,GAAA;EAAKV,gBAAiBU,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,GAAW,EAAC,CAAA,CAAA;AACjE,GAAA;AACAE,EAAAA,IAAAA;EACAC,IAAMC,EAAAA;AACR;ACdA,IAAMC,0BAAAA,GAA6BC,IAAIC,MAAOD,CAAAA,GAAAA,CAAIE,QAAUF,EAAAA,GAAAA,CAAIE,QAAM,CAAA;AAE/D,IAAMC,iCAAiCH,GAC3CE,CAAAA,MAAAA,GACAE,SAAU,CAAA,CAACC,KAAKC,GAAAA,KAAAA;AACf,EAAI,IAAA;AACF,IAAOf,OAAAA,IAAAA,CAAKgB,MAAMF,GAAAA,CAAAA;AACpB,GAAA,CAAA,OAASX,KAAO,EAAA;AACdY,IAAAA,GAAAA,CAAIE,QAAS,CAAA;MACXC,IAAM,EAAA,QAAA;MACNrB,OAAS,EAAA;KACX,CAAA;AACA,IAAA;AACF;AACF,CAAA,CAAA,CACCsB,KAAKX,0BAAAA;AAIR,IAAMY,yBAA4BX,GAAAA,GAAAA,CAAIY,KACpCZ,CAAAA,GAAAA,CAAIa,MAAO,CAAA;AACTC,EAAAA,gBAAAA,EAAkBd,IAAIE,MAAM,EAAA;AAC5Ba,EAAAA,SAAAA,EAAWf,IAAIE,MAAM;AACvB,CAAA,CAAA,CAAA;AAEK,IAAMc,gCAAgChB,GAC1CE,CAAAA,MAAAA,GACAE,SAAU,CAAA,CAACC,KAAKC,GAAAA,KAAAA;AACf,EAAI,IAAA;AACF,IAAOf,OAAAA,IAAAA,CAAKgB,MAAMF,GAAAA,CAAAA;AACpB,GAAA,CAAA,OAASX,KAAO,EAAA;AACdY,IAAAA,GAAAA,CAAIE,QAAS,CAAA;MACXC,IAAM,EAAA,QAAA;MACNrB,OAAS,EAAA;KACX,CAAA;AACA,IAAA;AACF;AACF,CAAA,CAAA,CACCsB,KAAKC,yBAAAA","file":"index.js","sourcesContent":["export function stringifyUnknown(value: unknown): string {\n if (value === null || value === undefined) return \"\";\n\n if (typeof value === \"string\") return value;\n if (value instanceof Error) {\n if (\"message\" in value && typeof value.message === \"string\")\n return value.message;\n\n return value.toString();\n }\n try {\n const stringified = JSON.stringify(value);\n\n return !stringified ? \"\" : stringified;\n } catch {\n return \"\";\n }\n}\n","import { error as coreError, info, warning } from \"@actions/core\";\n\nimport { stringifyUnknown } from \"./string.js\";\n\nexport type LogDriver = {\n error(message: string, error?: unknown): void;\n info(message: string): void;\n warn(message: string): void;\n};\n\nexport const coreLogDriver: LogDriver = {\n error(message, error) {\n coreError(message + (error ? `\\n${stringifyUnknown(error)}` : \"\"));\n },\n info,\n warn: warning,\n};\n","import zod from \"zod\";\n\nconst environmentVariablesSchema = zod.record(zod.string(), zod.string());\n\nexport const jsonEnvironmentVariablesSchema = zod\n .string()\n .transform((str, ctx): unknown => {\n try {\n return JSON.parse(str);\n } catch (error) {\n ctx.addIssue({\n code: \"custom\",\n message: \"input is not a valid JSON-formatted string\",\n });\n return;\n }\n })\n .pipe(environmentVariablesSchema);\n\nexport type EnvironmentVariables = zod.infer<typeof environmentVariablesSchema>;\n\nconst environmentsMappingSchema = zod.array(\n zod.object({\n environmentAlias: zod.string(),\n vcsBranch: zod.string(),\n }),\n);\nexport const jsonEnvironmentsMappingSchema = zod\n .string()\n .transform((str, ctx): unknown => {\n try {\n return JSON.parse(str);\n } catch (error) {\n ctx.addIssue({\n code: \"custom\",\n message: \"input is not a valid JSON-formatted string\",\n });\n return;\n }\n })\n .pipe(environmentsMappingSchema);\n"]}
package/package.json CHANGED
@@ -1,25 +1,43 @@
1
1
  {
2
2
  "name": "@qawolf/ci-utils",
3
- "version": "1.0.0",
4
- "type": "commonjs",
5
- "main": "dist/index.js",
6
- "engines": {
7
- "node": "^16 || ^18 || ^20 || >=22"
3
+ "version": "1.1.1",
4
+ "license": "MIT",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "require": "./dist/index.cjs",
10
+ "import": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
8
13
  },
14
+ "main": "./dist/index.cjs",
15
+ "module": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "files": [
18
+ "/dist",
19
+ "/README.md"
20
+ ],
9
21
  "scripts": {
10
- "build": "tsc -p tsconfig.build.json",
11
- "build:clean": "tsc --build --clean && rm -rf ./dist",
12
- "lint": "eslint . --ext js,jsx,mjs,ts,tsx --max-warnings=0 && prettier --check .",
13
- "lint:fix": "eslint . --ext js,jsx,mjs,ts,tsx --fix --max-warnings=0 && prettier --write .",
14
- "test": "jest --passWithNoTests",
22
+ "build": "tsup src/index.ts --format esm,cjs --dts --clean --splitting --treeshake --sourcemap --outDir dist --target es2022",
23
+ "gen": "npm run build",
24
+ "lint": "cycle-import-scan . && eslint . --ext js,jsx,mjs,ts,tsx --quiet && prettier --check .",
25
+ "lint:fix": "eslint . --ext js,jsx,mjs,ts,tsx --fix --quiet && prettier --log-level=warn --write .",
26
+ "lint:warnings": "eslint . --ext js,jsx,mjs,ts,tsx",
27
+ "prepublishOnly": "nx run ci-utils:build",
28
+ "test": "NODE_OPTIONS=\"--experimental-vm-modules\" NODE_NO_WARNINGS=1 jest --passWithNoTests",
15
29
  "test:watch": "npm run test -- --watch",
16
- "tsc:check": "tsc",
17
- "gen": "npm run build"
30
+ "tsc:check": "tsc"
18
31
  },
19
32
  "dependencies": {
20
33
  "@actions/core": "^1.10.1",
21
34
  "tslib": "^2.5.3",
22
- "zod": "^3.22.4"
35
+ "zod": "^3.23.8"
36
+ },
37
+ "devDependencies": {
38
+ "tsup": "8.3.5"
23
39
  },
24
- "license": "MIT"
40
+ "engines": {
41
+ "node": "^16 || ^18 || ^20 || >=22"
42
+ }
25
43
  }
package/.eslintrc.json DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * ESLint config files allow comments, so please comment all changes you make here.
3
- * Unless you are changing a rule for reasons very specific to this project, you
4
- * should consider making the change in our @qawolf base config instead. There is
5
- * also a `.eslintrc.json` file in this repo root folder for any rules that we want
6
- * in this repo but not necessarily in other repos that use our @qawolf base config.
7
- */
8
- {
9
- "root": true,
10
- "rules": {},
11
- "extends": ["@qawolf", "../../.eslintrc.json"],
12
- "ignorePatterns": ["!**/*", "/**/*.js", "/**/*.d.ts", "dist", "node_modules"]
13
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
package/dist/log.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export interface LogDriver {
2
- error(message: string, error?: unknown): void;
3
- info(message: string): void;
4
- warn(message: string): void;
5
- }
6
- export declare const coreLogDriver: LogDriver;
7
- //# sourceMappingURL=log.d.ts.map
package/dist/log.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,EAAE,SAM3B,CAAC"}
package/dist/log.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.coreLogDriver = void 0;
4
- const core_1 = require("@actions/core");
5
- const string_1 = require("./string");
6
- exports.coreLogDriver = {
7
- error(message, error) {
8
- (0, core_1.error)(message + (error ? `\n${(0, string_1.stringifyUnknown)(error)}` : ""));
9
- },
10
- info: core_1.info,
11
- warn: core_1.warning,
12
- };
13
- //# sourceMappingURL=log.js.map
package/dist/log.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":";;;AAAA,wCAAkE;AAElE,qCAA4C;AAQ/B,QAAA,aAAa,GAAc;IACtC,KAAK,CAAC,OAAO,EAAE,KAAK;QAClB,IAAA,YAAS,EAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAA,yBAAgB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,EAAJ,WAAI;IACJ,IAAI,EAAE,cAAO;CACd,CAAC"}
package/dist/string.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function stringifyUnknown(value: unknown): string;
2
- //# sourceMappingURL=string.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAkBvD"}
package/dist/string.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stringifyUnknown = stringifyUnknown;
4
- function stringifyUnknown(value) {
5
- if (value === null || value === undefined) {
6
- return "";
7
- }
8
- if (typeof value === "string")
9
- return value;
10
- if (value instanceof Error) {
11
- if ("message" in value && typeof value.message === "string") {
12
- return value.message;
13
- }
14
- return value.toString();
15
- }
16
- try {
17
- const stringified = JSON.stringify(value);
18
- return !stringified ? "" : stringified;
19
- }
20
- catch {
21
- return "";
22
- }
23
- }
24
- //# sourceMappingURL=string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":";;AAAA,4CAkBC;AAlBD,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE1C,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
package/dist/types.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import zod from "zod";
2
- declare const environmentVariablesSchema: zod.ZodRecord<zod.ZodString, zod.ZodString>;
3
- export declare const jsonEnvironmentVariablesSchema: zod.ZodPipeline<zod.ZodEffects<zod.ZodString, unknown, string>, zod.ZodRecord<zod.ZodString, zod.ZodString>>;
4
- export type EnvironmentVariables = zod.infer<typeof environmentVariablesSchema>;
5
- export declare const jsonEnvironmentsMappingSchema: zod.ZodPipeline<zod.ZodEffects<zod.ZodString, unknown, string>, zod.ZodArray<zod.ZodObject<{
6
- environmentAlias: zod.ZodString;
7
- vcsBranch: zod.ZodString;
8
- }, "strip", zod.ZodTypeAny, {
9
- environmentAlias: string;
10
- vcsBranch: string;
11
- }, {
12
- environmentAlias: string;
13
- vcsBranch: string;
14
- }>, "many">>;
15
- export {};
16
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,QAAA,MAAM,0BAA0B,6CAAyC,CAAC;AAE1E,eAAO,MAAM,8BAA8B,8GAaR,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAQhF,eAAO,MAAM,6BAA6B;;;;;;;;;YAaR,CAAC"}
package/dist/types.js DELETED
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsonEnvironmentsMappingSchema = exports.jsonEnvironmentVariablesSchema = void 0;
4
- const tslib_1 = require("tslib");
5
- const zod_1 = tslib_1.__importDefault(require("zod"));
6
- const environmentVariablesSchema = zod_1.default.record(zod_1.default.string(), zod_1.default.string());
7
- exports.jsonEnvironmentVariablesSchema = zod_1.default
8
- .string()
9
- .transform((str, ctx) => {
10
- try {
11
- return JSON.parse(str);
12
- }
13
- catch (error) {
14
- ctx.addIssue({
15
- code: "custom",
16
- message: "input is not a valid JSON-formatted string",
17
- });
18
- return;
19
- }
20
- })
21
- .pipe(environmentVariablesSchema);
22
- const environmentsMappingSchema = zod_1.default.array(zod_1.default.object({
23
- environmentAlias: zod_1.default.string(),
24
- vcsBranch: zod_1.default.string(),
25
- }));
26
- exports.jsonEnvironmentsMappingSchema = zod_1.default
27
- .string()
28
- .transform((str, ctx) => {
29
- try {
30
- return JSON.parse(str);
31
- }
32
- catch (error) {
33
- ctx.addIssue({
34
- code: "custom",
35
- message: "input is not a valid JSON-formatted string",
36
- });
37
- return;
38
- }
39
- })
40
- .pipe(environmentsMappingSchema);
41
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;AAAA,sDAAsB;AAEtB,MAAM,0BAA0B,GAAG,aAAG,CAAC,MAAM,CAAC,aAAG,CAAC,MAAM,EAAE,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,CAAC;AAE7D,QAAA,8BAA8B,GAAG,aAAG;KAC9C,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAW,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;AACH,CAAC,CAAC;KACD,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAIpC,MAAM,yBAAyB,GAAG,aAAG,CAAC,KAAK,CACzC,aAAG,CAAC,MAAM,CAAC;IACT,gBAAgB,EAAE,aAAG,CAAC,MAAM,EAAE;IAC9B,SAAS,EAAE,aAAG,CAAC,MAAM,EAAE;CACxB,CAAC,CACH,CAAC;AACW,QAAA,6BAA6B,GAAG,aAAG;KAC7C,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAW,EAAE;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;AACH,CAAC,CAAC;KACD,IAAI,CAAC,yBAAyB,CAAC,CAAC"}
package/jest.config.ts DELETED
@@ -1,8 +0,0 @@
1
- import { type Config } from "jest";
2
-
3
- const config: Config = {
4
- displayName: "ci-utils",
5
- preset: "../../jest.preset.js",
6
- };
7
-
8
- export default config;
package/project.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
3
- "name": "ci-utils",
4
- "projectType": "library",
5
- "sourceRoot": "packages/ci-utils/src"
6
- }
package/src/index.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from "./types";
2
- export * from "./log";
3
- export * from "./string";
package/src/log.ts DELETED
@@ -1,17 +0,0 @@
1
- import { error as coreError, info, warning } from "@actions/core";
2
-
3
- import { stringifyUnknown } from "./string";
4
-
5
- export interface LogDriver {
6
- error(message: string, error?: unknown): void;
7
- info(message: string): void;
8
- warn(message: string): void;
9
- }
10
-
11
- export const coreLogDriver: LogDriver = {
12
- error(message, error) {
13
- coreError(message + (error ? `\n${stringifyUnknown(error)}` : ""));
14
- },
15
- info,
16
- warn: warning,
17
- };
package/src/string.ts DELETED
@@ -1,19 +0,0 @@
1
- export function stringifyUnknown(value: unknown): string {
2
- if (value === null || value === undefined) {
3
- return "";
4
- }
5
- if (typeof value === "string") return value;
6
- if (value instanceof Error) {
7
- if ("message" in value && typeof value.message === "string") {
8
- return value.message;
9
- }
10
- return value.toString();
11
- }
12
- try {
13
- const stringified = JSON.stringify(value);
14
-
15
- return !stringified ? "" : stringified;
16
- } catch {
17
- return "";
18
- }
19
- }
package/src/types.test.ts DELETED
@@ -1,58 +0,0 @@
1
- import {
2
- jsonEnvironmentsMappingSchema,
3
- jsonEnvironmentVariablesSchema,
4
- } from "./types";
5
-
6
- describe("types", () => {
7
- describe("jsonEnvironmentVariablesSchema", () => {
8
- it("should fail to parse malformed JSON", () => {
9
- const result = jsonEnvironmentVariablesSchema.safeParse("{");
10
- expect(result.success).toBe(false);
11
- });
12
- it("should succeed to parse well formatted JSON object string-string dictionary", () => {
13
- const result = jsonEnvironmentVariablesSchema.safeParse(
14
- JSON.stringify({
15
- foo: "bar",
16
- }),
17
- );
18
- expect(result.success).toBe(true);
19
- });
20
- it("should fail to parse well formatted JSON which is not an object", () => {
21
- const result = jsonEnvironmentVariablesSchema.safeParse(
22
- JSON.stringify("Hello world"),
23
- );
24
- expect(result.success).toBe(false);
25
- });
26
-
27
- it("should fail to parse well formatted JSON which is not a dictionary of string-string", () => {
28
- const result = jsonEnvironmentVariablesSchema.safeParse(
29
- JSON.stringify({ foo: 1 }),
30
- );
31
- expect(result.success).toBe(false);
32
- });
33
- });
34
-
35
- describe("jsonEnvironmentsMappingSchema", () => {
36
- it("fails with invalid JSON", () => {
37
- const result = jsonEnvironmentsMappingSchema.safeParse("{");
38
- expect(result.success).toBe(false);
39
- });
40
- it("succeeds with valid JSON w/ correct schema", () => {
41
- const result = jsonEnvironmentsMappingSchema.safeParse(
42
- JSON.stringify([
43
- {
44
- environmentAlias: "foo",
45
- vcsBranch: "bar",
46
- },
47
- ]),
48
- );
49
- expect(result.success).toBe(true);
50
- });
51
- it("fails with valid JSON w/ incorrect schema", () => {
52
- const result = jsonEnvironmentsMappingSchema.safeParse(
53
- JSON.stringify([{ invalid: "schema" }]),
54
- );
55
- expect(result.success).toBe(false);
56
- });
57
- });
58
- });
package/src/types.ts DELETED
@@ -1,41 +0,0 @@
1
- import zod from "zod";
2
-
3
- const environmentVariablesSchema = zod.record(zod.string(), zod.string());
4
-
5
- export const jsonEnvironmentVariablesSchema = zod
6
- .string()
7
- .transform((str, ctx): unknown => {
8
- try {
9
- return JSON.parse(str);
10
- } catch (error) {
11
- ctx.addIssue({
12
- code: "custom",
13
- message: "input is not a valid JSON-formatted string",
14
- });
15
- return;
16
- }
17
- })
18
- .pipe(environmentVariablesSchema);
19
-
20
- export type EnvironmentVariables = zod.infer<typeof environmentVariablesSchema>;
21
-
22
- const environmentsMappingSchema = zod.array(
23
- zod.object({
24
- environmentAlias: zod.string(),
25
- vcsBranch: zod.string(),
26
- }),
27
- );
28
- export const jsonEnvironmentsMappingSchema = zod
29
- .string()
30
- .transform((str, ctx): unknown => {
31
- try {
32
- return JSON.parse(str);
33
- } catch (error) {
34
- ctx.addIssue({
35
- code: "custom",
36
- message: "input is not a valid JSON-formatted string",
37
- });
38
- return;
39
- }
40
- })
41
- .pipe(environmentsMappingSchema);
@@ -1,13 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/tsconfig",
3
- "extends": "./tsconfig.json",
4
- "compilerOptions": {
5
- "declaration": true,
6
- "declarationMap": true,
7
- "noEmit": false,
8
- "outDir": "dist",
9
- "rootDir": "src"
10
- },
11
- "include": ["src/**/*.ts", "src/**/*.tsx"],
12
- "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"]
13
- }
package/tsconfig.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/tsconfig",
3
- "extends": "../../tsconfig.base.json",
4
- "compilerOptions": {
5
- "rootDir": "."
6
- },
7
- "include": ["./**/*.ts", "./**/*.tsx"],
8
- "exclude": ["dist", "node_modules"]
9
- }