Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: throw error when certain srcset modifiers are passed zero #114

Merged
merged 1 commit into from
Feb 25, 2020

Conversation

sherwinski
Copy link
Contributor

This PR patches a hole in the validation that allowed a user to pass a value of 0 to either the widthTolerance, minWidth, and/or maxWidth fields in createSrcSet(). Beforehand, users would be able to pass a zero value to these fields - although it would usually end up being ignored. Now the validations are adjusted to throw an error. In addition to this patch, this PR also refactors/cleans-up a lot of the validation logic used in generating srcset pairs, pulling it out into its own separate private function. This should yield significantly more readable code.

@sherwinski sherwinski force-pushed the srcset-improved-validations branch 2 times, most recently from 020233f to 33e2820 Compare February 19, 2020 21:53
@sherwinski sherwinski requested a review from jayeb February 19, 2020 21:56
src/imgix-core-js.js Show resolved Hide resolved
src/imgix-core-js.js Outdated Show resolved Hide resolved
src/imgix-core-js.js Outdated Show resolved Hide resolved
@sherwinski sherwinski force-pushed the srcset-improved-validations branch from 662071d to d5283f4 Compare February 24, 2020 14:52
@sherwinski sherwinski requested a review from jayeb February 24, 2020 15:02
Copy link
Contributor

@jayeb jayeb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs one more test, then it looks good to go.

test/test-client.js Show resolved Hide resolved
@sherwinski sherwinski force-pushed the srcset-improved-validations branch from d5283f4 to f8b2081 Compare February 25, 2020 09:39
@sherwinski sherwinski merged commit 2630f96 into master Feb 25, 2020
@sherwinski sherwinski deleted the srcset-improved-validations branch February 25, 2020 09:46
ericdeansanchez added a commit that referenced this pull request Feb 3, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-03)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([e4e8d92](e4e8d92))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 3, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-03)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
@ericdeansanchez
Copy link
Contributor

🎉 This PR is included in version 0.3.0-beta.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

ericdeansanchez added a commit that referenced this pull request Feb 5, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-05)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 5, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-05)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* re-add semantic-release with retagged 2.3.2 release ([6ad6531](6ad6531))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 5, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-05)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 5, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-05)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update changelog format, trigger semantic ([4aa7127](4aa7127))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 5, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-05)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* update semantic release ([f55ff4a](f55ff4a))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 5, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-05)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* update semantic release ([ddfe8c7](ddfe8c7))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 6, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-06)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* update semantic release ([bf2dcad](bf2dcad))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
ericdeansanchez added a commit that referenced this pull request Feb 6, 2021
# [0.3.0-beta.1](v0.2.3...v0.3.0-beta.1) (2021-02-06)

### Bug Fixes

* percent encode plus signs in path components ([#223](#223)) ([a5d756e](a5d756e))
* remove ensureEven requirement ([#206](#206)) ([1007f86](1007f86))
* update minor or patch prior to release ([65c6f3e](65c6f3e))
* **buildSrcSet:** ensure largest size can't be repeated ([#184](#184)) ([71a092a](71a092a))
* **buildURL:** ensure operation is idempotent ([8c6c6f9](8c6c6f9))
* add missing variable declarations ([#121](#121)) ([851a607](851a607))
* deprecate domain sharding ([#39](#39)) ([1b90df3](1b90df3))
* ensure URL-legal, path-illegal characters are encoded ([#61](#61)) ([b89dba1](b89dba1))
* include dpr parameter when generating fixed-width srcset ([#59](#59)) ([189d4f7](189d4f7))
* remove deprecated domain sharding functionality ([#42](#42)) ([66d5cd9](66d5cd9))
* remove deprecated settings.host ([#45](#45)) ([41ef41f](41ef41f))
* throw error when certain srcset modifiers are passed zero ([#114](#114)) ([2630f96](2630f96))

### Features

* add babel core for mocha ([1266c1a](1266c1a))
* add minimal babelrc ([3809a93](3809a93))
* add rollup config ([f62e8db](f62e8db))
* add semantic-release ([ebed795](ebed795))
* add settings.domain argument ([#44](#44)) ([af40091](af40091))
* add src, README to files list ([9d3bb9e](9d3bb9e))
* add srcset generation ([#53](#53)) ([81f38e7](81f38e7))
* add srcset option parameter to buildSrcSet() method signature ([#118](#118)) ([1e5507a](1e5507a))
* add support for defining a custom srcset width array ([#110](#110)) ([84974a5](84974a5))
* add support for defining a custom srcset width tolerance ([#109](#109)) ([504af70](504af70))
* add support for defining a min and max srcset width ([#108](#108)) ([fe5f5ba](fe5f5ba))
* add typescript declaration file for ImgixClient ([#64](#64)) ([a065ad9](a065ad9))
* add validation tests ([91cc39c](91cc39c))
* append variable qualities to dpr srcsets ([#111](#111)) ([b52148d](b52148d))
* create a DPR srcset when a fixed height is specified ([#215](#215)) ([628e6c7](628e6c7)), closes [#177](#177)
* drop bower.json ([#222](#222)) ([2def739](2def739))
* enforce 0.01 lower bound for widthTolerance ([#211](#211)) ([8079e75](8079e75))
* generalize test-suite transpilation ([cf49986](cf49986))
* pull constants into separate file ([bb4b36d](bb4b36d))
* pull validation into separate module ([a113fea](a113fea))
* reintro renovate ([d9afcdb](d9afcdb))
* remove old interface ([7a5c1e0](7a5c1e0))
* remove renovate (for now) ([1be0281](1be0281))
* require @babel/register ([c488e43](c488e43))
* rewrite ix-core-js as esm ([7e98689](7e98689))
* run mocha with babel/register ([d5c519c](d5c519c))
* run release on beta branch ([857c864](857c864))
* test on node version 14 ([1d8d4a5](1d8d4a5))
* update @babel/preset-env ([879e235](879e235))
* update buildSrcSet test suite ([5e5d5da](5e5d5da))
* update buildURL test suite ([585bb19](585bb19))
* update client test suite ([e238dc4](e238dc4))
* update package.json ([c8491e0](c8491e0))
* update semantic release ([bf2dcad](bf2dcad))
* use --experimental-modules ([4c9735d](4c9735d))
* use const in validators ([be3ee98](be3ee98))
* use const where possible/appropriate ([4c2a31d](4c2a31d))
* use crypto-js ([a41ef47](a41ef47))
* use explicit extensions for main, module, and browser ([#225](#225)) ([3aa5bab](3aa5bab))
* use mjs file extensions with type module ([#209](#209)) ([72830c4](72830c4))
* use object spread operator ([6142e75](6142e75))

### Performance Improvements

* **srcset:** memoize generated srcset width-pairs ([#115](#115)) ([073d63d](073d63d))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants