skuba 3.15.0-beta.0 → 3.15.2
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 +61 -2
- package/lib/api/buildkite/annotate.d.ts +26 -0
- package/lib/api/buildkite/annotate.js +47 -0
- package/lib/api/buildkite/annotate.js.map +1 -0
- package/lib/api/buildkite/index.d.ts +3 -32
- package/lib/api/buildkite/index.js +4 -49
- package/lib/api/buildkite/index.js.map +1 -1
- package/lib/api/buildkite/md.d.ts +6 -0
- package/lib/api/buildkite/md.js +10 -0
- package/lib/api/buildkite/md.js.map +1 -0
- package/lib/api/jest/index.d.ts +1 -1
- package/lib/api/jest/index.js.map +1 -1
- package/lib/cli/adapter/prettier.d.ts +2 -5
- package/lib/cli/adapter/prettier.js +12 -14
- package/lib/cli/adapter/prettier.js.map +1 -1
- package/lib/cli/configure/analysis/files.js.map +1 -1
- package/lib/cli/configure/analysis/git.d.ts +1 -1
- package/lib/cli/configure/analysis/git.js +11 -17
- package/lib/cli/configure/analysis/git.js.map +1 -1
- package/lib/cli/configure/analysis/project.js.map +1 -1
- package/lib/cli/configure/index.js +2 -2
- package/lib/cli/configure/index.js.map +1 -1
- package/lib/cli/configure/modules/tsconfig.js +1 -1
- package/lib/cli/configure/modules/tsconfig.js.map +1 -1
- package/lib/cli/configure/processing/record.d.ts +2 -2
- package/lib/cli/configure/processing/record.js +2 -2
- package/lib/cli/configure/processing/record.js.map +1 -1
- package/lib/cli/format.js +3 -7
- package/lib/cli/format.js.map +1 -1
- package/lib/cli/init/getConfig.js.map +1 -1
- package/lib/cli/init/git.d.ts +2 -3
- package/lib/cli/init/git.js +41 -10
- package/lib/cli/init/git.js.map +1 -1
- package/lib/cli/init/index.js +3 -3
- package/lib/cli/init/index.js.map +1 -1
- package/lib/cli/lint/eslint.js +3 -4
- package/lib/cli/lint/eslint.js.map +1 -1
- package/lib/cli/lint/external.js +75 -14
- package/lib/cli/lint/external.js.map +1 -1
- package/lib/cli/lint/index.d.ts +1 -1
- package/lib/cli/lint/index.js +2 -1
- package/lib/cli/lint/index.js.map +1 -1
- package/lib/cli/lint/prettier.js +3 -4
- package/lib/cli/lint/prettier.js.map +1 -1
- package/lib/cli/lint/types.d.ts +9 -0
- package/lib/cli/node.js +1 -1
- package/lib/cli/node.js.map +1 -1
- package/lib/cli/start.js +1 -1
- package/lib/cli/start.js.map +1 -1
- package/lib/utils/copy.js.map +1 -1
- package/lib/utils/dir.js.map +1 -1
- package/lib/utils/exec.d.ts +2 -1
- package/lib/utils/exec.js +4 -8
- package/lib/utils/exec.js.map +1 -1
- package/lib/utils/worker.d.ts +13 -1
- package/lib/utils/worker.js +25 -8
- package/lib/utils/worker.js.map +1 -1
- package/lib/wrapper/functionHandler.js +5 -0
- package/lib/wrapper/functionHandler.js.map +1 -1
- package/lib/wrapper/http.js +11 -7
- package/lib/wrapper/http.js.map +1 -1
- package/package.json +7 -6
- package/template/express-rest-api/.buildkite/pipeline.yml +3 -3
- package/template/express-rest-api/README.md +0 -12
- package/template/express-rest-api/package.json +1 -1
- package/template/express-rest-api/src/app.ts +2 -0
- package/template/greeter/README.md +0 -12
- package/template/koa-rest-api/.buildkite/pipeline.yml +3 -3
- package/template/koa-rest-api/README.md +0 -12
- package/template/koa-rest-api/package.json +1 -1
- package/template/koa-rest-api/src/framework/server.ts +5 -0
- package/template/koa-rest-api/src/framework/validation.ts +1 -1
- package/template/lambda-sqs-worker/README.md +0 -12
- package/template/lambda-sqs-worker/package.json +1 -1
- package/template/lambda-sqs-worker/serverless.yml +5 -2
- package/template/lambda-sqs-worker/src/framework/handler.ts +1 -1
- package/template/oss-npm-package/README.md +0 -14
- package/template/private-npm-package/README.md +0 -14
package/README.md
CHANGED
|
@@ -1,8 +1,67 @@
|
|
|
1
|
-
# 
|
|
1
|
+
# [](https://seek-oss.github.io/skuba)
|
|
2
|
+
|
|
3
|
+
---
|
|
2
4
|
|
|
3
5
|
[](https://github.com/seek-oss/skuba/actions?query=workflow%3ARelease)
|
|
4
6
|
[](https://github.com/seek-oss/skuba/actions?query=workflow%3AValidate)
|
|
5
7
|
[](https://nodejs.org/en/)
|
|
6
8
|
[](https://www.npmjs.com/package/skuba)
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
**skuba** is a toolkit for backend application and package development on SEEK's gravel and paved roads:
|
|
13
|
+
|
|
14
|
+
- Write in [TypeScript]
|
|
15
|
+
- Enforce coding standards with [ESLint] and [Prettier]
|
|
16
|
+
- Test with [Jest]
|
|
17
|
+
- Deploy with [Gantry], [Serverless] or the [AWS CDK]
|
|
18
|
+
|
|
19
|
+
[aws cdk]: https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html
|
|
20
|
+
[gantry]: https://gantry.ssod.skinfra.xyz
|
|
21
|
+
[serverless]: https://serverless.com/
|
|
22
|
+
|
|
23
|
+
It provides you with:
|
|
24
|
+
|
|
25
|
+
- [CLI] commands for developing your project
|
|
26
|
+
- [Templates] to base your backend application or package on
|
|
27
|
+
- [Development] and optional [runtime] APIs for cross-cutting concerns
|
|
28
|
+
|
|
29
|
+
Learn more [about](docs/about.md) **skuba** and [contribute](CONTRIBUTING.md) to it.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
**skuba** is distributed as an npm package.
|
|
34
|
+
|
|
35
|
+
In projects that list it as a `devDependency`,
|
|
36
|
+
usage may look something like this:
|
|
37
|
+
|
|
38
|
+
```shell
|
|
39
|
+
# Install project dependencies.
|
|
40
|
+
yarn
|
|
41
|
+
|
|
42
|
+
# Run the skuba CLI.
|
|
43
|
+
yarn skuba help
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Global installations are also supported to speed up local development:
|
|
47
|
+
|
|
48
|
+
```shell
|
|
49
|
+
# Install skuba globally.
|
|
50
|
+
yarn global add skuba
|
|
51
|
+
|
|
52
|
+
# Look, no `npx`!
|
|
53
|
+
skuba help
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If you're new here, jump ahead to the [CLI] section to [create a new project] or [update an existing one].
|
|
57
|
+
|
|
58
|
+
[cli]: ./docs/cli
|
|
59
|
+
[create a new project]: ./docs/cli/init.md
|
|
60
|
+
[development]: ./docs/development-api
|
|
61
|
+
[eslint]: https://eslint.org/
|
|
62
|
+
[jest]: https://jestjs.io
|
|
63
|
+
[prettier]: https://prettier.io/
|
|
64
|
+
[runtime]: ./docs/runtime-api
|
|
65
|
+
[templates]: ./docs/templates
|
|
66
|
+
[typescript]: https://www.typescriptlang.org/
|
|
67
|
+
[update an existing one]: ./docs/cli/configure.md
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare type AnnotationStyle = 'success' | 'info' | 'warning' | 'error';
|
|
2
|
+
interface AnnotationOptions {
|
|
3
|
+
context?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Scopes an annotation's context to the Buildkite step ID.
|
|
6
|
+
*
|
|
7
|
+
* This lets you emit distinct annotations per step, and only takes effect if
|
|
8
|
+
* the `BUILDKITE_STEP_ID` environment variable is present.
|
|
9
|
+
*/
|
|
10
|
+
scopeContextToStep?: boolean;
|
|
11
|
+
style?: AnnotationStyle;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Asynchronously uploads a Buildkite annotation.
|
|
15
|
+
*
|
|
16
|
+
* If the following environment variables are not present,
|
|
17
|
+
* the function will silently return without attempting to annotate:
|
|
18
|
+
*
|
|
19
|
+
* - `BUILDKITE`
|
|
20
|
+
* - `BUILDKITE_AGENT_ACCESS_TOKEN`
|
|
21
|
+
* - `BUILDKITE_JOB_ID`
|
|
22
|
+
*
|
|
23
|
+
* The `buildkite-agent` binary must also be on your `PATH`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const annotate: (markdown: string, opts?: AnnotationOptions) => Promise<void>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.annotate = void 0;
|
|
13
|
+
const exec_1 = require("../../utils/exec");
|
|
14
|
+
const isAnnotationEnabled = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
return Boolean(process.env.BUILDKITE &&
|
|
16
|
+
process.env.BUILDKITE_AGENT_ACCESS_TOKEN &&
|
|
17
|
+
process.env.BUILDKITE_JOB_ID &&
|
|
18
|
+
(yield (0, exec_1.hasCommand)('buildkite-agent')));
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Asynchronously uploads a Buildkite annotation.
|
|
22
|
+
*
|
|
23
|
+
* If the following environment variables are not present,
|
|
24
|
+
* the function will silently return without attempting to annotate:
|
|
25
|
+
*
|
|
26
|
+
* - `BUILDKITE`
|
|
27
|
+
* - `BUILDKITE_AGENT_ACCESS_TOKEN`
|
|
28
|
+
* - `BUILDKITE_JOB_ID`
|
|
29
|
+
*
|
|
30
|
+
* The `buildkite-agent` binary must also be on your `PATH`.
|
|
31
|
+
*/
|
|
32
|
+
const annotate = (markdown, opts = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
if (!(yield isAnnotationEnabled())) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// Always scope to the current Buildkite step.
|
|
37
|
+
const context = [
|
|
38
|
+
opts.scopeContextToStep && process.env.BUILDKITE_STEP_ID,
|
|
39
|
+
opts.context,
|
|
40
|
+
]
|
|
41
|
+
.filter(Boolean)
|
|
42
|
+
.join('|');
|
|
43
|
+
const { style } = opts;
|
|
44
|
+
yield (0, exec_1.exec)('buildkite-agent', 'annotate', ...(context ? ['--context', context] : []), ...(style ? ['--style', style] : []), markdown);
|
|
45
|
+
});
|
|
46
|
+
exports.annotate = annotate;
|
|
47
|
+
//# sourceMappingURL=annotate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../../src/api/buildkite/annotate.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AAIpD,MAAM,mBAAmB,GAAG,GAAS,EAAE;IACrC,OAAA,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,SAAS;QACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B;QACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,CAAC,MAAM,IAAA,iBAAU,EAAC,iBAAiB,CAAC,CAAC,CACxC,CAAA;EAAA,CAAC;AAgBJ;;;;;;;;;;;GAWG;AACI,MAAM,QAAQ,GAAG,CACtB,QAAgB,EAChB,OAA0B,EAAE,EACb,EAAE;IACjB,IAAI,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAC,EAAE;QAClC,OAAO;KACR;IAED,8CAA8C;IAC9C,MAAM,OAAO,GAAG;QACd,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACxD,IAAI,CAAC,OAAO;KACb;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,MAAM,IAAA,WAAI,EACR,iBAAiB,EACjB,UAAU,EACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACpC,QAAQ,CACT,CAAC;AACJ,CAAC,CAAA,CAAC;AAzBW,QAAA,QAAQ,YAyBnB"}
|
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Scopes an annotation's context to the Buildkite step ID.
|
|
6
|
-
*
|
|
7
|
-
* This lets you emit distinct annotations per step, and only takes effect if
|
|
8
|
-
* the `BUILDKITE_STEP_ID` environment variable is present.
|
|
9
|
-
*/
|
|
10
|
-
scopeContextToStep?: boolean;
|
|
11
|
-
style?: AnnotationStyle;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Asynchronously uploads a Buildkite annotation.
|
|
15
|
-
*
|
|
16
|
-
* If the following environment variables are not present,
|
|
17
|
-
* the function will silently return without attempting to annotate:
|
|
18
|
-
*
|
|
19
|
-
* - `BUILDKITE`
|
|
20
|
-
* - `BUILDKITE_AGENT_ACCESS_TOKEN`
|
|
21
|
-
* - `BUILDKITE_JOB_ID`
|
|
22
|
-
*
|
|
23
|
-
* The `buildkite-agent` binary must also be on your `PATH`.
|
|
24
|
-
*/
|
|
25
|
-
export declare const annotate: (markdown: string, opts?: AnnotationOptions) => Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
export declare const md: {
|
|
30
|
-
terminal: (code: string) => string;
|
|
31
|
-
};
|
|
32
|
-
export {};
|
|
1
|
+
export type { AnnotationStyle } from './annotate';
|
|
2
|
+
export { annotate } from './annotate';
|
|
3
|
+
export { md } from './md';
|
|
@@ -1,53 +1,8 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.md = exports.annotate = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
process.env.BUILDKITE_JOB_ID &&
|
|
18
|
-
(yield (0, exec_1.hasCommand)('buildkite-agent')));
|
|
19
|
-
});
|
|
20
|
-
/**
|
|
21
|
-
* Asynchronously uploads a Buildkite annotation.
|
|
22
|
-
*
|
|
23
|
-
* If the following environment variables are not present,
|
|
24
|
-
* the function will silently return without attempting to annotate:
|
|
25
|
-
*
|
|
26
|
-
* - `BUILDKITE`
|
|
27
|
-
* - `BUILDKITE_AGENT_ACCESS_TOKEN`
|
|
28
|
-
* - `BUILDKITE_JOB_ID`
|
|
29
|
-
*
|
|
30
|
-
* The `buildkite-agent` binary must also be on your `PATH`.
|
|
31
|
-
*/
|
|
32
|
-
const annotate = (markdown, opts = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
-
if (!(yield isBuildkiteEnabled())) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
// Always scope to the current Buildkite step.
|
|
37
|
-
const context = [
|
|
38
|
-
opts.scopeContextToStep && process.env.BUILDKITE_STEP_ID,
|
|
39
|
-
opts.context,
|
|
40
|
-
]
|
|
41
|
-
.filter(Boolean)
|
|
42
|
-
.join('|');
|
|
43
|
-
const { style } = opts;
|
|
44
|
-
yield (0, exec_1.exec)('buildkite-agent', 'annotate', ...(context ? ['--context', context] : []), ...(style ? ['--style', style] : []), markdown);
|
|
45
|
-
});
|
|
46
|
-
exports.annotate = annotate;
|
|
47
|
-
/**
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
50
|
-
exports.md = {
|
|
51
|
-
terminal: (code) => `\`\`\`term\n${code}\n\`\`\``,
|
|
52
|
-
};
|
|
4
|
+
var annotate_1 = require("./annotate");
|
|
5
|
+
Object.defineProperty(exports, "annotate", { enumerable: true, get: function () { return annotate_1.annotate; } });
|
|
6
|
+
var md_1 = require("./md");
|
|
7
|
+
Object.defineProperty(exports, "md", { enumerable: true, get: function () { return md_1.md; } });
|
|
53
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/buildkite/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/buildkite/index.ts"],"names":[],"mappings":";;;AACA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,2BAA0B;AAAjB,wFAAA,EAAE,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.md = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
exports.md = {
|
|
8
|
+
terminal: (code) => `\`\`\`term\n${code.replace(/```/g, '\\`\\`\\`')}\n\`\`\``,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md.js","sourceRoot":"","sources":["../../../src/api/buildkite/md.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,EAAE,GAAG;IAChB,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CACzB,eAAe,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU;CAC7D,CAAC"}
|
package/lib/api/jest/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Config } from '@jest/types';
|
|
2
|
-
declare type Props = Pick<Config.InitialOptions, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coveragePathIgnorePatterns' | 'coverageThreshold' | 'globals' | 'globalSetup' | 'globalTeardown' | 'setupFiles' | 'setupFilesAfterEnv' | 'snapshotSerializers' | 'testPathIgnorePatterns' | 'testTimeout' | 'watchPathIgnorePatterns'>;
|
|
2
|
+
declare type Props = Pick<Config.InitialOptions, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coveragePathIgnorePatterns' | 'coverageThreshold' | 'globals' | 'globalSetup' | 'globalTeardown' | 'setupFiles' | 'setupFilesAfterEnv' | 'snapshotSerializers' | 'testEnvironment' | 'testPathIgnorePatterns' | 'testTimeout' | 'watchPathIgnorePatterns'>;
|
|
3
3
|
/**
|
|
4
4
|
* Merge additional Jest options into the **skuba** preset.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/jest/index.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA8C;AAC9C,kEAAiE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/jest/index.ts"],"names":[],"mappings":";;;;;;AAEA,uEAA8C;AAC9C,kEAAiE;AAqBjE;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,KAAY,EAAyB,EAAE,CACjE,IAAA,iBAAQ,EAAC,qBAAU,EAAE,KAAK,CAAC,CAAC;AADjB,QAAA,WAAW,eACM"}
|
|
@@ -5,10 +5,7 @@ interface Result {
|
|
|
5
5
|
err?: unknown;
|
|
6
6
|
filepath: string;
|
|
7
7
|
}>;
|
|
8
|
-
touched:
|
|
9
|
-
data: string;
|
|
10
|
-
filepath: string;
|
|
11
|
-
}>;
|
|
8
|
+
touched: string[];
|
|
12
9
|
unparsed: string[];
|
|
13
10
|
}
|
|
14
11
|
export interface PrettierOutput {
|
|
@@ -20,7 +17,7 @@ export interface PrettierOutput {
|
|
|
20
17
|
*
|
|
21
18
|
* Prettier doesn't provide a higher-level Node.js API that replicates the
|
|
22
19
|
* behaviour of its CLI, so we have to plumb together its lower-level functions.
|
|
23
|
-
* On the other
|
|
20
|
+
* On the other hand, this affords more flexibility in how we track and report
|
|
24
21
|
* on progress and results.
|
|
25
22
|
*/
|
|
26
23
|
export declare const runPrettier: (mode: 'format' | 'lint', logger: Logger) => Promise<PrettierOutput>;
|
|
@@ -14,7 +14,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.runPrettier = void 0;
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
|
-
const util_1 = require("util");
|
|
18
17
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
19
18
|
const prettier_1 = require("prettier");
|
|
20
19
|
const dir_1 = require("../../utils/dir");
|
|
@@ -51,14 +50,15 @@ const formatOrLintFile = ({ data, filepath, options, parser }, logger, mode, res
|
|
|
51
50
|
if (formatted === data) {
|
|
52
51
|
return;
|
|
53
52
|
}
|
|
54
|
-
result.touched.push(
|
|
53
|
+
result.touched.push(filepath);
|
|
54
|
+
return formatted;
|
|
55
55
|
};
|
|
56
56
|
/**
|
|
57
57
|
* Formats/lints files with Prettier.
|
|
58
58
|
*
|
|
59
59
|
* Prettier doesn't provide a higher-level Node.js API that replicates the
|
|
60
60
|
* behaviour of its CLI, so we have to plumb together its lower-level functions.
|
|
61
|
-
* On the other
|
|
61
|
+
* On the other hand, this affords more flexibility in how we track and report
|
|
62
62
|
* on progress and results.
|
|
63
63
|
*/
|
|
64
64
|
const runPrettier = (mode, logger) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -82,39 +82,37 @@ const runPrettier = (mode, logger) => __awaiter(void 0, void 0, void 0, function
|
|
|
82
82
|
touched: [],
|
|
83
83
|
unparsed: [],
|
|
84
84
|
};
|
|
85
|
-
logger.debug('
|
|
86
|
-
const
|
|
85
|
+
logger.debug(mode === 'format' ? 'Formatting' : 'Linting', 'files...');
|
|
86
|
+
for (const filepath of filepaths) {
|
|
87
87
|
const [config, data, fileInfo] = yield Promise.all([
|
|
88
88
|
(0, prettier_1.resolveConfig)(filepath),
|
|
89
89
|
fs_extra_1.default.promises.readFile(filepath, 'utf-8'),
|
|
90
90
|
// Infer parser upfront so we can know to ignore unsupported file types.
|
|
91
91
|
(0, prettier_1.getFileInfo)(filepath, { resolveConfig: false }),
|
|
92
92
|
]);
|
|
93
|
-
|
|
93
|
+
const file = {
|
|
94
94
|
data,
|
|
95
95
|
filepath,
|
|
96
96
|
options: Object.assign(Object.assign({}, config), { filepath }),
|
|
97
97
|
parser: fileInfo.inferredParser,
|
|
98
98
|
};
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
const formatted = formatOrLintFile(file, logger, mode, result);
|
|
100
|
+
if (typeof formatted === 'string') {
|
|
101
|
+
yield fs_extra_1.default.promises.writeFile(filepath, formatted);
|
|
102
|
+
}
|
|
103
103
|
}
|
|
104
|
-
logger.debug(`Writing ${logger.pluralise(result.touched.length, 'file')}...`);
|
|
105
|
-
yield Promise.all(result.touched.map(({ data, filepath }) => fs_extra_1.default.promises.writeFile(filepath, data)));
|
|
106
104
|
const end = process.hrtime.bigint();
|
|
107
105
|
logger.plain(`Processed ${logger.pluralise(result.count - result.unparsed.length, 'file')} in ${logger.timing(start, end)}.`);
|
|
108
106
|
if (result.touched.length) {
|
|
109
107
|
logger.plain(`Formatted ${logger.pluralise(result.touched.length, 'file')}:`);
|
|
110
|
-
for (const
|
|
108
|
+
for (const filepath of result.touched) {
|
|
111
109
|
logger.warn(filepath);
|
|
112
110
|
}
|
|
113
111
|
}
|
|
114
112
|
if (result.errored.length) {
|
|
115
113
|
logger.plain(`Flagged ${logger.pluralise(result.errored.length, 'file')}:`);
|
|
116
114
|
for (const { err, filepath } of result.errored) {
|
|
117
|
-
logger.warn(filepath, ...(err ? [(
|
|
115
|
+
logger.warn(filepath, ...(err ? [String(err)] : []));
|
|
118
116
|
}
|
|
119
117
|
}
|
|
120
118
|
return { ok: result.errored.length === 0, result };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../src/cli/adapter/prettier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../src/cli/adapter/prettier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,gDAAuD;AAEhD,MAAM,YAAY,GAAG,CAAO,QAAgB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IAED,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,KAAK,CACnC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,QAAQ,CACzC,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;KACvB;IAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,gDAAuD;AAEhD,MAAM,YAAY,GAAG,CAAO,QAAgB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IAED,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,KAAK,CACnC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,QAAQ,CACzC,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;KACvB;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,IAAA,uBAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QAED,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAA,CAAC;AApBW,QAAA,YAAY,gBAoBvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const auditWorkingTree: () => Promise<void>;
|
|
1
|
+
export declare const auditWorkingTree: (dir: string) => Promise<void>;
|
|
@@ -8,27 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.auditWorkingTree = void 0;
|
|
13
|
-
const
|
|
16
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
|
+
const isomorphic_git_1 = __importDefault(require("isomorphic-git"));
|
|
18
|
+
const dir_1 = require("../../../utils/dir");
|
|
14
19
|
const logging_1 = require("../../../utils/logging");
|
|
15
|
-
const auditWorkingTree = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
exec('git', 'status', '--short'),
|
|
20
|
-
]);
|
|
21
|
-
const workingTree = {
|
|
22
|
-
dirty: Boolean(diff.stdout),
|
|
23
|
-
untracked: Boolean(status.stdout),
|
|
24
|
-
};
|
|
25
|
-
if (workingTree.dirty || workingTree.untracked) {
|
|
26
|
-
const fileTypes = Object.entries(workingTree)
|
|
27
|
-
.filter(([, value]) => value)
|
|
28
|
-
.map(([key]) => key)
|
|
29
|
-
.join('/');
|
|
20
|
+
const auditWorkingTree = (dir) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
const filepaths = yield (0, dir_1.crawlDirectory)(dir);
|
|
22
|
+
const statuses = yield Promise.all(filepaths.map((filepath) => isomorphic_git_1.default.status({ dir, fs: fs_extra_1.default, filepath })));
|
|
23
|
+
if (statuses.some((status) => status !== 'absent' && status !== 'ignored' && status !== 'unmodified')) {
|
|
30
24
|
logging_1.log.newline();
|
|
31
|
-
logging_1.log.warn('You have
|
|
25
|
+
logging_1.log.warn('You have dirty/untracked files that may be overwritten.');
|
|
32
26
|
}
|
|
33
27
|
});
|
|
34
28
|
exports.auditWorkingTree = auditWorkingTree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,oEAAiC;AAEjC,4CAAoD;AACpD,oDAA6C;AAEtC,MAAM,gBAAgB,GAAG,CAAO,GAAW,EAAE,EAAE;IACpD,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAF,kBAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAC/D,CAAC;IAEF,IACE,QAAQ,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,CACzE,EACD;QACA,aAAG,CAAC,OAAO,EAAE,CAAC;QACd,aAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;KACrE;AACH,CAAC,CAAA,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,wDAA0B;AAE1B,4CAA+E;AAC/E,gDAAuD;AACvD,wCAAyC;AAGzC,iCAA4C;AAErC,MAAM,2BAA2B,GACtC,CAAC,IAAY,EAAE,EAAE,CACjB,CAAO,QAAgB,EAA+B,EAAE;IACtD,IAAI;QACF,OAAO,MAAM,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;KACtE;IAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../src/cli/configure/analysis/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ const configure = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
41
41
|
yield (0, logo_1.showLogoAndVersionInfo)();
|
|
42
42
|
const [manifest] = yield Promise.all([
|
|
43
43
|
(0, package_1.getDestinationManifest)(),
|
|
44
|
-
(0, exec_1.ensureCommands)('
|
|
44
|
+
(0, exec_1.ensureCommands)('yarn'),
|
|
45
45
|
]);
|
|
46
46
|
const destinationRoot = path_1.default.dirname(manifest.path);
|
|
47
47
|
logging_1.log.plain('Detected project root:', logging_1.log.bold(destinationRoot));
|
|
@@ -50,7 +50,7 @@ const configure = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
50
50
|
path_1.default.join(destinationRoot, '.gitignore'),
|
|
51
51
|
path_1.default.join(template_1.BASE_TEMPLATE_DIR, '_.gitignore'),
|
|
52
52
|
]),
|
|
53
|
-
(0, git_1.auditWorkingTree)(),
|
|
53
|
+
(0, git_1.auditWorkingTree)(destinationRoot),
|
|
54
54
|
]);
|
|
55
55
|
const templateConfig = yield (0, ensureTemplateCompletion_1.ensureTemplateCompletion)({
|
|
56
56
|
destinationRoot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/configure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AAExB,uCAAkC;AAElC,yCAAwD;AACxD,2CAA8D;AAC9D,iDAA0C;AAC1C,2CAA0D;AAC1D,mDAAyD;AACzD,uDAAiD;AAEjD,iEAA8D;AAC9D,+DAA4D;AAC5D,wCAAkD;AAClD,gDAA4D;AAC5D,yEAAsE;AACtE,mDAAgD;AAChD,qDAAkD;AAElD,MAAM,WAAW,GAAG,CAAO,IAAY,EAAE,EAAE;IACzC,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;QACxB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAU;QAC/B,OAAO,EAAE,gBAAgB;QACzB,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IAElC,OAAO,MAAM,KAAK,KAAK,CAAC;AAC1B,CAAC,CAAA,CAAC;AAEK,MAAM,SAAS,GAAG,GAAS,EAAE;IAClC,MAAM,IAAA,6BAAsB,GAAE,CAAC;IAE/B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnC,IAAA,gCAAsB,GAAE;QACxB,IAAA,qBAAc,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/configure/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ const tsconfigModule = ({ firstRun, type, }) => __awaiter(void 0, void 0, void 0
|
|
|
43
43
|
}
|
|
44
44
|
// optimistically rewire Dockerfile for new output directory
|
|
45
45
|
if (outDir !== undefined && outDir !== 'lib') {
|
|
46
|
-
files.Dockerfile = (_a = files.Dockerfile) === null || _a === void 0 ? void 0 : _a.
|
|
46
|
+
files.Dockerfile = (_a = files.Dockerfile) === null || _a === void 0 ? void 0 : _a.replace(new RegExp(`([^\\w])${outDir}([^\\w])`, 'g'), '$1lib$2');
|
|
47
47
|
}
|
|
48
48
|
const outputData = (0, record_1.merge)(inputData !== null && inputData !== void 0 ? inputData : {}, baseData);
|
|
49
49
|
// Remove `lib/**/*` and `lib`, which duplicate `lib*/**/*`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/tsconfig.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAA+D;AAC/D,0DAA6E;AAC7E,6CAA+D;AAC/D,uDAAoD;AACpD,iDAA6C;AAGtC,MAAM,cAAc,GAAG,CAAO,EACnC,QAAQ,EACR,IAAI,GACI,EAAmB,EAAE;IAC7B,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,IAAA,+BAAoB,EAAC,qBAAqB,CAAC;QAC3C,IAAA,+BAAoB,EAAC,eAAe,CAAC;KACtC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;IAEvC,kEAAkE;IAClE,IACE,IAAA,oBAAO,EAAC,QAAQ,EAAE,iBAAiB,CAAC;QACpC,IAAA,oBAAO,EAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,EAC3C;QACA,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC;KACxC;IAED,yCAAyC;IACzC,IACE,IAAI,KAAK,SAAS;QAClB,IAAA,oBAAO,EAAC,QAAQ,EAAE,iBAAiB,CAAC;QACpC,IAAA,qBAAQ,EAAC,QAAQ,CAAC,eAAe,CAAC,EAClC;QACA,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC;QACxC,OAAO,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;KACvC;IAED,uCACK,IAAA,qBAAS,EAAC,YAAY,CAAC,KAE1B,qBAAqB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,SAAS,EAE5D,eAAe,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;;YAClD,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,MAA0B,CAAC;YAE/B,IACE,IAAA,oBAAO,EAAC,SAAS,EAAE,iBAAiB,CAAC;gBACrC,IAAA,0BAAa,EAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC,EAClD;gBACA,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aAC9D;YAED,4DAA4D;YAC5D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE;gBAC5C,KAAK,CAAC,UAAU,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,
|
|
1
|
+
{"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../src/cli/configure/modules/tsconfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ export declare const getFirstDefined: <T>(record: Record<string, T | undefined>,
|
|
|
4
4
|
*
|
|
5
5
|
* Array properties are sorted and deduped.
|
|
6
6
|
*/
|
|
7
|
-
export declare const merge: <A, B>(obj: A, src: B) => A & B;
|
|
7
|
+
export declare const merge: <A, B>(obj: A, src: B) => {} & A & B;
|
|
8
8
|
/**
|
|
9
9
|
* Like `merge`, but arrays are not deduped or sorted to preserve order.
|
|
10
10
|
*/
|
|
11
|
-
export declare const mergeRaw: <A, B>(obj: A, src: B) => A & B;
|
|
11
|
+
export declare const mergeRaw: <A, B>(obj: A, src: B) => {} & A & B;
|
|
@@ -21,7 +21,7 @@ exports.getFirstDefined = getFirstDefined;
|
|
|
21
21
|
*
|
|
22
22
|
* Array properties are sorted and deduped.
|
|
23
23
|
*/
|
|
24
|
-
const merge = (obj, src) => (0, lodash_mergewith_1.default)(obj, src, (objValue, srcValue) => {
|
|
24
|
+
const merge = (obj, src) => (0, lodash_mergewith_1.default)({}, obj, src, (objValue, srcValue) => {
|
|
25
25
|
if (isArray(objValue) && isArray(srcValue)) {
|
|
26
26
|
return [...new Set(objValue.concat(srcValue))].sort();
|
|
27
27
|
}
|
|
@@ -31,7 +31,7 @@ exports.merge = merge;
|
|
|
31
31
|
/**
|
|
32
32
|
* Like `merge`, but arrays are not deduped or sorted to preserve order.
|
|
33
33
|
*/
|
|
34
|
-
const mergeRaw = (obj, src) => (0, lodash_mergewith_1.default)(obj, src, (objValue, srcValue) => isArray(objValue) && isArray(srcValue)
|
|
34
|
+
const mergeRaw = (obj, src) => (0, lodash_mergewith_1.default)({}, obj, src, (objValue, srcValue) => isArray(objValue) && isArray(srcValue)
|
|
35
35
|
? objValue.concat(srcValue)
|
|
36
36
|
: undefined);
|
|
37
37
|
exports.mergeRaw = mergeRaw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cli/configure/processing/record.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAyC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAC7B,MAAqC,EACrC,IAAc,EACC,EAAE;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO;AACT,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC5C,IAAA,0BAAS,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../../src/cli/configure/processing/record.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAyC;AAEzC,MAAM,OAAO,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtE,MAAM,eAAe,GAAG,CAC7B,MAAqC,EACrC,IAAc,EACC,EAAE;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO;AACT,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B;AAEF;;;;GAIG;AACI,MAAM,KAAK,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC5C,IAAA,0BAAS,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC/D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;IAED,OAAO;AACT,CAAC,CAAC,CAAC;AAPQ,QAAA,KAAK,SAOb;AAEL;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAO,GAAM,EAAE,GAAM,EAAE,EAAE,CAC/C,IAAA,0BAAS,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE,CAC/D,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3B,CAAC,CAAC,SAAS,CACd,CAAC;AALS,QAAA,QAAQ,YAKjB"}
|
package/lib/cli/format.js
CHANGED
|
@@ -20,15 +20,11 @@ const eslint_1 = require("./adapter/eslint");
|
|
|
20
20
|
const prettier_1 = require("./adapter/prettier");
|
|
21
21
|
const format = (args = process.argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
22
|
const debug = (0, args_1.hasDebugFlag)(args);
|
|
23
|
-
logging_1.log.
|
|
24
|
-
logging_1.log.plain(chalk_1.default.magenta('Fixing code with ESLint'));
|
|
25
|
-
logging_1.log.plain(chalk_1.default.magenta('-----------------------'));
|
|
23
|
+
logging_1.log.plain(chalk_1.default.magenta('ESLint'));
|
|
26
24
|
const eslint = yield (0, eslint_1.runESLint)('format', (0, logging_1.createLogger)(debug));
|
|
27
25
|
logging_1.log.newline();
|
|
28
|
-
logging_1.log.plain(chalk_1.default.cyan('
|
|
29
|
-
logging_1.log.plain(chalk_1.default.cyan('-----------------------------'));
|
|
26
|
+
logging_1.log.plain(chalk_1.default.cyan('Prettier'));
|
|
30
27
|
const prettier = yield (0, prettier_1.runPrettier)('format', (0, logging_1.createLogger)(debug));
|
|
31
|
-
logging_1.log.newline();
|
|
32
28
|
if (eslint.ok && prettier.ok) {
|
|
33
29
|
return;
|
|
34
30
|
}
|
|
@@ -36,8 +32,8 @@ const format = (args = process.argv) => __awaiter(void 0, void 0, void 0, functi
|
|
|
36
32
|
...(eslint.ok ? [] : ['ESLint']),
|
|
37
33
|
...(prettier.ok ? [] : ['Prettier']),
|
|
38
34
|
];
|
|
39
|
-
logging_1.log.err(tools.join(', '), 'found issues that require triage.');
|
|
40
35
|
logging_1.log.newline();
|
|
36
|
+
logging_1.log.err(tools.join(', '), 'found issues that require triage.');
|
|
41
37
|
process.exitCode = 1;
|
|
42
38
|
});
|
|
43
39
|
exports.format = format;
|