Skip to content

Commit 4a2828a

Browse files
committed
Fix prettier eslint integration
existing prettier config was broken, removed manual prettier config in favor of projen managed config
1 parent 6e4c35e commit 4a2828a

36 files changed

+5170
-287
lines changed

.eslintrc.json

Lines changed: 6 additions & 96 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.gitattributes

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.gitignore

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.prettierignore

Lines changed: 1 addition & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.prettierrc

Lines changed: 0 additions & 5 deletions
This file was deleted.

.prettierrc.json

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/deps.json

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/files.json

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projen/tasks.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projenrc.ts

Lines changed: 47 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,91 @@
1-
import * as path from 'path';
2-
import { javascript, JsonPatch } from 'projen';
3-
import { AwsCdkConstructLibrary } from 'projen/lib/awscdk';
1+
import * as path from "path";
2+
import { javascript, JsonPatch } from "projen";
3+
import { AwsCdkConstructLibrary } from "projen/lib/awscdk";
44
import {
55
DataDogMonitorSchemaGenerator,
66
DataDogDashboardSchemaGenerator,
77
DataDogSLOSchemaGenerator,
88
PATCHERS,
9-
} from './projenrc';
9+
} from "./projenrc";
1010

1111
const project = new AwsCdkConstructLibrary({
12-
author: 'Gabriel Fürstenheim',
13-
authorAddress: '[email protected]',
14-
cdkVersion: '2.92.0',
15-
defaultReleaseBranch: 'master',
16-
name: '@goodnotes-oss/cdk-datadog-resources',
17-
repositoryUrl: 'https://github.com/GoodNotes/cdk-datadog-resources.git',
12+
author: "Gabriel Fürstenheim",
13+
authorAddress: "[email protected]",
14+
cdkVersion: "2.92.0",
15+
defaultReleaseBranch: "master",
16+
name: "@goodnotes-oss/cdk-datadog-resources",
17+
repositoryUrl: "https://github.com/GoodNotes/cdk-datadog-resources.git",
1818
projenrcTs: true,
1919

2020
/* AwsCdkConstructLibraryOptions */
21-
constructsVersion: '10.2.69',
22-
jsiiVersion: '~5.0.0',
23-
peerDeps: ['[email protected]'],
24-
bundledDeps: ['camelcase-keys'],
25-
devDeps: ['prettier', '[email protected]', '[email protected]', 'json-schema-to-typescript'],
21+
constructsVersion: "10.2.69",
22+
jsiiVersion: "~5.0.0",
23+
peerDeps: ["[email protected]"],
24+
bundledDeps: ["camelcase-keys", "decamelize"],
25+
devDeps: [
26+
27+
28+
"json-schema-to-typescript",
29+
],
2630

2731
npmAccess: javascript.NpmAccess.PUBLIC,
28-
gitignore: ['cdk.out/'],
32+
gitignore: ["cdk.out/"],
33+
prettier: true,
2934
});
3035

3136
// JSII sets this to `false` so we need to be compatible
32-
const tsConfigDev = project.tryFindObjectFile('tsconfig.dev.json');
33-
tsConfigDev?.patch(JsonPatch.replace('/compilerOptions/esModuleInterop', false));
37+
const tsConfigDev = project.tryFindObjectFile("tsconfig.dev.json");
38+
tsConfigDev?.patch(
39+
JsonPatch.replace("/compilerOptions/esModuleInterop", false),
40+
);
3441

3542
// docgen is currently the only task of post-compile and it fails for aws-cdk-lib in jsii
3643
// https://github.com/cdklabs/jsii-docgen/issues/1122
37-
const docgen = project.tasks.tryFind('docgen');
44+
const docgen = project.tasks.tryFind("docgen");
3845
if (docgen) docgen.reset();
3946

40-
const schemaDir = 'cf-schema';
47+
const schemaDir = "cf-schema";
4148

4249
const monitorProps = new DataDogMonitorSchemaGenerator(
4350
project,
44-
path.join(project.srcdir, 'monitors', 'datadog-monitor-schema.generated.ts'),
51+
path.join(project.srcdir, "monitors", "datadog-monitor-schema.generated.ts"),
4552
{
46-
filePath: path.join(schemaDir, 'datadog-monitor-4.6.0.json'),
53+
filePath: path.join(schemaDir, "datadog-monitor-4.6.0.json"),
4754
},
4855
);
4956

5057
const dashboardProps = new DataDogDashboardSchemaGenerator(
5158
project,
52-
path.join(project.srcdir, 'dashboards', 'datadog-dashboard-schema.generated.ts'),
59+
path.join(
60+
project.srcdir,
61+
"dashboards",
62+
"datadog-dashboard-schema.generated.ts",
63+
),
5364
{
54-
filePath: path.join(schemaDir, 'datadog-dashboard-2.1.0.json'),
65+
filePath: path.join(schemaDir, "datadog-dashboard-2.1.0.json"),
5566
},
5667
);
5768

5869
const sloProps = new DataDogSLOSchemaGenerator(
5970
project,
60-
path.join(project.srcdir, 'slos', 'datadog-slo-schema.generated.ts'),
71+
path.join(project.srcdir, "slos", "datadog-slo-schema.generated.ts"),
6172
{
62-
filePath: path.join(schemaDir, 'datadog-slo-1.1.0.json'),
73+
filePath: path.join(schemaDir, "datadog-slo-1.1.0.json"),
6374
},
6475
);
6576

77+
project.addTask("parse-json", {
78+
exec: "ts-node projenrc/parse-json.ts",
79+
description:
80+
"Parse a DataDog json file into DataDog Typescript compatible json",
81+
receiveArgs: true,
82+
});
83+
6684
// call all Json Schema generators async, then synth
6785
void Promise.all([
68-
monitorProps.generate('DatadogMonitorProps', PATCHERS.readonlyFields),
69-
dashboardProps.generate('DatadogDashboardProps', PATCHERS.readonlyFields),
70-
sloProps.generate('DatadogSLOProps', PATCHERS.readonlyFields),
86+
monitorProps.generate("DatadogMonitorProps", PATCHERS.readonlyFields),
87+
dashboardProps.generate("DatadogDashboardProps", PATCHERS.readonlyFields),
88+
sloProps.generate("DatadogSLOProps", PATCHERS.readonlyFields),
7189
]).then(() => {
7290
project.synth();
7391
});

0 commit comments

Comments
 (0)