skuba 3.15.1 → 3.16.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.
Files changed (128) hide show
  1. package/README.md +61 -2
  2. package/lib/api/github/checkRun.d.ts +22 -0
  3. package/lib/api/github/checkRun.js +111 -0
  4. package/lib/api/github/checkRun.js.map +1 -0
  5. package/lib/api/github/environment.d.ts +3 -0
  6. package/lib/api/github/environment.js +21 -0
  7. package/lib/api/github/environment.js.map +1 -0
  8. package/lib/api/github/index.d.ts +2 -0
  9. package/lib/api/github/index.js +6 -0
  10. package/lib/api/github/index.js.map +1 -0
  11. package/lib/api/jest/index.d.ts +1 -1
  12. package/lib/api/jest/index.js.map +1 -1
  13. package/lib/cli/adapter/eslint.d.ts +7 -0
  14. package/lib/cli/adapter/eslint.js +21 -9
  15. package/lib/cli/adapter/eslint.js.map +1 -1
  16. package/lib/cli/adapter/prettier.d.ts +1 -4
  17. package/lib/cli/adapter/prettier.js +18 -20
  18. package/lib/cli/adapter/prettier.js.map +1 -1
  19. package/lib/cli/configure/analysis/git.d.ts +1 -1
  20. package/lib/cli/configure/analysis/git.js +11 -17
  21. package/lib/cli/configure/analysis/git.js.map +1 -1
  22. package/lib/cli/configure/index.js +2 -2
  23. package/lib/cli/configure/index.js.map +1 -1
  24. package/lib/cli/configure/processing/record.d.ts +2 -2
  25. package/lib/cli/configure/processing/record.js +2 -2
  26. package/lib/cli/configure/processing/record.js.map +1 -1
  27. package/lib/cli/configure/refreshIgnoreFiles.d.ts +2 -0
  28. package/lib/cli/configure/refreshIgnoreFiles.js +55 -0
  29. package/lib/cli/configure/refreshIgnoreFiles.js.map +1 -0
  30. package/lib/cli/format.js +2 -0
  31. package/lib/cli/format.js.map +1 -1
  32. package/lib/cli/init/getConfig.d.ts +1 -1
  33. package/lib/cli/init/git.d.ts +2 -3
  34. package/lib/cli/init/git.js +41 -10
  35. package/lib/cli/init/git.js.map +1 -1
  36. package/lib/cli/init/index.js +3 -3
  37. package/lib/cli/init/index.js.map +1 -1
  38. package/lib/cli/lint/annotate/buildkite/eslint.d.ts +2 -0
  39. package/lib/cli/lint/annotate/buildkite/eslint.js +26 -0
  40. package/lib/cli/lint/annotate/buildkite/eslint.js.map +1 -0
  41. package/lib/cli/lint/annotate/buildkite/index.d.ts +4 -0
  42. package/lib/cli/lint/annotate/buildkite/index.js +53 -0
  43. package/lib/cli/lint/annotate/buildkite/index.js.map +1 -0
  44. package/lib/cli/lint/annotate/buildkite/prettier.d.ts +2 -0
  45. package/lib/cli/lint/annotate/buildkite/prettier.js +33 -0
  46. package/lib/cli/lint/annotate/buildkite/prettier.js.map +1 -0
  47. package/lib/cli/lint/annotate/buildkite/tsc.d.ts +2 -0
  48. package/lib/cli/lint/annotate/buildkite/tsc.js +37 -0
  49. package/lib/cli/lint/annotate/buildkite/tsc.js.map +1 -0
  50. package/lib/cli/lint/annotate/github/eslint.d.ts +3 -0
  51. package/lib/cli/lint/annotate/github/eslint.js +13 -0
  52. package/lib/cli/lint/annotate/github/eslint.js.map +1 -0
  53. package/lib/cli/lint/annotate/github/index.d.ts +4 -0
  54. package/lib/cli/lint/annotate/github/index.js +61 -0
  55. package/lib/cli/lint/annotate/github/index.js.map +1 -0
  56. package/lib/cli/lint/annotate/github/prettier.d.ts +3 -0
  57. package/lib/cli/lint/annotate/github/prettier.js +16 -0
  58. package/lib/cli/lint/annotate/github/prettier.js.map +1 -0
  59. package/lib/cli/lint/annotate/github/tsc.d.ts +3 -0
  60. package/lib/cli/lint/annotate/github/tsc.js +59 -0
  61. package/lib/cli/lint/annotate/github/tsc.js.map +1 -0
  62. package/lib/cli/lint/annotate/index.d.ts +4 -0
  63. package/lib/cli/lint/annotate/index.js +22 -0
  64. package/lib/cli/lint/annotate/index.js.map +1 -0
  65. package/lib/cli/lint/external.d.ts +7 -0
  66. package/lib/cli/lint/external.js +38 -41
  67. package/lib/cli/lint/external.js.map +1 -1
  68. package/lib/cli/lint/index.d.ts +1 -1
  69. package/lib/cli/lint/index.js +4 -1
  70. package/lib/cli/lint/index.js.map +1 -1
  71. package/lib/cli/lint/types.d.ts +10 -1
  72. package/lib/index.d.ts +1 -0
  73. package/lib/index.js +2 -1
  74. package/lib/index.js.map +1 -1
  75. package/lib/utils/args.d.ts +1 -1
  76. package/lib/utils/exec.d.ts +2 -1
  77. package/lib/utils/exec.js.map +1 -1
  78. package/lib/utils/logging.d.ts +1 -2
  79. package/lib/utils/logging.js +3 -2
  80. package/lib/utils/logging.js.map +1 -1
  81. package/lib/utils/worker.d.ts +0 -1
  82. package/lib/wrapper/functionHandler.js +8 -0
  83. package/lib/wrapper/functionHandler.js.map +1 -1
  84. package/lib/wrapper/http.js +11 -7
  85. package/lib/wrapper/http.js.map +1 -1
  86. package/package.json +17 -11
  87. package/template/base/_.gitignore +1 -0
  88. package/template/base/_.prettierignore +2 -0
  89. package/template/express-rest-api/.buildkite/pipeline.yml +4 -4
  90. package/template/express-rest-api/.nvmrc +1 -1
  91. package/template/express-rest-api/Dockerfile +1 -1
  92. package/template/express-rest-api/Dockerfile.dev-deps +1 -1
  93. package/template/express-rest-api/README.md +0 -12
  94. package/template/express-rest-api/docker-compose.yml +4 -2
  95. package/template/express-rest-api/package.json +5 -5
  96. package/template/express-rest-api/src/framework/logging.ts +2 -1
  97. package/template/greeter/.buildkite/pipeline.yml +1 -1
  98. package/template/greeter/.nvmrc +1 -1
  99. package/template/greeter/Dockerfile +1 -1
  100. package/template/greeter/README.md +0 -12
  101. package/template/greeter/docker-compose.yml +4 -2
  102. package/template/greeter/package.json +2 -2
  103. package/template/koa-rest-api/.buildkite/pipeline.yml +4 -4
  104. package/template/koa-rest-api/.nvmrc +1 -1
  105. package/template/koa-rest-api/Dockerfile +1 -1
  106. package/template/koa-rest-api/Dockerfile.dev-deps +1 -1
  107. package/template/koa-rest-api/README.md +0 -12
  108. package/template/koa-rest-api/docker-compose.yml +4 -2
  109. package/template/koa-rest-api/package.json +11 -11
  110. package/template/koa-rest-api/src/framework/logging.ts +2 -1
  111. package/template/lambda-sqs-worker/.buildkite/pipeline.yml +2 -2
  112. package/template/lambda-sqs-worker/README.md +0 -12
  113. package/template/lambda-sqs-worker/docker-compose.yml +3 -1
  114. package/template/lambda-sqs-worker/package.json +9 -9
  115. package/template/lambda-sqs-worker/serverless.yml +6 -2
  116. package/template/lambda-sqs-worker/src/framework/handler.ts +2 -2
  117. package/template/lambda-sqs-worker/src/framework/logging.ts +2 -1
  118. package/template/lambda-sqs-worker-cdk/.buildkite/pipeline.yml +2 -2
  119. package/template/lambda-sqs-worker-cdk/docker-compose.yml +3 -1
  120. package/template/lambda-sqs-worker-cdk/package.json +2 -2
  121. package/template/oss-npm-package/.github/workflows/release.yml +2 -2
  122. package/template/oss-npm-package/.github/workflows/validate.yml +2 -2
  123. package/template/oss-npm-package/.nvmrc +1 -1
  124. package/template/oss-npm-package/README.md +0 -14
  125. package/template/oss-npm-package/_package.json +1 -1
  126. package/template/private-npm-package/.nvmrc +1 -1
  127. package/template/private-npm-package/README.md +0 -14
  128. package/template/private-npm-package/_package.json +1 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.tryRefreshIgnoreFiles = exports.refreshIgnoreFiles = void 0;
