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.
- package/.jsii +4 -4
- package/lib/awscdk/base.js +1 -1
- package/lib/awscdk/bash.js +1 -1
- package/lib/awscdk/github.js +8 -8
- package/lib/awscdk/gitlab.js +1 -1
- package/lib/engines/github.js +3 -4
- package/lib/steps/artifact-steps.js +2 -2
- package/lib/steps/aws-assume-role.step.js +1 -1
- package/lib/steps/registries.js +2 -2
- package/lib/steps/step.js +4 -4
- package/llm.md +214 -0
- package/node_modules/semver/README.md +14 -4
- package/node_modules/semver/bin/semver.js +2 -1
- package/node_modules/semver/classes/semver.js +22 -6
- package/node_modules/semver/functions/diff.js +5 -12
- package/node_modules/semver/internal/re.js +2 -0
- package/node_modules/semver/package.json +8 -7
- package/node_modules/spdx-license-ids/README.md +0 -1
- package/node_modules/spdx-license-ids/index.json +14 -0
- package/node_modules/spdx-license-ids/package.json +3 -13
- package/package.json +15 -14
- package/node_modules/color-convert/CHANGELOG.md +0 -54
- package/node_modules/get-pkg-repo/CHANGELOG.md +0 -17
- package/node_modules/get-pkg-repo/node_modules/cliui/CHANGELOG.md +0 -121
- package/node_modules/get-pkg-repo/node_modules/yargs/CHANGELOG.md +0 -88
- package/node_modules/js-tokens/CHANGELOG.md +0 -151
- package/node_modules/json-parse-better-errors/CHANGELOG.md +0 -46
- package/node_modules/json-parse-even-better-errors/CHANGELOG.md +0 -50
- package/node_modules/kind-of/CHANGELOG.md +0 -160
- package/node_modules/meow/node_modules/hosted-git-info/CHANGELOG.md +0 -151
- package/node_modules/q/CHANGES.md +0 -800
- package/node_modules/read-pkg/node_modules/hosted-git-info/CHANGELOG.md +0 -151
- package/node_modules/source-map/CHANGELOG.md +0 -301
- package/node_modules/standard-version/node_modules/cliui/CHANGELOG.md +0 -121
- package/node_modules/standard-version/node_modules/conventional-changelog/CHANGELOG.md +0 -933
- package/node_modules/standard-version/node_modules/conventional-changelog-angular/CHANGELOG.md +0 -408
- package/node_modules/standard-version/node_modules/conventional-changelog-atom/CHANGELOG.md +0 -192
- package/node_modules/standard-version/node_modules/conventional-changelog-codemirror/CHANGELOG.md +0 -197
- package/node_modules/standard-version/node_modules/conventional-changelog-conventionalcommits/CHANGELOG.md +0 -245
- package/node_modules/standard-version/node_modules/conventional-changelog-core/CHANGELOG.md +0 -573
- package/node_modules/standard-version/node_modules/conventional-changelog-ember/CHANGELOG.md +0 -249
- package/node_modules/standard-version/node_modules/conventional-changelog-eslint/CHANGELOG.md +0 -234
- package/node_modules/standard-version/node_modules/conventional-changelog-express/CHANGELOG.md +0 -148
- package/node_modules/standard-version/node_modules/conventional-changelog-jquery/CHANGELOG.md +0 -237
- package/node_modules/standard-version/node_modules/conventional-changelog-jshint/CHANGELOG.md +0 -208
- package/node_modules/standard-version/node_modules/conventional-changelog-preset-loader/CHANGELOG.md +0 -183
- package/node_modules/standard-version/node_modules/conventional-changelog-writer/CHANGELOG.md +0 -603
- package/node_modules/standard-version/node_modules/conventional-commits-filter/CHANGELOG.md +0 -119
- package/node_modules/standard-version/node_modules/conventional-commits-parser/CHANGELOG.md +0 -463
- package/node_modules/standard-version/node_modules/conventional-recommended-bump/CHANGELOG.md +0 -432
- package/node_modules/standard-version/node_modules/git-raw-commits/CHANGELOG.md +0 -182
- package/node_modules/standard-version/node_modules/git-semver-tags/CHANGELOG.md +0 -206
- package/node_modules/standard-version/node_modules/yargs/CHANGELOG.md +0 -88
- package/node_modules/stringify-package/CHANGELOG.md +0 -16
- package/node_modules/wrap-ansi/node_modules/color-convert/CHANGELOG.md +0 -54
- package/node_modules/y18n/CHANGELOG.md +0 -100
- 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
|
|
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,
|
|
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 `
|
|
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
|
|
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
|
-
|
|
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
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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.
|
|
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
|
|
9
|
+
"lint": "npm run eslint",
|
|
10
10
|
"postlint": "template-oss-check",
|
|
11
|
-
"lintfix": "npm run
|
|
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": "^
|
|
17
|
-
"@npmcli/template-oss": "4.
|
|
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.
|
|
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
|
[](https://www.npmjs.com/package/spdx-license-ids)
|
|
4
|
-
[](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.
|
|
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": "^
|
|
46
|
-
"@typescript-eslint/parser": "^
|
|
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": "^
|
|
50
|
-
"eslint-import-resolver-typescript": "^3.
|
|
50
|
+
"eslint": "^9",
|
|
51
|
+
"eslint-import-resolver-typescript": "^3.10.0",
|
|
51
52
|
"eslint-plugin-import": "^2.31.0",
|
|
52
|
-
"fs-extra": "^11.
|
|
53
|
+
"fs-extra": "^11.3.0",
|
|
53
54
|
"jest": "^29.7.0",
|
|
54
|
-
"jest-junit": "^
|
|
55
|
-
"jsii": "~5.
|
|
56
|
-
"jsii-diff": "^1.
|
|
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.
|
|
60
|
-
"projen": "0.
|
|
61
|
-
"ts-jest": "^29.
|
|
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.
|
|
64
|
+
"typescript": "^5.8.3"
|
|
64
65
|
},
|
|
65
66
|
"peerDependencies": {
|
|
66
67
|
"constructs": "^10.4.2",
|
|
67
|
-
"projen": ">=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.
|
|
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
|