projen-pipelines 0.2.7 → 0.2.9

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.
Files changed (57) hide show
  1. package/.jsii +4 -4
  2. package/lib/awscdk/base.js +1 -1
  3. package/lib/awscdk/bash.js +1 -1
  4. package/lib/awscdk/github.js +8 -8
  5. package/lib/awscdk/gitlab.js +1 -1
  6. package/lib/engines/github.js +3 -4
  7. package/lib/steps/artifact-steps.js +2 -2
  8. package/lib/steps/aws-assume-role.step.js +1 -1
  9. package/lib/steps/registries.js +2 -2
  10. package/lib/steps/step.js +4 -4
  11. package/llm.md +214 -0
  12. package/node_modules/semver/README.md +14 -4
  13. package/node_modules/semver/bin/semver.js +2 -1
  14. package/node_modules/semver/classes/semver.js +22 -6
  15. package/node_modules/semver/functions/diff.js +5 -12
  16. package/node_modules/semver/internal/re.js +2 -0
  17. package/node_modules/semver/package.json +8 -7
  18. package/node_modules/spdx-license-ids/README.md +0 -1
  19. package/node_modules/spdx-license-ids/index.json +14 -0
  20. package/node_modules/spdx-license-ids/package.json +3 -13
  21. package/package.json +15 -14
  22. package/node_modules/color-convert/CHANGELOG.md +0 -54
  23. package/node_modules/get-pkg-repo/CHANGELOG.md +0 -17
  24. package/node_modules/get-pkg-repo/node_modules/cliui/CHANGELOG.md +0 -121
  25. package/node_modules/get-pkg-repo/node_modules/yargs/CHANGELOG.md +0 -88
  26. package/node_modules/js-tokens/CHANGELOG.md +0 -151
  27. package/node_modules/json-parse-better-errors/CHANGELOG.md +0 -46
  28. package/node_modules/json-parse-even-better-errors/CHANGELOG.md +0 -50
  29. package/node_modules/kind-of/CHANGELOG.md +0 -160
  30. package/node_modules/meow/node_modules/hosted-git-info/CHANGELOG.md +0 -151
  31. package/node_modules/q/CHANGES.md +0 -800
  32. package/node_modules/read-pkg/node_modules/hosted-git-info/CHANGELOG.md +0 -151
  33. package/node_modules/source-map/CHANGELOG.md +0 -301
  34. package/node_modules/standard-version/node_modules/cliui/CHANGELOG.md +0 -121
  35. package/node_modules/standard-version/node_modules/conventional-changelog/CHANGELOG.md +0 -933
  36. package/node_modules/standard-version/node_modules/conventional-changelog-angular/CHANGELOG.md +0 -408
  37. package/node_modules/standard-version/node_modules/conventional-changelog-atom/CHANGELOG.md +0 -192
  38. package/node_modules/standard-version/node_modules/conventional-changelog-codemirror/CHANGELOG.md +0 -197
  39. package/node_modules/standard-version/node_modules/conventional-changelog-conventionalcommits/CHANGELOG.md +0 -245
  40. package/node_modules/standard-version/node_modules/conventional-changelog-core/CHANGELOG.md +0 -573
  41. package/node_modules/standard-version/node_modules/conventional-changelog-ember/CHANGELOG.md +0 -249
  42. package/node_modules/standard-version/node_modules/conventional-changelog-eslint/CHANGELOG.md +0 -234
  43. package/node_modules/standard-version/node_modules/conventional-changelog-express/CHANGELOG.md +0 -148
  44. package/node_modules/standard-version/node_modules/conventional-changelog-jquery/CHANGELOG.md +0 -237
  45. package/node_modules/standard-version/node_modules/conventional-changelog-jshint/CHANGELOG.md +0 -208
  46. package/node_modules/standard-version/node_modules/conventional-changelog-preset-loader/CHANGELOG.md +0 -183
  47. package/node_modules/standard-version/node_modules/conventional-changelog-writer/CHANGELOG.md +0 -603
  48. package/node_modules/standard-version/node_modules/conventional-commits-filter/CHANGELOG.md +0 -119
  49. package/node_modules/standard-version/node_modules/conventional-commits-parser/CHANGELOG.md +0 -463
  50. package/node_modules/standard-version/node_modules/conventional-recommended-bump/CHANGELOG.md +0 -432
  51. package/node_modules/standard-version/node_modules/git-raw-commits/CHANGELOG.md +0 -182
  52. package/node_modules/standard-version/node_modules/git-semver-tags/CHANGELOG.md +0 -206
  53. package/node_modules/standard-version/node_modules/yargs/CHANGELOG.md +0 -88
  54. package/node_modules/stringify-package/CHANGELOG.md +0 -16
  55. package/node_modules/wrap-ansi/node_modules/color-convert/CHANGELOG.md +0 -54
  56. package/node_modules/y18n/CHANGELOG.md +0 -100
  57. package/node_modules/yargs-parser/CHANGELOG.md +0 -263