16
+ const path_1 = __importDefault(require("path"));
17
+ const fs_extra_1 = __importDefault(require("fs-extra"));
18
+ const logging_1 = require("../../utils/logging");
19
+ const template_1 = require("../../utils/template");
20
+ const package_1 = require("./analysis/package");
21
+ const project_1 = require("./analysis/project");
22
+ const ignoreFile_1 = require("./processing/ignoreFile");
23
+ const refreshIgnoreFiles = () => __awaiter(void 0, void 0, void 0, function* () {
24
+ const manifest = yield (0, package_1.getDestinationManifest)();
25
+ const destinationRoot = path_1.default.dirname(manifest.path);
26
+ const readDestinationFile = (0, project_1.createDestinationFileReader)(destinationRoot);
27
+ const refreshIgnoreFile = (filename) => __awaiter(void 0, void 0, void 0, function* () {
28
+ const [inputFile, templateFile] = yield Promise.all([
29
+ readDestinationFile(filename),
30
+ (0, template_1.readBaseTemplateFile)(`_${filename}`),
31
+ ]);
32
+ const data = inputFile
33
+ ? (0, ignoreFile_1.mergeWithIgnoreFile)(templateFile)(inputFile)
34
+ : templateFile;
35
+ const filepath = path_1.default.join(destinationRoot, filename);
36
+ yield fs_extra_1.default.promises.writeFile(filepath, data);
37
+ });
38
+ yield Promise.all([
39
+ refreshIgnoreFile('.eslintignore'),
40
+ refreshIgnoreFile('.gitignore'),
41
+ refreshIgnoreFile('.prettierignore'),
42
+ ]);
43
+ });
44
+ exports.refreshIgnoreFiles = refreshIgnoreFiles;
45
+ const tryRefreshIgnoreFiles = () => __awaiter(void 0, void 0, void 0, function* () {
46
+ try {
47
+ yield (0, exports.refreshIgnoreFiles)();
48
+ }
49
+ catch (err) {
50
+ logging_1.log.warn('Failed to refresh ignore files.');
51
+ logging_1.log.warn(err);
52
+ }
53
+ });
54
+ exports.tryRefreshIgnoreFiles = tryRefreshIgnoreFiles;
55
+ //# sourceMappingURL=refreshIgnoreFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refreshIgnoreFiles.js","sourceRoot":"","sources":["../../../src/cli/configure/refreshIgnoreFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,iDAA0C;AAC1C,mDAA4D;AAE5D,gDAA4D;AAC5D,gDAAiE;AACjE,wDAA8D;AAEvD,MAAM,kBAAkB,GAAG,GAAS,EAAE;IAC3C,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAsB,GAAE,CAAC;IAEhD,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,mBAAmB,GAAG,IAAA,qCAA2B,EAAC,eAAe,CAAC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,CAAO,QAAgB,EAAE,EAAE;QACnD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClD,mBAAmB,CAAC,QAAQ,CAAC;YAC7B,IAAA,+BAAoB,EAAC,IAAI,QAAQ,EAAE,CAAC;SACrC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,SAAS;YACpB,CAAC,CAAC,IAAA,gCAAmB,EAAC,YAAY,CAAC,CAAC,SAAS,CAAC;YAC9C,CAAC,CAAC,YAAY,CAAC;QAEjB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,kBAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,iBAAiB,CAAC,eAAe,CAAC;QAClC,iBAAiB,CAAC,YAAY,CAAC;QAC/B,iBAAiB,CAAC,iBAAiB,CAAC;KACrC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AA3BW,QAAA,kBAAkB,sBA2B7B;AAEK,MAAM,qBAAqB,GAAG,GAAS,EAAE;IAC9C,IAAI;QACF,MAAM,IAAA,0BAAkB,GAAE,CAAC;KAC5B;IAAC,OAAO,GAAG,EAAE;QACZ,aAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC5C,aAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACf;AACH,CAAC,CAAA,CAAC;AAPW,QAAA,qBAAqB,yBAOhC"}
package/lib/cli/format.js CHANGED
@@ -18,7 +18,9 @@ const args_1 = require("../utils/args");
18
18
  const logging_1 = require("../utils/logging");
