aws / jsii-compiler

The jsii compiler for TypeScript
https://aws.github.io/jsii/
Apache License 2.0
27 stars 13 forks source link

JSII config file #1233

Open jci-aws opened 1 month ago

jci-aws commented 1 month ago

It would be nice to define JSII configuration in a separate configuration file, instead of cluttering package.json with JSII-specific configuration. Something like .jsii, .jsii.yaml, jsii.config.ts, etc.

All JSII configuration that currently exists in the package.json jsii field should be able to be specified here (including diagnostics). Type-checking the config would also be a nice-to-have here.

mrgrain commented 1 month ago

Yeah, I think particular for diagnostics this is quite annoying to be in package.json. With user-provided tsconfigs it's possible to move most of the settings away from it. But notably diagnostics is not supported.

The file can't be named .jsii, that's the name of the jsii assembly file. .jsiirc.json or jsii.config.json would work.

Alternatively, would to you think about a jsii section inside the tsconfig.json file?

jci-aws commented 1 month ago

A jsii section inside tsconfig.json might be a bit confusing, since users may have multiple tsconfig.*.json files. But maybe that can be handled with a flag like jsii --project ./path/to/tsconfig.json, then if that tsconfig.json has a jsii section that configuration can be used.

A separate file is my personal preference tho, I like having a single file where it only contains configuration for a single tool.