package/llm.md ADDED
@@ -0,0 +1,214 @@
1
+ # Projen Pipelines - LLM Context
2
+
3
+ This document provides comprehensive information about the projen-pipelines library to assist LLMs in generating code and providing accurate guidance.
4
+
5
+ ## Overview
6
+
7
+ Projen Pipelines is an open-source project that automates CI/CD pipeline generation using Projen (a project configuration tool created by the inventor of AWS CDK). It provides high-level abstractions for defining continuous delivery pipelines with a focus on AWS CDK applications.
8
+
9
+ The library supports multiple CI/CD platforms (currently GitHub Actions, GitLab CI, and bash scripts) and allows users to easily switch between them without rewriting pipeline configurations.
10
+
11
+ ## Key Features
12
+
13
+ - **Automated pipeline code generation**: Generate CI/CD configuration files without manual writing
14
+ - **Multi-platform support**: Deploy to GitHub Actions, GitLab CI, or bash scripts
15
+ - **Baked-in proven defaults**: Optimized pipeline configurations
16
+ - **Compliance-as-code integration**: Integrate compliance requirements directly into pipelines
17
+ - **Platform migration support**: Switch CI/CD platforms with minimal code changes
18
+ - **Complex deployment scenarios**: Handle multi-stage, multi-account deployments
19
+ - **AWS infrastructure management**: Streamlined deployment to AWS environments
20
+
21
+ ## Core Architecture
22
+
23
+ Projen-pipelines is built on these architectural components:
24
+
25
+ 1. **Pipeline Engines**: Abstract interfaces with concrete implementations for each CI/CD platform
26
+ 2. **Pipeline Steps**: Modular, composable actions that make up pipeline workflows
27
+ 3. **CDK Integration**: Specialized components for AWS CDK applications
28
+ 4. **Configuration Generation**: Automated creation of platform-specific configuration files
29
+
30
+ ## Pipeline Steps
31
+
32
+ Steps are the fundamental building blocks. Key step types include:
33
+
34
+ - `PipelineStep` (abstract base class)
35
+ - `SimpleCommandStep` (execute shell commands)
36
+ - `ProjenScriptStep` (run projen scripts)
37
+ - `StepSequence` (combine multiple steps)
38
+ - `AwsAssumeRoleStep` (assume AWS IAM roles)
39
+ - Various artifact management steps
40
+
41
+ ## CDK Pipeline Integration
42
+
43
+ For AWS CDK applications, the library provides:
44
+
45
+ - `CDKPipeline` (abstract base class)
46
+ - Platform-specific implementations (e.g., `GithubCDKPipeline`)
47
+ - Support for multi-stage deployments (dev, prod, personal)
48
+ - Asset publishing and versioning
49
+ - Automated CloudFormation deployment
50
+
51
+ ## Usage Example
52
+
53
+ ```typescript
54
+ import { awscdk } from 'projen';
55
+ import { GithubCDKPipeline } from 'projen-pipelines';
56
+
57
+ // Define your AWS CDK TypeScript App
58
+ const app = new awscdk.AwsCdkTypeScriptApp({
59
+ cdkVersion: '2.150.0',
60
+ name: 'my-awesome-app',
61
+ defaultReleaseBranch: 'main',
62
+ devDeps: [
63
+ 'projen-pipelines',
64
+ ],
65
+ });
66
+
67
+ // Create the pipeline
68
+ new GithubCDKPipeline(app, {
69
+ stackPrefix: 'MyApp',
70
+ iamRoleArns: {
71
+ default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',
72
+ },
73
+ useGithubEnvironments: true,
74
+ stages: [
75
+ {
76
+ name: 'dev',
77
+ env: { account: '123456789013', region: 'eu-central-1' },
78
+ }, {
79
+ name: 'prod',
80
+ manualApproval: true,
81
+ env: { account: '123456789014', region: 'eu-central-1' },
82
+ }],
83
+ });
84
+ ```
85
+
86
+ After running `npx projen`, a specialized `app.ts` file is created for your CDK application.
87
+ Use it in your main.ts:
88
+
89
+ ```typescript
90
+ import { PipelineApp } from './app';
91
+ import { BackendStack } from './stack';
92
+
93
+ const app = new PipelineApp({
94
+ provideDevStack: (scope, id, props) => {
95
+ return new BackendStack(scope, id, {
96
+ ...props,
97
+ apiHostname: 'api-dev',
98
+ myConfigSetting: 'value-for-dev',
99
+ });
100
+ },
101
+ provideProdStack: (scope, id, props) => {
102
+ return new BackendStack(scope, id, {
103
+ ...props,
104
+ apiHostname: 'api',
105
+ myConfigSetting: 'value-for-prod',
106
+ });
107
+ },
108
+ providePersonalStack: (scope, id, props) => {
109
+ return new BackendStack(scope, id, {
110
+ ...props,
111
+ apiHostname: `api-${props.stageName}`,
112
+ myConfigSetting: 'value-for-personal-stage',
113
+ });
114
+ },
115
+ });
116
+
117
+ app.synth();
118
+ ```
119
+
120
+ ## Pipeline Configuration Options
121
+
122
+ When creating a CDK pipeline, these are key configuration options:
123
+
124
+ | Option | Description |
125
+ |--------|-------------|
126
+ | `stackPrefix` | Prefix for CloudFormation stack names |
127
+ | `iamRoleArns` | IAM roles for AWS access during deployment |
128
+ | `pkgNamespace` | Namespace for published packages |
129
+ | `stages` | Array of deployment stages with environment settings |
130
+ | `useGithubPackagesForAssembly` | Use GitHub Packages for assembly storage |
131
+
132
+ ## Deployment Stages
133
+
134
+ Each stage can have these properties:
135
+
136
+ | Property | Description |
137
+ |----------|-------------|
138
+ | `name` | Stage name (e.g., 'dev', 'prod') |
139
+ | `env` | AWS environment (account ID and region) |
140
+ | `manualApproval` | Require manual approval before deployment |
141
+
142
+ ## IAM Trust Configuration
143
+
144
+ For multi-account deployments, trust relationships are needed between accounts:
145
+
146
+ 1. Bootstrap each account with CDK:
147
+ ```bash
148
+ cdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies "arn:aws:iam::aws:policy/AdministratorAccess"
149
+ ```
150
+
151
+ 2. Create an IAM role in the deployment account that can assume roles in target accounts:
152
+ ```json
153
+ {
154
+ "Version": "2012-10-17",
155
+ "Statement": [
156
+ {
157
+ "Effect": "Allow",
158
+ "Action": "sts:AssumeRole",
159
+ "Resource": [
160
+ "arn:aws:iam::123456789013:role/cdk-*-123456789013-*",
161
+ "arn:aws:iam::123456789014:role/cdk-*-123456789014-*"
162
+ ]
163
+ }
164
+ ]
165
+ }
166
+ ```
167
+
168
+ 3. Configure OIDC trust for GitHub Actions (see [GitHub documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services))
169
+
170
+ ## Generated Tasks
171
+
172
+ The CDK pipeline adds these tasks to your projen project:
173
+
174
+ | Task | Description |
175
+ |------|-------------|
176
+ | `deploy:personal` | Deploy personal development environment |
177
+ | `watch:personal` | Deploy personal environment in watch mode |
178
+ | `diff:personal` | Compare personal environment with code |
179
+ | `destroy:personal` | Remove personal environment |
180
+ | `deploy:feature` | Deploy feature branch environment |
181
+ | `diff:feature` | Compare feature environment with code |
182
+ | `destroy:feature` | Remove feature environment |
183
+ | `deploy:<stageName>` | Deploy a specific stage |
184
+ | `diff:<stageName>` | Compare stage with code |
185
+ | `publish:assets` | Publish CDK assets to all accounts |
186
+ | `bump` | Bump version based on git tags |
187
+ | `release:push-assembly` | Publish cloud assembly to registry |
188
+
189
+ ## Best Practices
190
+
191
+ 1. **IAM Role Setup**: Create minimal permission IAM roles for deployment
192
+ 2. **Account Bootstrapping**: Bootstrap all accounts with appropriate trust relationships
193
+ 3. **Testing Locally**: Use the `deploy:personal` task for testing changes locally
194
+ 4. **Environment Variables**: For GitHub token issues, run `GITHUB_TOKEN= npx projen`
195
+ 5. **Security**: Never use `AdministratorAccess` in production; use custom IAM policies
196
+
197
+ ## Current Status and Limitations
198
+
199
+ Projen-Pipelines is currently in version 0.x, awaiting Projen's 1.0 release. Despite being pre-1.0, it's being used in production environments.
200
+
201
+ ## Extension Points
202
+
203
+ The library is designed for extension via:
204
+
205
+ 1. Creating custom pipeline steps
206
+ 2. Implementing new engine adapters
207
+ 3. Adding support for new application types
208
+ 4. Contributing new deployment patterns
209
+
210
+ ## For More Information
211
+
212
+ - GitHub Repository: https://github.com/open-constructs/projen-pipelines
213
+ - API Documentation: See the API.md file
214
+ - Examples: See the README.md for usage examples
@@ -100,7 +100,7 @@ Options:
100
100
  -i --increment [<level>]