19
19
  const eslint_1 = require("./adapter/eslint");
20
20
  const prettier_1 = require("./adapter/prettier");
21
+ const refreshIgnoreFiles_1 = require("./configure/refreshIgnoreFiles");
21
22
  const format = (args = process.argv) => __awaiter(void 0, void 0, void 0, function* () {
23
+ yield (0, refreshIgnoreFiles_1.tryRefreshIgnoreFiles)();
22
24
  const debug = (0, args_1.hasDebugFlag)(args);
23
25
  logging_1.log.plain(chalk_1.default.magenta('ESLint'));
24
26
  const eslint = yield (0, eslint_1.runESLint)('format', (0, logging_1.createLogger)(debug));
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,wCAA6C;AAC7C,8CAAqD;AAErD,6CAA6C;AAC7C,iDAAiD;AAE1C,MAAM,MAAM,GAAG,CAAO,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE;IAClD,MAAM,KAAK,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IAEjC,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAE9D,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KACrC,CAAC;IAEF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAE/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC;AAzBW,QAAA,MAAM,UAyBjB"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/cli/format.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,wCAA6C;AAC7C,8CAAqD;AAErD,6CAA6C;AAC7C,iDAAiD;AACjD,uEAAuE;AAEhE,MAAM,MAAM,GAAG,CAAO,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE;IAClD,MAAM,IAAA,0CAAqB,GAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,CAAC;IAEjC,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAS,EAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAE9D,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,QAAQ,EAAE,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KACrC,CAAC;IAEF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;IAE/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAA,CAAC;AA3BW,QAAA,MAAM,UA2BjB"}
@@ -21,6 +21,6 @@ export declare const getConfig: () => Promise<{
21
21
  } & {
22
22
  [x: string]: string;
23
23
  };
24
- type?: "application" | "package" | undefined;
24
+ type?: "package" | "application" | undefined;
25
25
  entryPoint?: string | undefined;
26
26
  }>;
@@ -1,9 +1,8 @@
1
- import { Exec } from '../../utils/exec';
2
1
  interface GitHubProject {
3
2
  orgName: string;
4
3
  repoName: string;
5
4
  }
6
- export declare const initialiseRepo: (exec: Exec, { orgName, repoName }: GitHubProject) => Promise<void>;
7
- export declare const commitChanges: (exec: Exec, message: string) => Promise<void>;
5
+ export declare const initialiseRepo: (dir: string, { orgName, repoName }: GitHubProject) => Promise<void>;
6
+ export declare const commitChanges: (dir: string, message: string) => Promise<void>;
8
7
  export declare const downloadGitHubTemplate: (gitHubPath: string, destinationDir: string) => Promise<void>;
