This commit is contained in:
Chromatic
2026-04-28 17:33:25 +00:00
parent cad40970f6
commit 7d51ab74df
54 changed files with 1753 additions and 1242 deletions
+12
View File
@@ -1,3 +1,15 @@
# v16.6.1 (Tue Apr 28 2026)
#### 🐛 Bug Fix
- On React Native builds check for ABI compatibility before upload [#1295](https://github.com/chromaui/chromatic-cli/pull/1295) ([@jmhobbs](https://github.com/jmhobbs))
#### Authors: 1
- John Hobbs ([@jmhobbs](https://github.com/jmhobbs))
---
# v16.6.0 (Thu Apr 23 2026)
#### 🚀 Enhancement
+6
View File
@@ -0,0 +1,6 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e54bc13e-7c7d-5fbc-bf03-ea51f8fe80ac")}catch(e){}}();
const e=require(`./register.cjs`);function t(e){let t=e.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!t)return;let n=t[2]||t[3]||``,r=n.slice(n.lastIndexOf(`\\`)+1);return r=r.replace(/%22/g,`"`),r=r.replace(/&#(\d{4});/g,(e,t)=>String.fromCharCode(t)),r}async function n(n,r){if(!/multipart/i.test(r))throw TypeError(`Failed to fetch`);let i=r.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!i)throw TypeError(`no or bad content-type header, no multipart boundary`);let a=new g(i[1]||i[2]),o,s,c,l,u,d,f=[],p=new e.n,m=e=>{c+=y.decode(e,{stream:!0})},h=e=>{f.push(e)},_=()=>{let t=new e.i(f,d,{type:u});p.append(l,t)},v=()=>{p.append(l,c)},y=new TextDecoder(`utf-8`);y.decode(),a.onPartBegin=function(){a.onPartData=m,a.onPartEnd=v,o=``,s=``,c=``,l=``,u=``,d=null,f.length=0},a.onHeaderField=function(e){o+=y.decode(e,{stream:!0})},a.onHeaderValue=function(e){s+=y.decode(e,{stream:!0})},a.onHeaderEnd=function(){if(s+=y.decode(),o=o.toLowerCase(),o===`content-disposition`){let e=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);e&&(l=e[2]||e[3]||``),d=t(s),d&&(a.onPartData=h,a.onPartEnd=_)}else o===`content-type`&&(u=s);s=``,o=``};for await(let e of n)a.write(e);return a.end(),p}var r,i,a,o,s,c,l,u,d,f,p,m,h,g;e.a((()=>{e.t(),e.r(),r=0,i={START_BOUNDARY:r++,HEADER_FIELD_START:r++,HEADER_FIELD:r++,HEADER_VALUE_START:r++,HEADER_VALUE:r++,HEADER_VALUE_ALMOST_DONE:r++,HEADERS_ALMOST_DONE:r++,PART_DATA_START:r++,PART_DATA:r++,END:r++},a=1,o={PART_BOUNDARY:a,LAST_BOUNDARY:a*=2},s=10,c=13,l=32,u=45,d=58,f=97,p=122,m=e=>e|32,h=()=>{},g=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=h,this.onHeaderField=h,this.onHeadersEnd=h,this.onHeaderValue=h,this.onPartBegin=h,this.onPartData=h,this.onPartEnd=h,this.boundaryChars={},e=`\r
--`+e;let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n),this.boundaryChars[t[n]]=!0;this.boundary=t,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=i.START_BOUNDARY}write(e){let t=0,n=e.length,r=this.index,{lookbehind:a,boundary:h,boundaryChars:g,index:_,state:v,flags:y}=this,b=this.boundary.length,x=b-1,S=e.length,C,w,T=e=>{this[e+`Mark`]=t},E=e=>{delete this[e+`Mark`]},D=(e,t,n,r)=>{(t===void 0||t!==n)&&this[e](r&&r.subarray(t,n))},O=(n,r)=>{let i=n+`Mark`;i in this&&(r?(D(n,this[i],t,e),delete this[i]):(D(n,this[i],e.length,e),this[i]=0))};for(t=0;t<n;t++)switch(C=e[t],v){case i.START_BOUNDARY:if(_===h.length-2){if(C===u)y|=o.LAST_BOUNDARY;else if(C!==c)return;_++;break}else if(_-1==h.length-2){if(y&o.LAST_BOUNDARY&&C===u)v=i.END,y=0;else if(!(y&o.LAST_BOUNDARY)&&C===s)_=0,D(`onPartBegin`),v=i.HEADER_FIELD_START;else return;break}C!==h[_+2]&&(_=-2),C===h[_+2]&&_++;break;case i.HEADER_FIELD_START:v=i.HEADER_FIELD,T(`onHeaderField`),_=0;case i.HEADER_FIELD:if(C===c){E(`onHeaderField`),v=i.HEADERS_ALMOST_DONE;break}if(_++,C===u)break;if(C===d){if(_===1)return;O(`onHeaderField`,!0),v=i.HEADER_VALUE_START;break}if(w=m(C),w<f||w>p)return;break;case i.HEADER_VALUE_START:if(C===l)break;T(`onHeaderValue`),v=i.HEADER_VALUE;case i.HEADER_VALUE:C===c&&(O(`onHeaderValue`,!0),D(`onHeaderEnd`),v=i.HEADER_VALUE_ALMOST_DONE);break;case i.HEADER_VALUE_ALMOST_DONE:if(C!==s)return;v=i.HEADER_FIELD_START;break;case i.HEADERS_ALMOST_DONE:if(C!==s)return;D(`onHeadersEnd`),v=i.PART_DATA_START;break;case i.PART_DATA_START:v=i.PART_DATA,T(`onPartData`);case i.PART_DATA:if(r=_,_===0){for(t+=x;t<S&&!(e[t]in g);)t+=b;t-=x,C=e[t]}if(_<h.length)h[_]===C?(_===0&&O(`onPartData`,!0),_++):_=0;else if(_===h.length)_++,C===c?y|=o.PART_BOUNDARY:C===u?y|=o.LAST_BOUNDARY:_=0;else if(_-1===h.length)if(y&o.PART_BOUNDARY){if(_=0,C===s){y&=~o.PART_BOUNDARY,D(`onPartEnd`),D(`onPartBegin`),v=i.HEADER_FIELD_START;break}}else y&o.LAST_BOUNDARY&&C===u?(D(`onPartEnd`),v=i.END,y=0):_=0;if(_>0)a[_-1]=C;else if(r>0){let e=new Uint8Array(a.buffer,a.byteOffset,a.byteLength);D(`onPartData`,0,r,e),r=0,T(`onPartData`),t--}break;case i.END:break;default:throw Error(`Unexpected state entered: ${v}`)}O(`onHeaderField`),O(`onHeaderValue`),O(`onPartData`),this.index=_,this.state=v,this.flags=y}end(){if(this.state===i.HEADER_FIELD_START&&this.index===0||this.state===i.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==i.END)throw Error(`MultipartParser.end(): stream ended unexpectedly`)}}}))(),exports.toFormData=n;
//# sourceMappingURL=multipart-parser-mxnQsJvx.cjs.map
//# debugId=e54bc13e-7c7d-5fbc-bf03-ea51f8fe80ac
+1549 -1198
View File
File diff suppressed because one or more lines are too long
+17 -6
View File
@@ -100,7 +100,7 @@ Options:
-i --increment [<level>]
Increment a version by the specified level. Level can
be one of: major, minor, patch, premajor, preminor,
prepatch, or prerelease. Default level is 'patch'.
prepatch, prerelease, or release. Default level is 'patch'.
Only one version may be specified.
--preid <identifier>
@@ -110,8 +110,9 @@ Options:
-l --loose
Interpret versions and ranges loosely
-n <0|1>
This is the base to be used for the prerelease identifier.
-n <0|1|false>
Base number for prerelease identifier (default: 0).
Use false to omit the number altogether.
-p --include-prerelease
Always include prerelease versions in range matching
@@ -141,6 +142,8 @@ A "version" is described by the `v2.0.0` specification found at
<https://semver.org/>.
A leading `"="` or `"v"` character is stripped off and ignored.
Support for stripping a leading "v" is kept for compatibility with `v1.0.0` of the SemVer
specification but should not be used anymore.
## Ranges
@@ -237,6 +240,13 @@ $ semver 1.2.4-beta.0 -i prerelease
1.2.4-beta.1
```
To get out of the prerelease phase, use the `release` option:
```bash
$ semver 1.2.4-beta.1 -i release
1.2.4
```
#### Prerelease Identifier Base
The method `.inc` takes an optional parameter 'identifierBase' string
@@ -415,10 +425,10 @@ Strict-mode Comparators and Ranges will be strict about the SemVer
strings that they parse.
* `valid(v)`: Return the parsed version, or null if it's not valid.
* `inc(v, release, options, identifier, identifierBase)`:
* `inc(v, releaseType, options, identifier, identifierBase)`:
Return the version incremented by the release
type (`major`, `premajor`, `minor`, `preminor`, `patch`,
`prepatch`, or `prerelease`), or null if it's not valid
`prepatch`, `prerelease`, or `release`), or null if it's not valid
* `premajor` in one call will bump the version up to the next major
version and down to a prerelease of that major version.
`preminor`, and `prepatch` work the same way.
@@ -426,6 +436,7 @@ strings that they parse.
same as `prepatch`. It increments the patch version and then makes a
prerelease. If the input version is already a prerelease it simply
increments it.
* `release` will remove any prerelease part of the version.
* `identifier` can be used to prefix `premajor`, `preminor`,
`prepatch`, or `prerelease` version increments. `identifierBase`
is the base to be used for the `prerelease` identifier.
@@ -477,7 +488,7 @@ strings that they parse.
### Ranges
* `validRange(range)`: Return the valid range or null if it's not valid
* `validRange(range)`: Return the valid range or null if it's not valid.
* `satisfies(version, range)`: Return true if the version satisfies the
range.
* `maxSatisfying(versions, range)`: Return the highest version in the list
+5 -2
View File
@@ -3,6 +3,8 @@
// Exits successfully and prints matching version(s) if
// any supplied version is valid and passes all tests.
'use strict'
const argv = process.argv.slice(2)
let versions = []
@@ -61,6 +63,7 @@ const main = () => {
switch (argv[0]) {
case 'major': case 'minor': case 'patch': case 'prerelease':
case 'premajor': case 'preminor': case 'prepatch':
case 'release':
inc = argv.shift()
break
default:
@@ -102,7 +105,7 @@ const main = () => {
versions = versions.map((v) => {
return coerce ? (semver.coerce(v, options) || { version: v }).version : v
}).filter((v) => {
return semver.valid(v)
return semver.valid(v, options)
})
if (!versions.length) {
return fail()
@@ -149,7 +152,7 @@ Options:
-i --increment [<level>]
Increment a version by the specified level. Level can
be one of: major, minor, patch, premajor, preminor,
prepatch, or prerelease. Default level is 'patch'.
prepatch, prerelease, or release. Default level is 'patch'.
Only one version may be specified.
--preid <identifier>
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const ANY = Symbol('SemVer ANY')
// hoisted class for cyclic dependency
class Comparator {
+2
View File
@@ -1,3 +1,5 @@
'use strict'
module.exports = {
SemVer: require('./semver.js'),
Range: require('./range.js'),
+3
View File
@@ -1,3 +1,5 @@
'use strict'
const SPACE_CHARACTERS = /\s+/g
// hoisted class for cyclic dependency
@@ -253,6 +255,7 @@ const isSatisfiable = (comparators, options) => {
// already replaced the hyphen ranges
// turn into a set of JUST comparators.
const parseComparator = (comp, options) => {
comp = comp.replace(re[t.BUILD], '')
debug('comp', comp, options)
comp = replaceCarets(comp, options)
debug('caret', comp)
+41 -10
View File
@@ -1,3 +1,5 @@
'use strict'
const debug = require('../internal/debug')
const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')
const { safeRe: re, t } = require('../internal/re')
@@ -10,7 +12,7 @@ class SemVer {
if (version instanceof SemVer) {
if (version.loose === !!options.loose &&
version.includePrerelease === !!options.includePrerelease) {
version.includePrerelease === !!options.includePrerelease) {
return version
} else {
version = version.version
@@ -109,11 +111,25 @@ class SemVer {
other = new SemVer(other, this.options)
}
return (
compareIdentifiers(this.major, other.major) ||
compareIdentifiers(this.minor, other.minor) ||
compareIdentifiers(this.patch, other.patch)
)
if (this.major < other.major) {
return -1
}
if (this.major > other.major) {
return 1
}
if (this.minor < other.minor) {
return -1
}
if (this.minor > other.minor) {
return 1
}
if (this.patch < other.patch) {
return -1
}
if (this.patch > other.patch) {
return 1
}
return 0
}
comparePre (other) {
@@ -176,6 +192,19 @@ class SemVer {
// preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way.
inc (release, identifier, identifierBase) {
if (release.startsWith('pre')) {
if (!identifier && identifierBase === false) {
throw new Error('invalid increment argument: identifier is empty')
}
// Avoid an invalid semver results
if (identifier) {
const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])
if (!match || match[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`)
}
}
}
switch (release) {
case 'premajor':
this.prerelease.length = 0
@@ -206,6 +235,12 @@ class SemVer {
}
this.inc('pre', identifier, identifierBase)
break
case 'release':
if (this.prerelease.length === 0) {
throw new Error(`version ${this.raw} is not a prerelease`)
}
this.prerelease.length = 0
break
case 'major':
// If this is a pre-major version, bump up to the same major version.
@@ -249,10 +284,6 @@ class SemVer {
case 'pre': {
const base = Number(identifierBase) ? 1 : 0
if (!identifier && identifierBase === false) {
throw new Error('invalid increment argument: identifier is empty')
}
if (this.prerelease.length === 0) {
this.prerelease = [base]
} else {
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const parse = require('./parse')
const clean = (version, options) => {
const s = parse(version.trim().replace(/^[=v]+/, ''), options)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const eq = require('./eq')
const neq = require('./neq')
const gt = require('./gt')
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const parse = require('./parse')
const { safeRe: re, t } = require('../internal/re')
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const compareBuild = (a, b, loose) => {
const versionA = new SemVer(a, loose)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const compareLoose = (a, b) => compare(a, b, true)
module.exports = compareLoose
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const compare = (a, b, loose) =>
new SemVer(a, loose).compare(new SemVer(b, loose))
+8 -13
View File
@@ -1,3 +1,5 @@
'use strict'
const parse = require('./parse.js')
const diff = (version1, version2) => {
@@ -27,20 +29,13 @@ const diff = (version1, version2) => {
return 'major'
}
// Otherwise it can be determined by checking the high version
if (highVersion.patch) {
// anything higher than a patch bump would result in the wrong version
// If the main part has no difference
if (lowVersion.compareMain(highVersion) === 0) {
if (lowVersion.minor && !lowVersion.patch) {
return 'minor'
}
return 'patch'
}
if (highVersion.minor) {
// anything higher than a minor bump would result in the wrong version
return 'minor'
}
// bumping major/minor/patch all have same result
return 'major'
}
// add the `pre` prefix if we are going to a prerelease version
@@ -58,7 +53,7 @@ const diff = (version1, version2) => {
return prefix + 'patch'
}
// high and low are preleases
// high and low are prereleases
return 'prerelease'
}
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const eq = (a, b, loose) => compare(a, b, loose) === 0
module.exports = eq
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const gt = (a, b, loose) => compare(a, b, loose) > 0
module.exports = gt
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const gte = (a, b, loose) => compare(a, b, loose) >= 0
module.exports = gte
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const inc = (version, release, options, identifier, identifierBase) => {
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const lt = (a, b, loose) => compare(a, b, loose) < 0
module.exports = lt
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const lte = (a, b, loose) => compare(a, b, loose) <= 0
module.exports = lte
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const major = (a, loose) => new SemVer(a, loose).major
module.exports = major
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const minor = (a, loose) => new SemVer(a, loose).minor
module.exports = minor
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const neq = (a, b, loose) => compare(a, b, loose) !== 0
module.exports = neq
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const parse = (version, options, throwErrors = false) => {
if (version instanceof SemVer) {
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const patch = (a, loose) => new SemVer(a, loose).patch
module.exports = patch
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const parse = require('./parse')
const prerelease = (version, options) => {
const parsed = parse(version, options)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compare = require('./compare')
const rcompare = (a, b, loose) => compare(b, a, loose)
module.exports = rcompare
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compareBuild = require('./compare-build')
const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))
module.exports = rsort
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const Range = require('../classes/range')
const satisfies = (version, range, options) => {
try {
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const compareBuild = require('./compare-build')
const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
module.exports = sort
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const parse = require('./parse')
const valid = (version, options) => {
const v = parse(version, options)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
// just pre-load all the stuff that index.js lazily exports
const internalRe = require('./internal/re')
const constants = require('./internal/constants')
+2
View File
@@ -1,3 +1,5 @@
'use strict'
// Note: this is the semver.org version of the spec that it implements
// Not necessarily the package version of this code.
const SEMVER_SPEC_VERSION = '2.0.0'
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const debug = (
typeof process === 'object' &&
process.env &&
+6
View File
@@ -1,5 +1,11 @@
'use strict'
const numeric = /^[0-9]+$/
const compareIdentifiers = (a, b) => {
if (typeof a === 'number' && typeof b === 'number') {
return a === b ? 0 : a < b ? -1 : 1
}
const anum = numeric.test(a)
const bnum = numeric.test(b)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
class LRUCache {
constructor () {
this.max = 1000
+2
View File
@@ -1,3 +1,5 @@
'use strict'
// parse out just the options we care about
const looseOption = Object.freeze({ loose: true })
const emptyOpts = Object.freeze({ })
+10 -4
View File
@@ -1,3 +1,5 @@
'use strict'
const {
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
@@ -10,6 +12,7 @@ exports = module.exports = {}
const re = exports.re = []
const safeRe = exports.safeRe = []
const src = exports.src = []
const safeSrc = exports.safeSrc = []
const t = exports.t = {}
let R = 0
@@ -42,6 +45,7 @@ const createToken = (name, value, isGlobal) => {
debug(name, index, value)
t[name] = index
src[index] = value
safeSrc[index] = safe
re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
}
@@ -74,12 +78,14 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
// ## Pre-release Version Identifier
// A numeric identifier, or a non-numeric identifier.
// Non-numeric identifiers include numeric identifiers but can be longer.
// Therefore non-numeric identifiers must go first.
createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
}|${src[t.NONNUMERICIDENTIFIER]})`)
createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]
}|${src[t.NUMERICIDENTIFIER]})`)
createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
}|${src[t.NONNUMERICIDENTIFIER]})`)
createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER]
}|${src[t.NUMERICIDENTIFIERLOOSE]})`)
// ## Pre-release Version
// Hyphen, followed by one or more dot-separated pre-release version
+8 -7
View File
@@ -1,20 +1,21 @@
{
"name": "semver",
"version": "7.6.3",
"version": "7.7.4",
"description": "The semantic version parser used by npm.",
"main": "index.js",
"scripts": {
"test": "tap",
"snap": "tap",
"lint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"",
"lint": "npm run eslint",
"postlint": "template-oss-check",
"lintfix": "npm run lint -- --fix",
"lintfix": "npm run eslint -- --fix",
"posttest": "npm run lint",
"template-oss-apply": "template-oss-apply --force"
"template-oss-apply": "template-oss-apply --force",
"eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
},
"devDependencies": {
"@npmcli/eslint-config": "^4.0.0",
"@npmcli/template-oss": "4.22.0",
"@npmcli/eslint-config": "^6.0.0",
"@npmcli/template-oss": "4.29.0",
"benchmark": "^2.1.4",
"tap": "^16.0.0"
},
@@ -51,7 +52,7 @@
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
"version": "4.22.0",
"version": "4.29.0",
"engines": ">=10",
"distPaths": [
"classes/",
+2
View File
@@ -1,2 +1,4 @@
'use strict'
// XXX remove in v8 or beyond
module.exports = require('./index.js')
+2
View File
@@ -1,3 +1,5 @@
'use strict'
// Determine if version is greater than all the versions possible in the range.
const outside = require('./outside')
const gtr = (version, range, options) => outside(version, range, '>', options)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const Range = require('../classes/range')
const intersects = (r1, r2, options) => {
r1 = new Range(r1, options)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const outside = require('./outside')
// Determine if version is less than all the versions possible in the range
const ltr = (version, range, options) => outside(version, range, '<', options)
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const Range = require('../classes/range')
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const Range = require('../classes/range')
const minSatisfying = (versions, range, options) => {
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const Range = require('../classes/range')
const gt = require('../functions/gt')
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const SemVer = require('../classes/semver')
const Comparator = require('../classes/comparator')
const { ANY } = Comparator
+2
View File
@@ -1,3 +1,5 @@
'use strict'
// given a set of versions and a range, create a "simplified" range
// that includes the same versions that the original range does
// If the original range is shorter than the simplified one, return that.
+3 -1
View File
@@ -1,3 +1,5 @@
'use strict'
const Range = require('../classes/range.js')
const Comparator = require('../classes/comparator.js')
const { ANY } = Comparator
@@ -36,7 +38,7 @@ const compare = require('../functions/compare.js')
// - If LT
// - If LT.semver is greater than any < or <= comp in C, return false
// - If LT is <=, and LT.semver does not satisfy every C, return false
// - If GT.semver has a prerelease, and not in prerelease mode
// - If LT.semver has a prerelease, and not in prerelease mode
// - If no C has a prerelease and the LT.semver tuple, return false
// - Else return true
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const Range = require('../classes/range')
// Mostly just for testing and legacy API reasons
+2
View File
@@ -1,3 +1,5 @@
'use strict'
const Range = require('../classes/range')
const validRange = (range, options) => {
try {
+3 -1
View File
@@ -1,6 +1,6 @@
{
"name": "chromatic",
"version": "16.6.0",
"version": "16.6.1",
"description": "Automate visual testing across browsers. Gather UI feedback. Versioned documentation.",
"keywords": [
"storybook-addon",
@@ -92,6 +92,7 @@
"@storybook/linter-config": "^4.0.0",
"@storybook/react-vite": "^10.3.4",
"@tsconfig/node16": "^16.1.1",
"@types/adm-zip": "^0.5.8",
"@types/archiver": "^5.3.1",
"@types/async-retry": "^1.4.3",
"@types/cross-spawn": "^6.0.2",
@@ -108,6 +109,7 @@
"@typescript-eslint/eslint-plugin": "^8.5.8",
"@typescript-eslint/parser": "^8.5.8",
"@vitest/coverage-v8": "^4.1.2",
"adm-zip": "^0.5.17",
"ansi-html": "0.0.9",
"any-observable": "^0.5.1",
"archiver": "^5.3.0",