101
101
  Increment a version by the specified level. Level can
102
102
  be one of: major, minor, patch, premajor, preminor,
103
- prepatch, or prerelease. Default level is 'patch'.
103
+ prepatch, prerelease, or release. Default level is 'patch'.
104
104
  Only one version may be specified.
105
105
 
106
106
  --preid <identifier>
@@ -141,6 +141,8 @@ A "version" is described by the `v2.0.0` specification found at
141
141
  <https://semver.org/>.
142
142
 
143
143
  A leading `"="` or `"v"` character is stripped off and ignored.
144
+ Support for stripping a leading "v" is kept for compatibility with `v1.0.0` of the SemVer
145
+ specification but should not be used anymore.
144
146
 
145
147
  ## Ranges
146
148
 
@@ -237,6 +239,13 @@ $ semver 1.2.4-beta.0 -i prerelease
237
239
  1.2.4-beta.1
238
240
  ```
239
241
 
242
+ To get out of the prerelease phase, use the `release` option:
243
+
244
+ ```bash
245
+ $ semver 1.2.4-beta.1 -i release
246
+ 1.2.4
247
+ ```
248
+
240
249
  #### Prerelease Identifier Base
241
250
 
242
251
  The method `.inc` takes an optional parameter 'identifierBase' string
@@ -415,10 +424,10 @@ Strict-mode Comparators and Ranges will be strict about the SemVer
415
424
  strings that they parse.
416
425
 
417
426
  * `valid(v)`: Return the parsed version, or null if it's not valid.
418
- * `inc(v, release, options, identifier, identifierBase)`:
427
+ * `inc(v, releaseType, options, identifier, identifierBase)`:
419
428
  Return the version incremented by the release
420
429
  type (`major`, `premajor`, `minor`, `preminor`, `patch`,
421
- `prepatch`, or `prerelease`), or null if it's not valid
430
+ `prepatch`, `prerelease`, or `release`), or null if it's not valid
422
431
  * `premajor` in one call will bump the version up to the next major
423
432
  version and down to a prerelease of that major version.
424
433
  `preminor`, and `prepatch` work the same way.
@@ -426,6 +435,7 @@ strings that they parse.
426
435
  same as `prepatch`. It increments the patch version and then makes a
427
436
  prerelease. If the input version is already a prerelease it simply
428
437
  increments it.
438
+ * `release` will remove any prerelease part of the version.
429
439
  * `identifier` can be used to prefix `premajor`, `preminor`,
430
440
  `prepatch`, or `prerelease` version increments. `identifierBase`
431
441
  is the base to be used for the `prerelease` identifier.
@@ -477,7 +487,7 @@ strings that they parse.
477
487
 
478
488
  ### Ranges
479
489
 
480
- * `validRange(range)`: Return the valid range or null if it's not valid
490
+ * `validRange(range)`: Return the valid range or null if it's not valid.
481
491
  * `satisfies(version, range)`: Return true if the version satisfies the
482
492
  range.
483
493
  * `maxSatisfying(versions, range)`: Return the highest version in the list
@@ -61,6 +61,7 @@ const main = () => {
61
61
  switch (argv[0]) {
62
62
  case 'major': case 'minor': case 'patch': case 'prerelease':
63
63
  case 'premajor': case 'preminor': case 'prepatch':
64
+ case 'release':
64
65
  inc = argv.shift()
65
66
  break
66
67
  default:
@@ -149,7 +150,7 @@ Options:
149
150
  -i --increment [<level>]
150
151
  Increment a version by the specified level. Level can
151
152
  be one of: major, minor, patch, premajor, preminor,
152
- prepatch, or prerelease. Default level is 'patch'.
153
+ prepatch, prerelease, or release. Default level is 'patch'.
153
154
  Only one version may be specified.
154
155
 
155
156
  --preid <identifier>
@@ -1,6 +1,6 @@
1
1
  const debug = require('../internal/debug')
2
2
  const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')
3
- const { safeRe: re, t } = require('../internal/re')
3
+ const { safeRe: re, safeSrc: src, t } = require('../internal/re')
4
4
 
5
5
  const parseOptions = require('../internal/parse-options')
6
6
  const { compareIdentifiers } = require('../internal/identifiers')
@@ -10,7 +10,7 @@ class SemVer {
10
10
 
11
11
  if (version instanceof SemVer) {
12
12
  if (version.loose === !!options.loose &&
13
- version.includePrerelease === !!options.includePrerelease) {
13
+ version.includePrerelease === !!options.includePrerelease) {
14
14
  return version
15
15
  } else {
16
16
  version = version.version
@@ -176,6 +176,20 @@ class SemVer {
176
176
  // preminor will bump the version up to the next minor release, and immediately
177
177
  // down to pre-release. premajor and prepatch work the same way.
178
178
  inc (release, identifier, identifierBase) {
179
+ if (release.startsWith('pre')) {
180
+ if (!identifier && identifierBase === false) {
181
+ throw new Error('invalid increment argument: identifier is empty')
182
+ }
183
+ // Avoid an invalid semver results
184
+ if (identifier) {
185
+ const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`)
186
+ const match = `-${identifier}`.match(r)
187
+ if (!match || match[1] !== identifier) {
188
+ throw new Error(`invalid identifier: ${identifier}`)
189
+ }
190
+ }
191
+ }
192
+
179
193
  switch (release) {
180
194
  case 'premajor':
181
195
  this.prerelease.length = 0
@@ -206,6 +220,12 @@ class SemVer {
206
220
  }
207
221
  this.inc('pre', identifier, identifierBase)
208
222
  break
223
+ case 'release':
224
+ if (this.prerelease.length === 0) {
225
+ throw new Error(`version ${this.raw} is not a prerelease`)
226
+ }
227
+ this.prerelease.length = 0
228
+ break
209
229
 
210
230
  case 'major':
211
231
  // If this is a pre-major version, bump up to the same major version.
@@ -249,10 +269,6 @@ class SemVer {
249
269
  case 'pre': {
250
270
  const base = Number(identifierBase) ? 1 : 0
251
271
 
252
- if (!identifier && identifierBase === false) {
253
- throw new Error('invalid increment argument: identifier is empty')
254
- }
255
-
256
272
  if (this.prerelease.length === 0) {
257
273
  this.prerelease = [base]
258
274
  } else {
@@ -27,20 +27,13 @@ const diff = (version1, version2) => {
27
27
  return 'major'
28
28
  }
29
29
 
30
- // Otherwise it can be determined by checking the high version
31
-
32
- if (highVersion.patch) {
33
- // anything higher than a patch bump would result in the wrong version
30
+ // If the main part has no difference
31
+ if (lowVersion.compareMain(highVersion) === 0) {
32
+ if (lowVersion.minor && !lowVersion.patch) {
33
+ return 'minor'
34
+ }
34
35
  return 'patch'
35
36
  }
36
-
37
- if (highVersion.minor) {
38
- // anything higher than a minor bump would result in the wrong version
39
- return 'minor'
40
- }
41
-
42
- // bumping major/minor/patch all have same result
43
- return 'major'
44
37
  }
45
38
 
46
39
  // add the `pre` prefix if we are going to a prerelease version
@@ -10,6 +10,7 @@ exports = module.exports = {}
10
10
  const re = exports.re = []
11
11
  const safeRe = exports.safeRe = []
12
12
  const src = exports.src = []
13
+ const safeSrc = exports.safeSrc = []
13
14
  const t = exports.t = {}
14
15
  let R = 0
15
16
 
@@ -42,6 +43,7 @@ const createToken = (name, value, isGlobal) => {
42
43
  debug(name, index, value)
43
44
  t[name] = index
44
45
  src[index] = value
46
+ safeSrc[index] = safe
45
47
  re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
46
48
  safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
47
49
  }
@@ -1,20 +1,21 @@
1
1
  {
2
2
  "name": "semver",
3
- "version": "7.6.3",
3
+ "version": "7.7.1",
4
4
  "description": "The semantic version parser used by npm.",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "test": "tap",
8
8
  "snap": "tap",
9
- "lint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"",
9
+ "lint": "npm run eslint",
10
10
  "postlint": "template-oss-check",
11
- "lintfix": "npm run lint -- --fix",
11
+ "lintfix": "npm run eslint -- --fix",
12
12
  "posttest": "npm run lint",
13
- "template-oss-apply": "template-oss-apply --force"
13
+ "template-oss-apply": "template-oss-apply --force",
14
+ "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
14
15
  },
15
16
  "devDependencies": {
16
- "@npmcli/eslint-config": "^4.0.0",
17
- "@npmcli/template-oss": "4.22.0",
17
+ "@npmcli/eslint-config": "^5.0.0",
18
+ "@npmcli/template-oss": "4.23.4",
18
19
  "benchmark": "^2.1.4",
19
20
  "tap": "^16.0.0"
20
21
  },
@@ -51,7 +52,7 @@
51
52
  "author": "GitHub Inc.",
52
53
  "templateOSS": {
53
54
  "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
54
- "version": "4.22.0",
55
+ "version": "4.23.4",
55
56
  "engines": ">=10",
56
57
  "distPaths": [
57
58
  "classes/",
@@ -1,7 +1,6 @@
1
1
  # spdx-license-ids
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/spdx-license-ids.svg)](https://www.npmjs.com/package/spdx-license-ids)
4
- [![Github Actions](https://action-badges.now.sh/jslicense/spdx-license-ids)](https://wdp9fww0r9.execute-api.us-west-2.amazonaws.com/production/results/jslicense/spdx-license-ids)
5
4
 
6
5
  A list of [SPDX license](https://spdx.org/licenses/) identifiers
7
6
 
@@ -89,6 +89,7 @@
89
89
  "Bitstream-Vera",
90
90
  "BlueOak-1.0.0",
91
91
  "Boehm-GC",
92
+ "Boehm-GC-without-fee",
92
93
  "Borceux",
93
94
  "Brian-Gladman-2-Clause",
94
95
  "Brian-Gladman-3-Clause",
@@ -148,6 +149,8 @@
148
149
  "CC-BY-SA-3.0-IGO",
149
150
  "CC-BY-SA-4.0",
150
151
  "CC-PDDC",
152
+ "CC-PDM-1.0",
153
+ "CC-SA-1.0",
151
154
  "CC0-1.0",
152
155
  "CDDL-1.0",
153
156
  "CDDL-1.1",
@@ -198,6 +201,7 @@
198
201
  "DRL-1.1",
199
202
  "DSDP",
200
203
  "DocBook-Schema",
204
+ "DocBook-Stylesheet",
201
205
  "DocBook-XML",
202
206
  "Dotseqn",
203
207
  "ECL-1.0",
@@ -305,6 +309,7 @@
305
309
  "Imlib2",
306
310
  "Info-ZIP",
307
311
  "Inner-Net-2.0",
312
+ "InnoSetup",
308
313
  "Intel",
309
314
  "Intel-ACPI",
310
315
  "Interbase-1.0",
@@ -349,9 +354,11 @@
349
354
  "Linux-man-pages-copyleft-2-para",
350
355
  "Linux-man-pages-copyleft-var",
351
356
  "Lucida-Bitmap-Fonts",
357
+ "MIPS",
352
358
  "MIT",
353
359
  "MIT-0",
354
360
  "MIT-CMU",
361
+ "MIT-Click",
355
362
  "MIT-Festival",
356
363
  "MIT-Khronos-old",
357
364
  "MIT-Modern-Variant",
@@ -502,6 +509,7 @@
502
509
  "SISSL",
503
510
  "SISSL-1.2",
504
511
  "SL",
512
+ "SMAIL-GPL",
505
513
  "SMLNJ",
506
514
  "SMPPL",
507
515
  "SNIA",
@@ -515,6 +523,7 @@
515
523
  "SchemeReport",
516
524
  "Sendmail",
517
525
  "Sendmail-8.23",
526
+ "Sendmail-Open-Source-1.1",
518
527
  "SimPL-2.0",
519
528
  "Sleepycat",
520
529
  "Soundex",
@@ -540,6 +549,8 @@
540
549
  "TU-Berlin-1.0",
541
550
  "TU-Berlin-2.0",
542
551
  "TermReadKey",
552
+ "ThirdEye",
553
+ "TrustedQSL",
543
554
  "UCAR",
544
555
  "UCL-1.0",
545
556
  "UMich-Merit",
@@ -583,6 +594,7 @@
583
594
  "Zimbra-1.4",
584
595
  "Zlib",
585
596
  "any-OSI",
597
+ "any-OSI-perl-modules",
586
598
  "bcrypt-Solar-Designer",
587
599
  "blessing",
588
600
  "bzip2-1.0.6",
@@ -599,6 +611,7 @@
599
611
  "etalab-2.0",
600
612
  "fwlw",
601
613
  "gSOAP-1.3b",
614
+ "generic-xts",
602
615
  "gnuplot",
603
616
  "gtkbook",
604
617
  "hdparm",
@@ -627,6 +640,7 @@
627
640
  "threeparttable",
628
641
  "ulem",
629
642
  "w3m",
643
+ "wwl",
630
644
  "xinetd",
631
645
  "xkeyboard-config-Zinoviev",
632
646
  "xlock",
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "spdx-license-ids",
3
- "version": "3.0.20",
3
+ "version": "3.0.21",
4
4
  "description": "A list of SPDX license identifiers",
5
5
  "repository": "jslicense/spdx-license-ids",
6
6
  "author": "Shinnosuke Watanabe (https://github.com/shinnn)",
7
7
  "license": "CC0-1.0",
8
8
  "scripts": {
9
9
  "build": "node build.js",
10
- "pretest": "eslint .",
11
10
  "latest": "node latest.js",
11
+ "pretest": "npm run build",
12
12
  "test": "node test.js"
13
13
  },
14
14
  "files": [
@@ -25,15 +25,5 @@
25
25
  "json",
26
26
  "array",
27
27
  "oss"
28
- ],
29
- "devDependencies": {
30
- "@shinnn/eslint-config": "^7.0.0",
31
- "eslint": "^8.49.0",
32
- "eslint-formatter-codeframe": "^7.32.1",
33
- "rmfr": "^2.0.0",
34
- "tape": "^5.6.6"
35
- },
36
- "eslintConfig": {
37
- "extends": "@shinnn"
38
- }
28
+ ]
39
29
  }
package/package.json CHANGED
@@ -38,33 +38,34 @@
38
38
  "organization": true
39
39
  },
40
40
  "devDependencies": {
41
+ "@stylistic/eslint-plugin": "^2",
41
42
  "@types/fs-extra": "^11.0.4",
42
43
  "@types/jest": "^27.5.2",
43
44
  "@types/node": "^18",
44
45
  "@types/standard-version": "^7.1.3",
45
- "@typescript-eslint/eslint-plugin": "^7",
46
- "@typescript-eslint/parser": "^7",
46
+ "@typescript-eslint/eslint-plugin": "^8",
47
+ "@typescript-eslint/parser": "^8",
47
48
  "commit-and-tag-version": "^12",
48
49
  "constructs": "10.4.2",
49
- "eslint": "^8",
50
- "eslint-import-resolver-typescript": "^3.7.0",
50
+ "eslint": "^9",
51
+ "eslint-import-resolver-typescript": "^3.10.0",
51
52
  "eslint-plugin-import": "^2.31.0",
52
- "fs-extra": "^11.2.0",
53
+ "fs-extra": "^11.3.0",
53
54
  "jest": "^29.7.0",
54
- "jest-junit": "^15",
55
- "jsii": "~5.4",
56
- "jsii-diff": "^1.106.0",
55
+ "jest-junit": "^16",
56
+ "jsii": "~5.8",
57
+ "jsii-diff": "^1.111.0",
57
58
  "jsii-docgen": "^10.5.0",
58
59
  "jsii-pacmak": "^1.106.0",
59
- "jsii-rosetta": "~5.4",
60
- "projen": "0.86.7",
61
- "ts-jest": "^29.2.5",
60
+ "jsii-rosetta": "~5.8",
61
+ "projen": "0.91.20",
62
+ "ts-jest": "^29.3.1",
62
63
  "ts-node": "^10.9.2",
63
- "typescript": "^5.7.3"
64
+ "typescript": "^5.8.3"
64
65
  },
65
66
  "peerDependencies": {
66
67
  "constructs": "^10.4.2",
67
- "projen": ">=0.86.7 <1.0.0"
68
+ "projen": ">=0.91.20 <1.0.0"
68
69
  },
69
70
  "dependencies": {
70
71
  "standard-version": "^9.5.0"
@@ -82,7 +83,7 @@
82
83
  "publishConfig": {
83
84
  "access": "public"
84
85
  },
85
- "version": "0.2.7",
86
+ "version": "0.2.9",
86
87
  "jest": {
87
88
  "coverageProvider": "v8",
88
89
  "testMatch": [
@@ -1,54 +0,0 @@
1
- # 1.0.0 - 2016-01-07
2
-
3
- - Removed: unused speed test
4
- - Added: Automatic routing between previously unsupported conversions
5
- ([#27](https://github.com/Qix-/color-convert/pull/27))
6
- - Removed: `xxx2xxx()` and `xxx2xxxRaw()` functions
7
- ([#27](https://github.com/Qix-/color-convert/pull/27))
8
- - Removed: `convert()` class
9
- ([#27](https://github.com/Qix-/color-convert/pull/27))
10
- - Changed: all functions to lookup dictionary
11
- ([#27](https://github.com/Qix-/color-convert/pull/27))
12
- - Changed: `ansi` to `ansi256`
13
- ([#27](https://github.com/Qix-/color-convert/pull/27))
14
- - Fixed: argument grouping for functions requiring only one argument
15
- ([#27](https://github.com/Qix-/color-convert/pull/27))
16
-
17
- # 0.6.0 - 2015-07-23
18
-
19
- - Added: methods to handle
20
- [ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) 16/256 colors:
21
- - rgb2ansi16
22
- - rgb2ansi
23
- - hsl2ansi16
24
- - hsl2ansi
25
- - hsv2ansi16
26
- - hsv2ansi
27
- - hwb2ansi16
28
- - hwb2ansi
29
- - cmyk2ansi16
30
- - cmyk2ansi
31
- - keyword2ansi16
32
- - keyword2ansi
33
- - ansi162rgb
34
- - ansi162hsl
35
- - ansi162hsv
36
- - ansi162hwb
37
- - ansi162cmyk
38
- - ansi162keyword
39
- - ansi2rgb
40
- - ansi2hsl
41
- - ansi2hsv
42
- - ansi2hwb
43
- - ansi2cmyk
44
- - ansi2keyword
45
- ([#18](https://github.com/harthur/color-convert/pull/18))
46
-
47
- # 0.5.3 - 2015-06-02
48
-
49
- - Fixed: hsl2hsv does not return `NaN` anymore when using `[0,0,0]`
50
- ([#15](https://github.com/harthur/color-convert/issues/15))
51
-
52
- ---
53
-
54
- Check out commit logs for older releases