9
8
  export {};
@@ -15,24 +15,55 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.downloadGitHubTemplate = exports.commitChanges = exports.initialiseRepo = void 0;
16
16
  const path_1 = __importDefault(require("path"));
17
17
  const fs_extra_1 = __importDefault(require("fs-extra"));
18
- const exec_1 = require("../../utils/exec");
18
+ const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
19
+ const node_1 = __importDefault(require("isomorphic-git/http/node"));
20
+ const dir_1 = require("../../utils/dir");
19
21
  const logging_1 = require("../../utils/logging");
20
- const initialiseRepo = (exec, { orgName, repoName }) => __awaiter(void 0, void 0, void 0, function* () {
21
- yield exec('git', 'init');
22
- yield exec('git', '-c', 'user.email=<>', '-c', 'user.name=skuba', 'commit', '--allow-empty', '--author', 'skuba <>', '--message', 'Initial commit', '--quiet');
23
- yield exec('git', 'remote', 'add', 'origin', `git@github.com:${orgName}/${repoName}.git`);
22
+ const initialiseRepo = (dir, { orgName, repoName }) => __awaiter(void 0, void 0, void 0, function* () {
23
+ yield isomorphic_git_1.default.init({
24
+ // TODO: support main as an alternative.
25
+ defaultBranch: 'master',
26
+ dir,
27
+ fs: fs_extra_1.default,
28
+ });
29
+ yield isomorphic_git_1.default.commit({
30
+ author: { name: 'skuba' },
31
+ committer: { name: 'skuba' },
32
+ dir,
33
+ fs: fs_extra_1.default,
34
+ message: 'Initial commit',
35
+ });
36
+ yield isomorphic_git_1.default.addRemote({
37
+ dir,
38
+ fs: fs_extra_1.default,
39
+ remote: 'origin',
40
+ url: `git@github.com:${orgName}/${repoName}.git`,
41
+ });
24
42
  });
25
43
  exports.initialiseRepo = initialiseRepo;
26
- const commitChanges = (exec, message) => __awaiter(void 0, void 0, void 0, function* () {
27
- yield exec('git', 'add', '--all');
28
- yield exec('git', '-c', 'user.email=<>', '-c', 'user.name=skuba', 'commit', '--author', 'skuba <>', '--message', message, '--quiet');
44
+ const commitChanges = (dir, message) => __awaiter(void 0, void 0, void 0, function* () {
45
+ const filepaths = yield (0, dir_1.crawlDirectory)(dir);
46
+ yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.add({ dir, filepath, fs: fs_extra_1.default })));
47
+ yield isomorphic_git_1.default.commit({
48
+ author: { name: 'skuba' },
49
+ committer: { name: 'skuba' },
50
+ dir,
51
+ fs: fs_extra_1.default,
52
+ message,
53
+ });
29
54
  });
30
55
  exports.commitChanges = commitChanges;
31
56
  const downloadGitHubTemplate = (gitHubPath, destinationDir) => __awaiter(void 0, void 0, void 0, function* () {
32
- const exec = (0, exec_1.createExec)({ cwd: destinationDir });
33
57
  logging_1.log.newline();
34
58
  logging_1.log.plain('Downloading', logging_1.log.bold(gitHubPath), 'from GitHub...');
35
- yield exec('git', 'clone', '--depth=1', '--quiet', `git@github.com:${gitHubPath}.git`, '.');
59
+ yield isomorphic_git_1.default.clone({
60
+ depth: 1,
61
+ dir: destinationDir,
62
+ fs: fs_extra_1.default,
63
+ http: node_1.default,
64
+ singleBranch: true,
65
+ url: `git@github.com:${gitHubPath}.git`,
66
+ });
36
67
  yield fs_extra_1.default.promises.rm(path_1.default.join(destinationDir, '.git'), {
37
68
  force: true,
38
69
  recursive: true,
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,2CAAoD;AACpD,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,IAAU,EACV,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE1B,MAAM,IAAI,CACR,KAAK,EACL,IAAI,EACJ,eAAe,EACf,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,MAAM,IAAI,CACR,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,kBAAkB,OAAO,IAAI,QAAQ,MAAM,CAC5C,CAAC;AACJ,CAAC,CAAA,CAAC;AA5BW,QAAA,cAAc,kBA4BzB;AAEK,MAAM,aAAa,GAAG,CAAO,IAAU,EAAE,OAAe,EAAE,EAAE;IACjE,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAElC,MAAM,IAAI,CACR,KAAK,EACL,IAAI,EACJ,eAAe,EACf,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,SAAS,CACV,CAAC;AACJ,CAAC,CAAA,CAAC;AAhBW,QAAA,aAAa,iBAgBxB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,MAAM,IAAI,GAAG,IAAA,iBAAU,EAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;IAEjD,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,IAAI,CACR,KAAK,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,kBAAkB,UAAU,MAAM,EAClC,GAAG,CACJ,CAAC;IAEF,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AA7BW,QAAA,sBAAsB,0BA6BjC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/cli/init/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAC1B,oEAAiC;AACjC,oEAA4C;AAE5C,yCAAiD;AACjD,iDAA0C;AAOnC,MAAM,cAAc,GAAG,CAC5B,GAAW,EACX,EAAE,OAAO,EAAE,QAAQ,EAAiB,EACpC,EAAE;IACF,MAAM,wBAAG,CAAC,IAAI,CAAC;QACb,wCAAwC;QACxC,aAAa,EAAE,QAAQ;QACvB,GAAG;QACH,EAAE,EAAF,kBAAE;KACH,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,wBAAG,CAAC,SAAS,CAAC;QAClB,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,kBAAkB,OAAO,IAAI,QAAQ,MAAM;KACjD,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAzBW,QAAA,cAAc,kBAyBzB;AAEK,MAAM,aAAa,GAAG,CAAO,GAAW,EAAE,OAAe,EAAE,EAAE;IAClE,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAF,kBAAE,EAAE,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,wBAAG,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5B,GAAG;QACH,EAAE,EAAF,kBAAE;QACF,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAdW,QAAA,aAAa,iBAcxB;AAEK,MAAM,sBAAsB,GAAG,CACpC,UAAkB,EAClB,cAAsB,EACtB,EAAE;IACF,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,KAAK,CAAC,aAAa,EAAE,aAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,wBAAG,CAAC,KAAK,CAAC;QACd,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,cAAc;QACnB,EAAE,EAAF,kBAAE;QACF,IAAI,EAAJ,cAAI;QACJ,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,kBAAkB,UAAU,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,kBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE;QACtD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,aAAG,CAAC,OAAO,EAAE,CAAC;IACd,aAAG,CAAC,IAAI,CACN,qBAAqB,EACrB,aAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAChC,oBAAoB,CACrB,CAAC;AACJ,CAAC,CAAA,CAAC;AA3BW,QAAA,sBAAsB,0BA2BjC"}
@@ -25,7 +25,7 @@ const git_1 = require("./git");
25
25
  const writePackageJson_1 = require("./writePackageJson");
26
26
  const init = () => __awaiter(void 0, void 0, void 0, function* () {
27
27
  const skubaVersionInfo = yield (0, logo_1.showLogoAndVersionInfo)();
28
- yield (0, exec_1.ensureCommands)('git', 'yarn');
28
+ yield (0, exec_1.ensureCommands)('yarn');
29
29
  const { destinationDir, entryPoint, templateComplete, templateData, templateName, type, } = yield (0, getConfig_1.getConfig)();
30
30
  const include = yield (0, dir_1.createInclusionFilter)([
31
31
  path_1.default.join(destinationDir, '.gitignore'),
@@ -66,7 +66,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
66
66
  streamStdio: 'yarn',
67
67
  });
68
68
  logging_1.log.newline();
69
- yield (0, git_1.initialiseRepo)(exec, templateData);
69
+ yield (0, git_1.initialiseRepo)(destinationDir, templateData);
70
70
  const skubaSlug = `skuba@${skubaVersionInfo.local}`;
71
71
  let depsInstalled = false;
72
72
  try {
@@ -75,7 +75,7 @@ const init = () => __awaiter(void 0, void 0, void 0, function* () {
75
75
  yield exec('npx', 'yarn-deduplicate', '--strategy=highest');
76
76
  }
77
77
  catch (_a) { }
78
- yield (0, git_1.commitChanges)(exec, `Clone ${templateName}`);
78
+ yield (0, git_1.commitChanges)(destinationDir, `Clone ${templateName}`);
79
79
  const logGitHubRepoCreation = () => {
80
80
  logging_1.log.plain('Next, create an empty', logging_1.log.bold(`${templateData.orgName}/${templateData.repoName}`), 'repository:');
81
81
  logging_1.log.ok('https://github.com/new');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ESLintOutput } from '../../../../cli/adapter/eslint';
2
+ export declare const createEslintAnnotations: (eslint: ESLintOutput) => string[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.createEslintAnnotations = void 0;
23
+ const Buildkite = __importStar(require("../../../../api/buildkite"));
24
+ const createEslintAnnotations = (eslint) => !eslint.ok ? ['**ESLint**', Buildkite.md.terminal(eslint.output.trim())] : [];
25
+ exports.createEslintAnnotations = createEslintAnnotations;
26
+ //# sourceMappingURL=eslint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/buildkite/eslint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AAGhD,MAAM,uBAAuB,GAAG,CAAC,MAAoB,EAAY,EAAE,CACxE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AADnE,QAAA,uBAAuB,2BAC4C"}
@@ -0,0 +1,4 @@
1
+ import { ESLintOutput } from '../../../../cli/adapter/eslint';
2
+ import { PrettierOutput } from '../../../../cli/adapter/prettier';
3
+ import { StreamInterceptor } from '../../../../cli/lint/external';
4
+ export declare const createBuildkiteAnnotations: (eslint: ESLintOutput, prettier: PrettierOutput, tscOk: boolean, tscOutputStream: StreamInterceptor) => Promise<void>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.createBuildkiteAnnotations = void 0;
32
+ const Buildkite = __importStar(require("../../../../api/buildkite"));
33
+ const eslint_1 = require("./eslint");
34
+ const prettier_1 = require("./prettier");
35
+ const tsc_1 = require("./tsc");
36
+ const createBuildkiteAnnotations = (eslint, prettier, tscOk, tscOutputStream) => __awaiter(void 0, void 0, void 0, function* () {
37
+ if (eslint.ok && prettier.ok && tscOk) {
38
+ return;
39
+ }
40
+ const buildkiteOutput = [
41
+ '`skuba lint` found issues that require triage:',
42
+ ...(0, eslint_1.createEslintAnnotations)(eslint),
43
+ ...(0, prettier_1.createPrettierAnnotations)(prettier),
44
+ ...(0, tsc_1.createTscAnnotations)(tscOk, tscOutputStream),
45
+ ].join('\n\n');
46
+ yield Buildkite.annotate(buildkiteOutput, {
47
+ context: 'skuba-lint-external',
48
+ scopeContextToStep: true,
49
+ style: 'error',
50
+ });
51
+ });
52
+ exports.createBuildkiteAnnotations = createBuildkiteAnnotations;
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/buildkite/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AAKvD,qCAAmD;AACnD,yCAAuD;AACvD,+BAA6C;AAEtC,MAAM,0BAA0B,GAAG,CACxC,MAAoB,EACpB,QAAwB,EACxB,KAAc,EACd,eAAkC,EACnB,EAAE;IACjB,IAAI,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,IAAI,KAAK,EAAE;QACrC,OAAO;KACR;IAED,MAAM,eAAe,GAAW;QAC9B,gDAAgD;QAChD,GAAG,IAAA,gCAAuB,EAAC,MAAM,CAAC;QAClC,GAAG,IAAA,oCAAyB,EAAC,QAAQ,CAAC;QACtC,GAAG,IAAA,0BAAoB,EAAC,KAAK,EAAE,eAAe,CAAC;KAChD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,MAAM,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE;QACxC,OAAO,EAAE,qBAAqB;QAC9B,kBAAkB,EAAE,IAAI;QACxB,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAtBW,QAAA,0BAA0B,8BAsBrC"}
@@ -0,0 +1,2 @@
1
+ import { PrettierOutput } from '../../../../cli/adapter/prettier';
2
+ export declare const createPrettierAnnotations: (prettier: PrettierOutput) => string[];
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.createPrettierAnnotations = void 0;
23
+ const Buildkite = __importStar(require("../../../../api/buildkite"));
24
+ const createPrettierAnnotations = (prettier) => !prettier.ok
25
+ ? [
26
+ '**Prettier**',
27
+ Buildkite.md.terminal(prettier.result.errored
28
+ .map(({ err, filepath }) => [filepath, ...(err ? [String(err)] : [])].join(' '))
29
+ .join('\n')),
30
+ ]
31
+ : [];
32
+ exports.createPrettierAnnotations = createPrettierAnnotations;
33
+ //# sourceMappingURL=prettier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/buildkite/prettier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AAGhD,MAAM,yBAAyB,GAAG,CAAC,QAAwB,EAAY,EAAE,CAC9E,CAAC,QAAQ,CAAC,EAAE;IACV,CAAC,CAAC;QACE,cAAc;QACd,SAAS,CAAC,EAAE,CAAC,QAAQ,CACnB,QAAQ,CAAC,MAAM,CAAC,OAAO;aACpB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CACzB,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACpD;aACA,IAAI,CAAC,IAAI,CAAC,CACd;KACF;IACH,CAAC,CAAC,EAAE,CAAC;AAZI,QAAA,yBAAyB,6BAY7B"}
@@ -0,0 +1,2 @@
1
+ import { StreamInterceptor } from '../../../../cli/lint/external';
2
+ export declare const createTscAnnotations: (tscOk: boolean, tscOutputStream: StreamInterceptor) => string[];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.createTscAnnotations = void 0;
23
+ const Buildkite = __importStar(require("../../../../api/buildkite"));
24
+ const createTscAnnotations = (tscOk, tscOutputStream) => !tscOk
25
+ ? [
26
+ '**tsc**',
27
+ Buildkite.md.terminal(tscOutputStream
28
+ .output()
29
+ .split('\n')
30
+ .filter(Boolean)
31
+ .filter((line) => !line.startsWith('TSFILE: '))
32
+ .join('\n')
33
+ .trim()),
34
+ ]
35
+ : [];
36
+ exports.createTscAnnotations = createTscAnnotations;
37
+ //# sourceMappingURL=tsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/buildkite/tsc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AAGhD,MAAM,oBAAoB,GAAG,CAClC,KAAc,EACd,eAAkC,EACxB,EAAE,CACZ,CAAC,KAAK;IACJ,CAAC,CAAC;QACE,SAAS;QACT,SAAS,CAAC,EAAE,CAAC,QAAQ,CACnB,eAAe;aACZ,MAAM,EAAE;aACR,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC9C,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CACV;KACF;IACH,CAAC,CAAC,EAAE,CAAC;AAjBI,QAAA,oBAAoB,wBAiBxB"}
@@ -0,0 +1,3 @@
1
+ import * as GitHub from '../../../../api/github';
2
+ import { ESLintOutput } from '../../../../cli/adapter/eslint';
3
+ export declare const createEslintAnnotations: (eslint: ESLintOutput) => GitHub.Annotation[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEslintAnnotations = void 0;
4
+ const createEslintAnnotations = (eslint) => [...eslint.errors, ...eslint.warnings].flatMap((result) => result.messages.map((message) => {
5
+ var _a, _b, _c;
6
+ // Annotations only support start_column and end_column on the same line.
7
+ const isSameLine = message.line === message.endLine;
8
+ const startColumn = isSameLine && message.column;
9
+ const endColumn = (isSameLine && message.endColumn) || startColumn;
10
+ return Object.assign(Object.assign(Object.assign({ annotation_level: message.severity === 2 ? 'failure' : 'warning', start_line: (_a = message.line) !== null && _a !== void 0 ? _a : 1, end_line: (_c = (_b = message.endLine) !== null && _b !== void 0 ? _b : message.line) !== null && _c !== void 0 ? _c : 1 }, (startColumn && { start_column: startColumn })), (endColumn && { end_column: endColumn })), { message: message.message, path: result.filePath, title: `ESLint${message.ruleId ? ` (${message.ruleId})` : ''}` });
11
+ }));
12
+ exports.createEslintAnnotations = createEslintAnnotations;
13
+ //# sourceMappingURL=eslint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/github/eslint.ts"],"names":[],"mappings":";;;AAGO,MAAM,uBAAuB,GAAG,CACrC,MAAoB,EACC,EAAE,CACvB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAoB,CAAC,MAAM,EAAE,EAAE,CAC3E,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAqB,EAAE;;IACjD,yEAAyE;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC;IACpD,MAAM,WAAW,GAAG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC;IAEnE,mDACE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAChE,UAAU,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,EAC7B,QAAQ,EAAE,MAAA,MAAA,OAAO,CAAC,OAAO,mCAAI,OAAO,CAAC,IAAI,mCAAI,CAAC,IAC3C,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,GAC9C,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,KAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,KAAK,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAC9D;AACJ,CAAC,CAAC,CACH,CAAC;AArBS,QAAA,uBAAuB,2BAqBhC"}
@@ -0,0 +1,4 @@
1
+ import { ESLintOutput } from '../../../../cli/adapter/eslint';
2
+ import { PrettierOutput } from '../../../../cli/adapter/prettier';
3
+ import { StreamInterceptor } from '../../../../cli/lint/external';
4
+ export declare const createGitHubAnnotations: (eslint: ESLintOutput, prettier: PrettierOutput, tscOk: boolean, tscOutputStream: StreamInterceptor) => Promise<void>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.createGitHubAnnotations = void 0;
32
+ const GitHub = __importStar(require("../../../../api/github"));
33
+ const environment_1 = require("../../../../api/github/environment");
34
+ const eslint_1 = require("./eslint");
35
+ const prettier_1 = require("./prettier");
36
+ const tsc_1 = require("./tsc");
37
+ const createGitHubAnnotations = (eslint, prettier, tscOk, tscOutputStream) => __awaiter(void 0, void 0, void 0, function* () {
38
+ if (!(0, environment_1.enabledFromEnvironment)()) {
39
+ return;
40
+ }
41
+ const annotations = [
42
+ ...(0, eslint_1.createEslintAnnotations)(eslint),
43
+ ...(0, prettier_1.createPrettierAnnotations)(prettier),
44
+ ...(0, tsc_1.createTscAnnotations)(tscOk, tscOutputStream),
45
+ ];
46
+ const isOk = eslint.ok && prettier.ok && tscOk;
47
+ const conclusion = isOk ? 'success' : 'failure';
48
+ const summary = isOk
49
+ ? '`skuba lint` passed.'
50
+ : '`skuba lint` found issues that require triage.';
51
+ const build = (0, environment_1.buildNameFromEnvironment)();
52
+ yield GitHub.createCheckRun({
53
+ name: 'skuba/lint',
54
+ summary,
55
+ annotations,
56
+ conclusion,
57
+ title: `${build} ${isOk ? 'passed' : 'failed'}`,
58
+ });
59
+ });
60
+ exports.createGitHubAnnotations = createGitHubAnnotations;
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/github/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AACjD,oEAG4C;AAK5C,qCAAmD;AACnD,yCAAuD;AACvD,+BAA6C;AAEtC,MAAM,uBAAuB,GAAG,CACrC,MAAoB,EACpB,QAAwB,EACxB,KAAc,EACd,eAAkC,EAClC,EAAE;IACF,IAAI,CAAC,IAAA,oCAAsB,GAAE,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,WAAW,GAAwB;QACvC,GAAG,IAAA,gCAAuB,EAAC,MAAM,CAAC;QAClC,GAAG,IAAA,oCAAyB,EAAC,QAAQ,CAAC;QACtC,GAAG,IAAA,0BAAoB,EAAC,KAAK,EAAE,eAAe,CAAC;KAChD,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhD,MAAM,OAAO,GAAG,IAAI;QAClB,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,gDAAgD,CAAC;IAErD,MAAM,KAAK,GAAG,IAAA,sCAAwB,GAAE,CAAC;IAEzC,MAAM,MAAM,CAAC,cAAc,CAAC;QAC1B,IAAI,EAAE,YAAY;QAClB,OAAO;QACP,WAAW;QACX,UAAU;QACV,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;KAChD,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAhCW,QAAA,uBAAuB,2BAgClC"}
@@ -0,0 +1,3 @@
1
+ import * as GitHub from '../../../../api/github';
2
+ import { PrettierOutput } from '../../../../cli/adapter/prettier';
3
+ export declare const createPrettierAnnotations: (prettier: PrettierOutput) => GitHub.Annotation[];
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPrettierAnnotations = void 0;
4
+ const createPrettierAnnotations = (prettier) => prettier.result.errored.map((result) => {
5
+ const message = result.err instanceof Error ? result.err.message : result.err;
6
+ return {
7
+ annotation_level: 'failure',
8
+ start_line: 1,
9
+ end_line: 1,
10
+ path: result.filepath,
11
+ message: message ? String(message) : 'This file has not been formatted.',
12
+ title: 'Prettier',
13
+ };
14
+ });
15
+ exports.createPrettierAnnotations = createPrettierAnnotations;
16
+ //# sourceMappingURL=prettier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/github/prettier.ts"],"names":[],"mappings":";;;AAGO,MAAM,yBAAyB,GAAG,CACvC,QAAwB,EACH,EAAE,CACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACrC,MAAM,OAAO,GACX,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAEhE,OAAO;QACL,gBAAgB,EAAE,SAAS;QAC3B,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mCAAmC;QACxE,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC,CAAC,CAAC;AAfQ,QAAA,yBAAyB,6BAejC"}
@@ -0,0 +1,3 @@
1
+ import * as GitHub from '../../../../api/github';
2
+ import { StreamInterceptor } from '../../../../cli/lint/external';
3
+ export declare const createTscAnnotations: (tscOk: boolean, tscOutputStream: StreamInterceptor) => GitHub.Annotation[];
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTscAnnotations = void 0;
7
+ const strip_ansi_1 = __importDefault(require("strip-ansi"));
8
+ /**
9
+ * Matches the `tsc │` prefix on each `tsc` log.
10
+ */
11
+ /**
12
+ * Matches regular and pretty `tsc` output.
13
+ *
14
+ * For example, given the following input string:
15
+ *
16
+ * ```console
17
+ * src/skuba.ts:43:7 - error TS2769: No overload matches this call.
18
+ * Overload 1 of 2, '(obj: LogContext, msg?: string | undefined, ...args: any[]): void', gave the following error.
19
+ * Argument of type 'unknown' is not assignable to parameter of type 'LogContext'.
20
+ * Overload 2 of 2, '(msg?: string | undefined, ...args: any[]): void', gave the following error.
21
+ * Argument of type 'unknown' is not assignable to parameter of type 'string | undefined'.
22
+ * Type 'unknown' is not assignable to type 'string'.
23
+ * ```
24
+ *
25
+ * This pattern will produce the following matches:
26
+ *
27
+ * 1. src/skuba.ts
28
+ * 2. 43
29
+ * 3. 7
30
+ * 4. error
31
+ * 5. 2769
32
+ * 6. No overload matches this call [...] not assignable to type 'string'.
33
+ */
34
+ const tscOutputRegex = /([^\s].*)[\(:](\d+)[,:](\d+)(?:\):\s+|\s+-\s+)(error|warning|info)\s+TS(\d+)\s*:\s*([\s\S]*?)(?=\n\S)(?=\n\D)/g;
35
+ const annotationLevelMap = {
36
+ error: 'failure',
37
+ warning: 'warning',
38
+ info: 'notice',
39
+ };
40
+ const createTscAnnotations = (tscOk, tscOutputStream) => {
41
+ if (tscOk) {
42
+ return [];
43
+ }
44
+ const matches = (0, strip_ansi_1.default)(tscOutputStream.output()).matchAll(tscOutputRegex);
45
+ return Array.from(matches).flatMap((match) => (match === null || match === void 0 ? void 0 : match.length) === 7
46
+ ? {
47
+ annotation_level: annotationLevelMap[match[4]],
48
+ path: match[1],
49
+ start_line: Number(match[2]),
50
+ end_line: Number(match[2]),
51
+ start_column: Number(match[3]),
52
+ end_column: Number(match[3]),
53
+ message: match[6].trim(),
54
+ title: `tsc (TS${match[5]})`,
55
+ }
56
+ : []);
57
+ };
58
+ exports.createTscAnnotations = createTscAnnotations;
59
+ //# sourceMappingURL=tsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../../../../src/cli/lint/annotate/github/tsc.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAmC;AAOnC;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,cAAc,GAClB,gHAAgH,CAAC;AAEnH,MAAM,kBAAkB,GAGpB;IACF,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,QAAQ;CACf,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAClC,KAAc,EACd,eAAkC,EACb,EAAE;IACvB,IAAI,KAAK,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,OAAO,GAAG,IAAA,oBAAS,EAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAoB,CAAC,KAAK,EAAE,EAAE,CAC9D,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,MAAK,CAAC;QACjB,CAAC,CAAC;YACE,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAa,CAAC;YAC1D,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACxB,KAAK,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG;SAC7B;QACH,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,oBAAoB,wBAuB/B"}