Documentation
¶
Overview ¶
Projen External Project for awesome-lists
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AwesomeList_DEFAULT_TASK ¶
func AwesomeList_DEFAULT_TASK() *string
func NewAwesomeList_Override ¶
func NewAwesomeList_Override(a AwesomeList, options *AwesomeListProjectOptions)
Experimental.
Types ¶
type AwesomeList ¶
type AwesomeList interface { cdk.JsiiProject // Deprecated: use `package.allowLibraryDependencies` AllowLibraryDependencies() *bool // The build output directory. // // An npm tarball will be created under the `js` // subdirectory. For example, if this is set to `dist` (the default), the npm // tarball will be placed under `dist/js/boom-boom-1.2.3.tg`. // Experimental. ArtifactsDirectory() *string // The location of the npm tarball after build (`${artifactsDirectory}/js`). // Experimental. ArtifactsJavascriptDirectory() *string // Auto approve set up for this project. // Deprecated. AutoApprove() github.AutoApprove // Automatic PR merges. // Experimental. AutoMerge() github.AutoMerge // Experimental. BuildTask() projen.Task // The PR build GitHub workflow. // // `undefined` if `buildWorkflow` is disabled. // Experimental. BuildWorkflow() build.BuildWorkflow // The job ID of the build workflow. // Experimental. BuildWorkflowJobId() *string // Experimental. Bundler() javascript.Bundler // Experimental. CompileTask() projen.Task // Returns all the components within this project. // Experimental. Components() *[]projen.Component // This is the "default" task, the one that executes "projen". // // Undefined if // the project is being ejected. // Experimental. DefaultTask() projen.Task // Project dependencies. // Experimental. Deps() projen.Dependencies // Access for .devcontainer.json (used for GitHub Codespaces). // // This will be `undefined` if devContainer boolean is false. // Deprecated. DevContainer() vscode.DevContainer // Experimental. Docgen() *bool // Experimental. DocsDirectory() *string // Whether or not the project is being ejected. // Experimental. Ejected() *bool // Deprecated: use `package.entrypoint` Entrypoint() *string // Experimental. Eslint() javascript.Eslint // All files in this project. // Experimental. Files() *[]projen.FileBase // The .gitattributes file for this repository. // Experimental. Gitattributes() projen.GitAttributesFile // Access all github components. // // This will be `undefined` for subprojects. // Deprecated. Github() github.GitHub // .gitignore. // Experimental. Gitignore() projen.IgnoreFile // Access for Gitpod. // // This will be `undefined` if gitpod boolean is false. // Deprecated. Gitpod() projen.Gitpod // The options used when this project is bootstrapped via `projen new`. // // It // includes the original set of options passed to the CLI and also the JSII // FQN of the project type. // Experimental. InitProject() *projen.InitProject // The Jest configuration (if enabled). // Experimental. Jest() javascript.Jest // The directory in which compiled .js files reside. // Experimental. Libdir() *string // Logging utilities. // Experimental. Logger() projen.Logger // Deprecated: use `package.addField(x, y)` Manifest() interface{} // Maximum node version required by this pacakge. // Experimental. MaxNodeVersion() *string // Minimum node.js version required by this package. // Experimental. MinNodeVersion() *string // Project name. // Experimental. Name() *string // The .npmignore file. // Experimental. Npmignore() projen.IgnoreFile // Absolute output directory of this project. // Experimental. Outdir() *string // API for managing the node package. // Experimental. Package() javascript.NodePackage // The package manager to use. // Deprecated: use `package.packageManager` PackageManager() javascript.NodePackageManager // Experimental. PackageTask() projen.Task // A parent project. // // If undefined, this is the root project. // Experimental. Parent() projen.Project // Experimental. PostCompileTask() projen.Task // Experimental. PreCompileTask() projen.Task // Experimental. Prettier() javascript.Prettier // Manages the build process of the project. // Experimental. ProjectBuild() projen.ProjectBuild // Deprecated. ProjectType() projen.ProjectType // The command to use in order to run the projen CLI. // Experimental. ProjenCommand() *string // Package publisher. // // This will be `undefined` if the project does not have a // release workflow. // Deprecated: use `release.publisher`. Publisher() release.Publisher // Release management. // Experimental. Release() release.Release // The root project. // Experimental. Root() projen.Project // The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager). // Experimental. RunScriptCommand() *string // The directory in which the .ts sources reside. // Experimental. Srcdir() *string // Project tasks. // Experimental. Tasks() projen.Tasks // The directory in which tests reside. // Experimental. Testdir() *string // Experimental. TestTask() projen.Task // Experimental. Tsconfig() javascript.TypescriptConfig // A typescript configuration file which covers all files (sources, tests, projen). // Experimental. TsconfigDev() javascript.TypescriptConfig // Experimental. TsconfigEslint() javascript.TypescriptConfig // The upgrade workflow. // Experimental. UpgradeWorkflow() javascript.UpgradeDependencies // Access all VSCode components. // // This will be `undefined` for subprojects. // Deprecated. Vscode() vscode.VsCode // The "watch" task. // Experimental. WatchTask() projen.Task // Experimental. AddBins(bins *map[string]*string) // Defines bundled dependencies. // // Bundled dependencies will be added as normal dependencies as well as to the // `bundledDependencies` section of your `package.json`. // Experimental. AddBundledDeps(deps ...*string) // DEPRECATED. // Deprecated: use `project.compileTask.exec()` AddCompileCommand(commands ...*string) // Defines normal dependencies. // Experimental. AddDeps(deps ...*string) // Defines development/test dependencies. // Experimental. AddDevDeps(deps ...*string) // Exclude the matching files from pre-synth cleanup. // // Can be used when, for example, some // source files include the projen marker and we don't want them to be erased during synth. // Experimental. AddExcludeFromCleanup(globs ...*string) // Directly set fields in `package.json`. // Experimental. AddFields(fields *map[string]interface{}) // Adds a .gitignore pattern. // Experimental. AddGitIgnore(pattern *string) // Adds keywords to package.json (deduplicated). // Experimental. AddKeywords(keywords ...*string) // Exclude these files from the bundled package. // // Implemented by project types based on the // packaging mechanism. For example, `NodeProject` delegates this to `.npmignore`. // Experimental. AddPackageIgnore(pattern *string) // Defines peer dependencies. // // When adding peer dependencies, a devDependency will also be added on the // pinned version of the declared peer. This will ensure that you are testing // your code against the minimum version required from your consumers. // Experimental. AddPeerDeps(deps ...*string) // Adds a new task to this project. // // This will fail if the project already has // a task with this name. // Experimental. AddTask(name *string, props *projen.TaskOptions) projen.Task // DEPRECATED. // Deprecated: use `project.testTask.exec()` AddTestCommand(commands ...*string) // Prints a "tip" message during synthesis. // Deprecated: - use `project.logger.info(message)` to show messages during synthesis AddTip(message *string) // Marks the provided file(s) as being generated. // // This is achieved using the // github-linguist attributes. Generated files do not count against the // repository statistics and language breakdown. // See: https://github.com/github/linguist/blob/master/docs/overrides.md // // Deprecated. AnnotateGenerated(glob *string) // Indicates if a script by the name name is defined. // Experimental. HasScript(name *string) *bool // Called after all components are synthesized. // // Order is *not* guaranteed. // Experimental. PostSynthesize() // Called before all components are synthesized. // Experimental. PreSynthesize() // Removes the npm script (always successful). // Experimental. RemoveScript(name *string) // Removes a task from a project. // // Returns: The `Task` that was removed, otherwise `undefined`. // Experimental. RemoveTask(name *string) projen.Task // Returns the set of workflow steps which should be executed to bootstrap a workflow. // // Returns: Job steps. // Experimental. RenderWorkflowSetup(options *javascript.RenderWorkflowSetupOptions) *[]*workflows.JobStep // Returns the shell command to execute in order to run a task. // // This will // typically be `npx projen TASK`. // Experimental. RunTaskCommand(task projen.Task) *string // Replaces the contents of an npm package.json script. // Experimental. SetScript(name *string, command *string) // Synthesize all project files into `outdir`. // // 1. Call "this.preSynthesize()" // 2. Delete all generated files // 3. Synthesize all sub-projects // 4. Synthesize all components of this project // 5. Call "postSynthesize()" for all components of this project // 6. Call "this.postSynthesize()" // Experimental. Synth() // Finds a file at the specified relative path within this project and all its subprojects. // // Returns: a `FileBase` or undefined if there is no file in that path. // Experimental. TryFindFile(filePath *string) projen.FileBase // Finds a json file by name. // Deprecated: use `tryFindObjectFile`. TryFindJsonFile(filePath *string) projen.JsonFile // Finds an object file (like JsonFile, YamlFile, etc.) by name. // Experimental. TryFindObjectFile(filePath *string) projen.ObjectFile }
Awesome List project. Experimental.
func NewAwesomeList ¶
func NewAwesomeList(options *AwesomeListProjectOptions) AwesomeList
Experimental.
type AwesomeListProjectOptions ¶
type AwesomeListProjectOptions struct { // This is the name of your project. // Experimental. Name *string `json:"name" yaml:"name"` // Configure logging options such as verbosity. // Experimental. Logging *projen.LoggerOptions `json:"logging" yaml:"logging"` // The root directory of the project. // // Relative to this directory, all files are synthesized. // // If this project has a parent, this directory is relative to the parent // directory and it cannot be the same as the parent or any of it's other // sub-projects. // Experimental. Outdir *string `json:"outdir" yaml:"outdir"` // The parent project, if this project is part of a bigger project. // Experimental. Parent projen.Project `json:"parent" yaml:"parent"` // The shell command to use in order to run the projen CLI. // // Can be used to customize in special environments. // Experimental. ProjenCommand *string `json:"projenCommand" yaml:"projenCommand"` // Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. // Experimental. ProjenrcJson *bool `json:"projenrcJson" yaml:"projenrcJson"` // Options for .projenrc.json. // Experimental. ProjenrcJsonOptions *projen.ProjenrcOptions `json:"projenrcJsonOptions" yaml:"projenrcJsonOptions"` // Enable and configure the 'auto approve' workflow. // Experimental. AutoApproveOptions *github.AutoApproveOptions `json:"autoApproveOptions" yaml:"autoApproveOptions"` // Configure options for automatic merging on GitHub. // // Has no effect if // `github.mergify` is set to false. // Experimental. AutoMergeOptions *github.AutoMergeOptions `json:"autoMergeOptions" yaml:"autoMergeOptions"` // Add a `clobber` task which resets the repo to origin. // Experimental. Clobber *bool `json:"clobber" yaml:"clobber"` // Add a VSCode development environment (used for GitHub Codespaces). // Experimental. DevContainer *bool `json:"devContainer" yaml:"devContainer"` // Enable GitHub integration. // // Enabled by default for root projects. Disabled for non-root projects. // Experimental. Github *bool `json:"github" yaml:"github"` // Options for GitHub integration. // Experimental. GithubOptions *github.GitHubOptions `json:"githubOptions" yaml:"githubOptions"` // Add a Gitpod development environment. // Experimental. Gitpod *bool `json:"gitpod" yaml:"gitpod"` // Whether mergify should be enabled on this repository or not. // Deprecated: use `githubOptions.mergify` instead Mergify *bool `json:"mergify" yaml:"mergify"` // Options for mergify. // Deprecated: use `githubOptions.mergifyOptions` instead MergifyOptions *github.MergifyOptions `json:"mergifyOptions" yaml:"mergifyOptions"` // Which type of project this is (library/app). // Deprecated: no longer supported at the base project level. ProjectType projen.ProjectType `json:"projectType" yaml:"projectType"` // The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. // // This token needs to have the `repo`, `workflows` // and `packages` scope. // Experimental. ProjenTokenSecret *string `json:"projenTokenSecret" yaml:"projenTokenSecret"` // The README setup. // // Example: // "{ filename: 'readme.md', contents: '# title' }" // // Experimental. Readme *projen.SampleReadmeProps `json:"readme" yaml:"readme"` // Auto-close of stale issues and pull request. // // See `staleOptions` for options. // Experimental. Stale *bool `json:"stale" yaml:"stale"` // Auto-close stale issues and pull requests. // // To disable set `stale` to `false`. // Experimental. StaleOptions *github.StaleOptions `json:"staleOptions" yaml:"staleOptions"` // Enable VSCode integration. // // Enabled by default for root projects. Disabled for non-root projects. // Experimental. Vscode *bool `json:"vscode" yaml:"vscode"` // Allow the project to include `peerDependencies` and `bundledDependencies`. // // This is normally only allowed for libraries. For apps, there's no meaning // for specifying these. // Experimental. AllowLibraryDependencies *bool `json:"allowLibraryDependencies" yaml:"allowLibraryDependencies"` // Author's e-mail. // Experimental. AuthorEmail *string `json:"authorEmail" yaml:"authorEmail"` // Author's name. // Experimental. AuthorName *string `json:"authorName" yaml:"authorName"` // Author's Organization. // Experimental. AuthorOrganization *bool `json:"authorOrganization" yaml:"authorOrganization"` // Author's URL / Website. // Experimental. AuthorUrl *string `json:"authorUrl" yaml:"authorUrl"` // Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. // Experimental. AutoDetectBin *bool `json:"autoDetectBin" yaml:"autoDetectBin"` // Binary programs vended with your module. // // You can use this option to add/customize how binaries are represented in // your `package.json`, but unless `autoDetectBin` is `false`, every // executable file under `bin` will automatically be added to this section. // Experimental. Bin *map[string]*string `json:"bin" yaml:"bin"` // The email address to which issues should be reported. // Experimental. BugsEmail *string `json:"bugsEmail" yaml:"bugsEmail"` // The url to your project's issue tracker. // Experimental. BugsUrl *string `json:"bugsUrl" yaml:"bugsUrl"` // List of dependencies to bundle into this module. // // These modules will be // added both to the `dependencies` section and `bundledDependencies` section of // your `package.json`. // // The recommendation is to only specify the module name here (e.g. // `express`). This will behave similar to `yarn add` or `npm install` in the // sense that it will add the module as a dependency to your `package.json` // file with the latest version (`^`). You can specify semver requirements in // the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and // this will be what you `package.json` will eventually include. // Experimental. BundledDeps *[]*string `json:"bundledDeps" yaml:"bundledDeps"` // Options for publishing npm package to AWS CodeArtifact. // Experimental. CodeArtifactOptions *javascript.CodeArtifactOptions `json:"codeArtifactOptions" yaml:"codeArtifactOptions"` // Runtime dependencies of this module. // // The recommendation is to only specify the module name here (e.g. // `express`). This will behave similar to `yarn add` or `npm install` in the // sense that it will add the module as a dependency to your `package.json` // file with the latest version (`^`). You can specify semver requirements in // the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and // this will be what you `package.json` will eventually include. // // Example: // [ 'express', 'lodash', 'foo@^2' ] // // Experimental. Deps *[]*string `json:"deps" yaml:"deps"` // The description is just a string that helps people understand the purpose of the package. // // It can be used when searching for packages in a package manager as well. // See https://classic.yarnpkg.com/en/docs/package-json/#toc-description // Experimental. Description *string `json:"description" yaml:"description"` // Build dependencies for this module. // // These dependencies will only be // available in your build environment but will not be fetched when this // module is consumed. // // The recommendation is to only specify the module name here (e.g. // `express`). This will behave similar to `yarn add` or `npm install` in the // sense that it will add the module as a dependency to your `package.json` // file with the latest version (`^`). You can specify semver requirements in // the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and // this will be what you `package.json` will eventually include. // // Example: // [ 'typescript', '@types/express' ] // // Experimental. DevDeps *[]*string `json:"devDeps" yaml:"devDeps"` // Module entrypoint (`main` in `package.json`). // // Set to an empty string to not include `main` in your package.json // Experimental. Entrypoint *string `json:"entrypoint" yaml:"entrypoint"` // Package's Homepage / Website. // Experimental. Homepage *string `json:"homepage" yaml:"homepage"` // Keywords to include in `package.json`. // Experimental. Keywords *[]*string `json:"keywords" yaml:"keywords"` // License's SPDX identifier. // // See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. // Use the `licensed` option if you want to no license to be specified. // Experimental. License *string `json:"license" yaml:"license"` // Indicates if a license should be added. // Experimental. Licensed *bool `json:"licensed" yaml:"licensed"` // Minimum node.js version to require via `engines` (inclusive). // Experimental. MaxNodeVersion *string `json:"maxNodeVersion" yaml:"maxNodeVersion"` // Minimum Node.js version to require via package.json `engines` (inclusive). // Experimental. MinNodeVersion *string `json:"minNodeVersion" yaml:"minNodeVersion"` // Access level of the npm package. // Experimental. NpmAccess javascript.NpmAccess `json:"npmAccess" yaml:"npmAccess"` // The host name of the npm registry to publish to. // // Cannot be set together with `npmRegistryUrl`. // Deprecated: use `npmRegistryUrl` instead. NpmRegistry *string `json:"npmRegistry" yaml:"npmRegistry"` // The base URL of the npm package registry. // // Must be a URL (e.g. start with "https://" or "http://") // Experimental. NpmRegistryUrl *string `json:"npmRegistryUrl" yaml:"npmRegistryUrl"` // GitHub secret which contains the NPM token to use when publishing packages. // Experimental. NpmTokenSecret *string `json:"npmTokenSecret" yaml:"npmTokenSecret"` // The Node Package Manager used to execute scripts. // Experimental. PackageManager javascript.NodePackageManager `json:"packageManager" yaml:"packageManager"` // The "name" in package.json. // Experimental. PackageName *string `json:"packageName" yaml:"packageName"` // Options for `peerDeps`. // Experimental. PeerDependencyOptions *javascript.PeerDependencyOptions `json:"peerDependencyOptions" yaml:"peerDependencyOptions"` // Peer dependencies for this module. // // Dependencies listed here are required to // be installed (and satisfied) by the _consumer_ of this library. Using peer // dependencies allows you to ensure that only a single module of a certain // library exists in the `node_modules` tree of your consumers. // // Note that prior to npm@7, peer dependencies are _not_ automatically // installed, which means that adding peer dependencies to a library will be a // breaking change for your customers. // // Unless `peerDependencyOptions.pinnedDevDependency` is disabled (it is // enabled by default), projen will automatically add a dev dependency with a // pinned version for each peer dependency. This will ensure that you build & // test your module against the lowest peer version required. // Experimental. PeerDeps *[]*string `json:"peerDeps" yaml:"peerDeps"` // The repository is the location where the actual code for your package lives. // // See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository // Experimental. Repository *string `json:"repository" yaml:"repository"` // If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives. // Experimental. RepositoryDirectory *string `json:"repositoryDirectory" yaml:"repositoryDirectory"` // npm scripts to include. // // If a script has the same name as a standard script, // the standard script will be overwritten. // Experimental. Scripts *map[string]*string `json:"scripts" yaml:"scripts"` // Package's Stability. // Experimental. Stability *string `json:"stability" yaml:"stability"` // Version requirement of `publib` which is used to publish modules to npm. // Experimental. JsiiReleaseVersion *string `json:"jsiiReleaseVersion" yaml:"jsiiReleaseVersion"` // Major version to release from the default branch. // // If this is specified, we bump the latest version of this major version line. // If not specified, we bump the global latest version. // Experimental. MajorVersion *float64 `json:"majorVersion" yaml:"majorVersion"` // The npmDistTag to use when publishing from the default branch. // // To set the npm dist-tag for release branches, set the `npmDistTag` property // for each branch. // Experimental. NpmDistTag *string `json:"npmDistTag" yaml:"npmDistTag"` // Steps to execute after build as part of the release workflow. // Experimental. PostBuildSteps *[]*workflows.JobStep `json:"postBuildSteps" yaml:"postBuildSteps"` // Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). // Experimental. Prerelease *string `json:"prerelease" yaml:"prerelease"` // Instead of actually publishing to package managers, just print the publishing command. // Experimental. PublishDryRun *bool `json:"publishDryRun" yaml:"publishDryRun"` // Define publishing tasks that can be executed manually as well as workflows. // // Normally, publishing only happens within automated workflows. Enable this // in order to create a publishing task for each publishing activity. // Experimental. PublishTasks *bool `json:"publishTasks" yaml:"publishTasks"` // Defines additional release branches. // // A workflow will be created for each // release branch which will publish releases from commits in this branch. // Each release branch _must_ be assigned a major version number which is used // to enforce that versions published from that branch always use that major // version. If multiple branches are used, the `majorVersion` field must also // be provided for the default branch. // Experimental. ReleaseBranches *map[string]*release.BranchOptions `json:"releaseBranches" yaml:"releaseBranches"` // Automatically release new versions every commit to one of branches in `releaseBranches`. // Deprecated: Use `releaseTrigger: ReleaseTrigger.continuous()` instead ReleaseEveryCommit *bool `json:"releaseEveryCommit" yaml:"releaseEveryCommit"` // Create a github issue on every failed publishing task. // Experimental. ReleaseFailureIssue *bool `json:"releaseFailureIssue" yaml:"releaseFailureIssue"` // The label to apply to issues indicating publish failures. // // Only applies if `releaseFailureIssue` is true. // Experimental. ReleaseFailureIssueLabel *string `json:"releaseFailureIssueLabel" yaml:"releaseFailureIssueLabel"` // CRON schedule to trigger new releases. // Deprecated: Use `releaseTrigger: ReleaseTrigger.scheduled()` instead ReleaseSchedule *string `json:"releaseSchedule" yaml:"releaseSchedule"` // Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. // // Note: this prefix is used to detect the latest tagged version // when bumping, so if you change this on a project with an existing version // history, you may need to manually tag your latest release // with the new prefix. // Experimental. ReleaseTagPrefix *string `json:"releaseTagPrefix" yaml:"releaseTagPrefix"` // The release trigger to use. // Experimental. ReleaseTrigger release.ReleaseTrigger `json:"releaseTrigger" yaml:"releaseTrigger"` // The name of the default release workflow. // Experimental. ReleaseWorkflowName *string `json:"releaseWorkflowName" yaml:"releaseWorkflowName"` // A set of workflow steps to execute in order to setup the workflow container. // Experimental. ReleaseWorkflowSetupSteps *[]*workflows.JobStep `json:"releaseWorkflowSetupSteps" yaml:"releaseWorkflowSetupSteps"` // Custom configuration used when creating changelog with standard-version package. // // Given values either append to default configuration or overwrite values in it. // Experimental. VersionrcOptions *map[string]interface{} `json:"versionrcOptions" yaml:"versionrcOptions"` // Container image to use for GitHub workflows. // Experimental. WorkflowContainerImage *string `json:"workflowContainerImage" yaml:"workflowContainerImage"` // Github Runner selection labels. // Experimental. WorkflowRunsOn *[]*string `json:"workflowRunsOn" yaml:"workflowRunsOn"` // The name of the main release branch. // Experimental. DefaultReleaseBranch *string `json:"defaultReleaseBranch" yaml:"defaultReleaseBranch"` // A directory which will contain build artifacts. // Experimental. ArtifactsDirectory *string `json:"artifactsDirectory" yaml:"artifactsDirectory"` // Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). // // Throw if set to true but `autoApproveOptions` are not defined. // Experimental. AutoApproveProjenUpgrades *bool `json:"autoApproveProjenUpgrades" yaml:"autoApproveProjenUpgrades"` // Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). // // Throw if set to true but `autoApproveOptions` are not defined. // Experimental. AutoApproveUpgrades *bool `json:"autoApproveUpgrades" yaml:"autoApproveUpgrades"` // Define a GitHub workflow for building PRs. // Experimental. BuildWorkflow *bool `json:"buildWorkflow" yaml:"buildWorkflow"` // Build workflow triggers. // Experimental. BuildWorkflowTriggers *workflows.Triggers `json:"buildWorkflowTriggers" yaml:"buildWorkflowTriggers"` // Options for `Bundler`. // Experimental. BundlerOptions *javascript.BundlerOptions `json:"bundlerOptions" yaml:"bundlerOptions"` // Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v1 A secret is required for private repos. Configured with @codeCovTokenSecret. // Experimental. CodeCov *bool `json:"codeCov" yaml:"codeCov"` // Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. // Experimental. CodeCovTokenSecret *string `json:"codeCovTokenSecret" yaml:"codeCovTokenSecret"` // License copyright owner. // Experimental. CopyrightOwner *string `json:"copyrightOwner" yaml:"copyrightOwner"` // The copyright years to put in the LICENSE file. // Experimental. CopyrightPeriod *string `json:"copyrightPeriod" yaml:"copyrightPeriod"` // Use dependabot to handle dependency upgrades. // // Cannot be used in conjunction with `depsUpgrade`. // Experimental. Dependabot *bool `json:"dependabot" yaml:"dependabot"` // Options for dependabot. // Experimental. DependabotOptions *github.DependabotOptions `json:"dependabotOptions" yaml:"dependabotOptions"` // Use github workflows to handle dependency upgrades. // // Cannot be used in conjunction with `dependabot`. // Experimental. DepsUpgrade *bool `json:"depsUpgrade" yaml:"depsUpgrade"` // Options for depsUpgrade. // Experimental. DepsUpgradeOptions *javascript.UpgradeDependenciesOptions `json:"depsUpgradeOptions" yaml:"depsUpgradeOptions"` // Additional entries to .gitignore. // Experimental. Gitignore *[]*string `json:"gitignore" yaml:"gitignore"` // Setup jest unit tests. // Experimental. Jest *bool `json:"jest" yaml:"jest"` // Jest options. // Experimental. JestOptions *javascript.JestOptions `json:"jestOptions" yaml:"jestOptions"` // Automatically update files modified during builds to pull-request branches. // // This means // that any files synthesized by projen or e.g. test snapshots will always be up-to-date // before a PR is merged. // // Implies that PR builds do not have anti-tamper checks. // Experimental. MutableBuild *bool `json:"mutableBuild" yaml:"mutableBuild"` // Additional entries to .npmignore. // Deprecated: - use `project.addPackageIgnore` Npmignore *[]*string `json:"npmignore" yaml:"npmignore"` // Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. // Experimental. NpmignoreEnabled *bool `json:"npmignoreEnabled" yaml:"npmignoreEnabled"` // Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). // Experimental. Package *bool `json:"package" yaml:"package"` // Setup prettier. // Experimental. Prettier *bool `json:"prettier" yaml:"prettier"` // Prettier options. // Experimental. PrettierOptions *javascript.PrettierOptions `json:"prettierOptions" yaml:"prettierOptions"` // Indicates of "projen" should be installed as a devDependency. // Experimental. ProjenDevDependency *bool `json:"projenDevDependency" yaml:"projenDevDependency"` // Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. // Experimental. ProjenrcJs *bool `json:"projenrcJs" yaml:"projenrcJs"` // Options for .projenrc.js. // Experimental. ProjenrcJsOptions *javascript.ProjenrcOptions `json:"projenrcJsOptions" yaml:"projenrcJsOptions"` // Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). // // Throw if set to true but `autoApproveOptions` are not defined. // Deprecated: use `autoApproveProjenUpgrades`. ProjenUpgradeAutoMerge *bool `json:"projenUpgradeAutoMerge" yaml:"projenUpgradeAutoMerge"` // Customize the projenUpgrade schedule in cron expression. // Experimental. ProjenUpgradeSchedule *[]*string `json:"projenUpgradeSchedule" yaml:"projenUpgradeSchedule"` // Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`). // // This setting is a GitHub secret name which contains a GitHub Access Token // with `repo` and `workflow` permissions. // // This token is used to submit the upgrade pull request, which will likely // include workflow updates. // // To create a personal access token see https://github.com/settings/tokens // Deprecated: use `githubTokenSecret` instead. ProjenUpgradeSecret *string `json:"projenUpgradeSecret" yaml:"projenUpgradeSecret"` // Version of projen to install. // Experimental. ProjenVersion *string `json:"projenVersion" yaml:"projenVersion"` // Include a GitHub pull request template. // Experimental. PullRequestTemplate *bool `json:"pullRequestTemplate" yaml:"pullRequestTemplate"` // The contents of the pull request template. // Experimental. PullRequestTemplateContents *[]*string `json:"pullRequestTemplateContents" yaml:"pullRequestTemplateContents"` // Add release management to this project. // Experimental. Release *bool `json:"release" yaml:"release"` // Automatically release to npm when new versions are introduced. // Experimental. ReleaseToNpm *bool `json:"releaseToNpm" yaml:"releaseToNpm"` // DEPRECATED: renamed to `release`. // Deprecated: see `release`. ReleaseWorkflow *bool `json:"releaseWorkflow" yaml:"releaseWorkflow"` // Workflow steps to use in order to bootstrap this repo. // Experimental. WorkflowBootstrapSteps *[]*workflows.JobStep `json:"workflowBootstrapSteps" yaml:"workflowBootstrapSteps"` // The git identity to use in workflows. // Experimental. WorkflowGitIdentity *github.GitIdentity `json:"workflowGitIdentity" yaml:"workflowGitIdentity"` // The node version to use in GitHub workflows. // Experimental. WorkflowNodeVersion *string `json:"workflowNodeVersion" yaml:"workflowNodeVersion"` // Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). // Experimental. DisableTsconfig *bool `json:"disableTsconfig" yaml:"disableTsconfig"` // Docgen by Typedoc. // Experimental. Docgen *bool `json:"docgen" yaml:"docgen"` // Docs directory. // Experimental. DocsDirectory *string `json:"docsDirectory" yaml:"docsDirectory"` // The .d.ts file that includes the type declarations for this module. // Experimental. EntrypointTypes *string `json:"entrypointTypes" yaml:"entrypointTypes"` // Setup eslint. // Experimental. Eslint *bool `json:"eslint" yaml:"eslint"` // Eslint options. // Experimental. EslintOptions *javascript.EslintOptions `json:"eslintOptions" yaml:"eslintOptions"` // Typescript artifacts output directory. // Experimental. Libdir *string `json:"libdir" yaml:"libdir"` // Use TypeScript for your projenrc file (`.projenrc.ts`). // Experimental. ProjenrcTs *bool `json:"projenrcTs" yaml:"projenrcTs"` // Options for .projenrc.ts. // Experimental. ProjenrcTsOptions *typescript.ProjenrcOptions `json:"projenrcTsOptions" yaml:"projenrcTsOptions"` // Generate one-time sample in `src/` and `test/` if there are no files there. // Experimental. SampleCode *bool `json:"sampleCode" yaml:"sampleCode"` // Typescript sources directory. // Experimental. Srcdir *string `json:"srcdir" yaml:"srcdir"` // Jest tests directory. Tests files should be named `xxx.test.ts`. // // If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`), // then tests are going to be compiled into `lib/` and executed as javascript. // If the test directory is outside of `src`, then we configure jest to // compile the code in-memory. // Experimental. Testdir *string `json:"testdir" yaml:"testdir"` // Custom TSConfig. // Experimental. Tsconfig *javascript.TypescriptConfigOptions `json:"tsconfig" yaml:"tsconfig"` // Custom tsconfig options for the development tsconfig.json file (used for testing). // Experimental. TsconfigDev *javascript.TypescriptConfigOptions `json:"tsconfigDev" yaml:"tsconfigDev"` // The name of the development tsconfig.json file. // Experimental. TsconfigDevFile *string `json:"tsconfigDevFile" yaml:"tsconfigDevFile"` // TypeScript version to use. // // NOTE: Typescript is not semantically versioned and should remain on the // same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`). // Experimental. TypescriptVersion *string `json:"typescriptVersion" yaml:"typescriptVersion"` // The name of the library author. // Experimental. Author *string `json:"author" yaml:"author"` // Email or URL of the library author. // Experimental. AuthorAddress *string `json:"authorAddress" yaml:"authorAddress"` // Git repository URL. // Experimental. RepositoryUrl *string `json:"repositoryUrl" yaml:"repositoryUrl"` // Automatically run API compatibility test against the latest version published to npm after compilation. // // - You can manually run compatibility tests using `yarn compat` if this feature is disabled. // - You can ignore compatibility failures by adding lines to a ".compatignore" file. // Experimental. Compat *bool `json:"compat" yaml:"compat"` // Name of the ignore file for API compatibility tests. // Experimental. CompatIgnore *string `json:"compatIgnore" yaml:"compatIgnore"` // File path for generated docs. // Experimental. DocgenFilePath *string `json:"docgenFilePath" yaml:"docgenFilePath"` // Deprecated: use `publishToNuget`. Dotnet *cdk.JsiiDotNetTarget `json:"dotnet" yaml:"dotnet"` // Accepts a list of glob patterns. // // Files matching any of those patterns will be excluded from the TypeScript compiler input. // // By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. // This can be problematic for example when the package's build or test procedure generates .ts files // that cannot be compiled with jsii's compiler settings. // Experimental. ExcludeTypescript *[]*string `json:"excludeTypescript" yaml:"excludeTypescript"` // Publish Go bindings to a git repository. // Experimental. PublishToGo *cdk.JsiiGoTarget `json:"publishToGo" yaml:"publishToGo"` // Publish to maven. // Experimental. PublishToMaven *cdk.JsiiJavaTarget `json:"publishToMaven" yaml:"publishToMaven"` // Publish to NuGet. // Experimental. PublishToNuget *cdk.JsiiDotNetTarget `json:"publishToNuget" yaml:"publishToNuget"` // Publish to pypi. // Experimental. PublishToPypi *cdk.JsiiPythonTarget `json:"publishToPypi" yaml:"publishToPypi"` // Deprecated: use `publishToPyPi`. Python *cdk.JsiiPythonTarget `json:"python" yaml:"python"` // Experimental. Rootdir *string `json:"rootdir" yaml:"rootdir"` // What e-mail address to list for the Code of Conduct Point of Contact. // Experimental. ContactEmail *string `json:"contactEmail" yaml:"contactEmail"` }
Configurable knobs for Awesome Lists. Experimental.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.