Socket
Socket
Sign inDemoInstall

@gemeentenijmegen/modules-projen

Package Overview
Dependencies
78
Maintainers
4
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @gemeentenijmegen/modules-projen

This repository contains an NPM package that can be used to create a new Projen AWS CDK App project.


Version published
Weekly downloads
14
decreased by-64.1%
Maintainers
4
Created
Weekly downloads
 

Readme

Source

GemeenteNijmegen projen project type

This repository contains an NPM package that can be used to create a new Projen AWS CDK App project.

The project type GemeenteNijmegenCdkApp provides a number of default configurations and provides features used within our organization. There are:

  • Comments with CloudFormation template diffs on PRs
  • Cfn-lint Github wrokflow
  • Defautl configuration values

Github secrets

This project type relies on Github secrets to be set in order for all its Github workflows to work.

Environment variableExplanation
GITHUB_PROJEN_TOKENProjen Github personal access token
SLACK_WEBHOOK_URLThis is the url used for the emergency workflow to publish to slack

Using this project type

For new projects

npx projen new --from @gemeentenijmegen/modules-projen

For existing projects

For instructions on how to start using the project type in existing projects there is the setup guide. Note: for switching back to the awscdk-app-ts projen project type also see the setup guide.

Properties overview

There are a number of relevant properties that are provided by projen

PropertyDefaultExplanation
cdkVersion'2.1.0'Minimum version of the cdk to use (upgraded using projen upgrade task)
defaultReleaseBranch'main'Should be set to acceptance
nameproject nameSets the project name
gitignoreA number of default ignored files are set specific to our projects
scriptsThe cfn-lint script is added to the list of scripts configured
licenseEUPL-1.2The defult license used by us
depsUpgradeOptionsUpgrade workflow configuration (branch: acceptance, labels: cfn-diff)

The project type in this npm package provides some additional configuration options:

PropertyDefaultExplanation
enableCfnLintOnGithubtrueEnable step in the Github build workflow that runs cfn-lint
enableCfnDiffWorkflowfalseEnable job in the Github build workflow that checks for changes in CloudFormation templates
enableEmergencyProceduretrueAdds the emergency procedure workflow to Github workflows
enableAutoMergeDependenciestrueAdds the auto-merge workflow for PR's to acceptance (from upgrade workflow)

Upgrade dependencies

De upgrade dependencies task en Github workflow zijn standaard enabled. Deze task zal de laatste versies van de dependencies zoeken (volgens semantic versionioning) en upgraden in de package.json.

Dit project type zet de default branch voor het uitvoeren van de workflow op acceptance. De Github workflow voert de upgrade dependencies taak uit en maakt een PR naar acceptance en geeft het PR een label cfn-diff en auto-merge.

Automerge workflow

De automerge workflow gaat af als een PR acceptance als base heeft en het label auto-merge heeft. Deze probeert het PR te mergen met de auto-merge feature van Github. Hiervoor moet in het Github-project automerge aan staan. NB: Zorg dat branch protection aan staat voor acceptance, met de eis dat aan alle voorwaarden voldaan is. Anders kan de auto-merge worden uitgevoerd voordat de build succesvol is.

CDK upgrade

De upgrade dependencies taak in projen is inclusief de CDK versie. Hiervoor wordt de minimum versie in de .projenrc.js van een project ingesteeld.

Dit betekent dat:

  • Wanneer cdkVersion: '2.1.0 gebruikt wordt in de .projenrc.js dit in de package.json wordt geimporteerd als "aws-cdk-lib": "^2.1.0"
  • Wanneer de upgrade dependencies taak draait de package.json wordt geupdate naar bijv: "aws-cdk-lib": "^2.31.0"
  • Semantic versioning zorgt er voor dat er nooit een major upgrade wordt gedaan omdat deze braking changes kan hebben.

Projen upgrade

De projen versie wordt ook geupgrade in de upgrade dependencies task.

CloudFormation diff

  • Deze workflow kan worden enabled in de .projenrc.js met de property enableCfnDiffWorkflow: true.
  • Draait alleen op PRs met het label cfn-diff.

FAQs

Last updated on 31 Dec 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc