profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/djones/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
David Jones djones @percy San Francisco Engineering at @percy. Kiwi in California.

djones/grape-goliath-example 149

A non-blocking REST API example application using Grape and Goliath together with a Postgres database.

djones/active_merchant 2

Active Merchant is a simple payment abstraction library used in and sponsored by Shopify. It is written by Tobias Luetke, Cody Fauser, and contributors. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user to offer a consistent interface across all supported gateways.

djones/Christchurch-on-Rails-Meet-Up 2

Gets the current weather from the City Council and prints it out

djones/goliath 2

Goliath is a non-blocking Ruby web server framework

djones/jquery-tokeninput 2

Tokeninput is a jQuery plugin which allows your users to select multiple items from a predefined list, using autocompletion as they type to find each item. You may have seen a similar type of text entry when filling in the recipients field sending messages on facebook.

djones/apn_on_rails 1

This fork has support for delaying a message to send at a future date.

djones/barcode-generator 1

This fork has the ability to rotate the barcode so you can have vertical barcodes

djones/bundler 1

Manage your application's gem dependencies with less pain

djones/cucumber-sublime2-bundle 1

Cucumber Sublime Text 2 package

PR opened percy/cli

Reviewers
🐛 Ignore env git stderr logs bug

What is this?

If you look at our CI logs, you'll see plenty of fatal error messages related to git. The root of the message is because the checkout step of our CI does a shallow (0 history) checkout of the repo. When the git command is run with the commit sha, it cannot find the associate commit object and logs this error.

Similarly, if the CLI is run outside of a git repo, git errors are also logged.

Turns out, this is because execSync defaults stderr to inherit rather than pipe which is the default of stdout, stdin, and stdio for spawn functions.

This PR explicitly sets this stdio to ignore stderr, stdin, and pipe stdout.

No test here since the only thing we could write would be "is called with the right stdio options." Which doesn't feel like a useful test anyway since those options aren't likely to change accidentally.

+4 -1

0 comment

1 changed file

pr created time in an hour

create barnchpercy/cli

branch : ww/fix-env-git-stderr

created branch time in an hour

issue closedpercy/cli

Allow setting cookies for asset discovery

While cookies are sent as headers, it appears as though providing a Cookie with the discovery.requestHeaders option does not work as expected.

It looks like there is a CDP method that allows setting cookies. We should add support for this via discovery.cookies.

What should the syntax look like? Mirror the headers option and allow key: value cookies? Or mirror the CDP API and allow an array of cookie param objects? Both (if object, a, if array, b)?

closed time in 2 hours

wwilsman

issue commentpercy/cli

Allow setting cookies for asset discovery

Shipped in 1.0.0-beta.53

wwilsman

comment created time in 2 hours

created tagpercy/cli

tagv1.0.0-beta.53

The Percy CLI is used to interact with, and upload snapshots to, percy.io via the command line.

created time in 2 hours

delete branch percy/cli

delete branch : dependabot/npm_and_yarn/babel/preset-env-7.14.5

delete time in 3 hours

PR closed percy/cli

⬆️ Bump @babel/preset-env from 7.14.0 to 7.14.5 dependencies

Bumps @babel/preset-env from 7.14.0 to 7.14.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@​babel/preset-env</code>'s releases</a>.</em></p> <blockquote> <h2>v7.14.5 (2021-06-09)</h2> <p>Thanks <a href="https://github.com/Eyoatam"><code>@​Eyoatam</code></a>, <a href="https://github.com/lightmare"><code>@​lightmare</code></a>, <a href="https://github.com/ota-meshi"><code>@​ota-meshi</code></a>, and <a href="https://github.com/tony-go"><code>@​tony-go</code></a> for your first PRs!</p> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-plugin-proposal-do-expressions</code>, <code>babel-traverse</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13122">#13122</a> fix: hoist variable declaration within do block (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13409">#13409</a> Relax import assertion key-is-type constraint (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13418">#13418</a> fix(parser): correctly parse record and tuple tokens (<a href="https://github.com/fedeci"><code>@​fedeci</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13410">#13410</a> fix: throw when <code>async()</code> call param is object with assignement (<a href="https://github.com/tony-go"><code>@​tony-go</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13396">#13396</a> Add support for d flag of regex literals in parser (<a href="https://github.com/ota-meshi"><code>@​ota-meshi</code></a>)</li> </ul> </li> <li><code>babel-helpers</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13404">#13404</a> fix generate-helpers failing in URL-encoded path (<a href="https://github.com/lightmare"><code>@​lightmare</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-helper-hoist-variables</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13442">#13442</a> Disallow dependency cycles (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13440">#13440</a> update test fixtures (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13431">#13431</a> Reduce <code>exprAllowed</code> usage (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13422">#13422</a> fix(<code>@babel/parser</code>): fix tokenizer context update code (<a href="https://github.com/Eyoatam"><code>@​Eyoatam</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13420">#13420</a> chore: specify <code>@​babel/eslint-parser</code> deps (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li><em>Every package</em> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13363">#13363</a> chore: setup Yarn constraints (<a href="https://github.com/merceyz"><code>@​merceyz</code></a>)</li> </ul> </li> </ul> <h4>:running_woman: Performance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13408">#13408</a> Use set in parser scope (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13386">#13386</a> Faster checkReservedWord (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13406">#13406</a> Back parser state <code>exportedIdentifiers</code> by set (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h4>Committers: 9</h4> <ul> <li>Daniel Tschinder (<a href="https://github.com/danez"><code>@​danez</code></a>)</li> <li>Eyoatam Tamirat (<a href="https://github.com/Eyoatam"><code>@​Eyoatam</code></a>)</li> <li>Federico Ciardi (<a href="https://github.com/fedeci"><code>@​fedeci</code></a>)</li> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li>Kristoffer K. (<a href="https://github.com/merceyz"><code>@​merceyz</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li> <li>Tony Gorez (<a href="https://github.com/tony-go"><code>@​tony-go</code></a>)</li> <li>Yosuke Ota (<a href="https://github.com/ota-meshi"><code>@​ota-meshi</code></a>)</li> <li><a href="https://github.com/lightmare"><code>@​lightmare</code></a></li> </ul> <h2>v7.14.4 (2021-05-28)</h2> <p>Thanks <a href="https://github.com/alanorozco"><code>@​alanorozco</code></a>, <a href="https://github.com/devfservant"><code>@​devfservant</code></a>, <a href="https://github.com/merceyz"><code>@​merceyz</code></a>, <a href="https://github.com/mmorel-35"><code>@​mmorel-35</code></a> (and <a href="https://github.com/renovate-bot"><code>@​renovate-bot</code></a>! :robot:), <a href="https://github.com/sokra"><code>@​sokra</code></a>, and <a href="https://github.com/wbinnssmith"><code>@​wbinnssmith</code></a> for your first PRs!</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/preset-env</code>'s changelog</a>.</em></p> <blockquote> <h2>v7.14.5 (2021-06-09)</h2> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-plugin-proposal-do-expressions</code>, <code>babel-traverse</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13122">#13122</a> fix: hoist variable declaration within do block (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13409">#13409</a> Relax import assertion key-is-type constraint (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13418">#13418</a> fix(parser): correctly parse record and tuple tokens (<a href="https://github.com/fedeci"><code>@​fedeci</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13410">#13410</a> fix: throw when <code>async()</code> call param is object with assignement (<a href="https://github.com/tony-go"><code>@​tony-go</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13396">#13396</a> Add support for d flag of regex literals in parser (<a href="https://github.com/ota-meshi"><code>@​ota-meshi</code></a>)</li> </ul> </li> <li><code>babel-helpers</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13404">#13404</a> fix generate-helpers failing in URL-encoded path (<a href="https://github.com/lightmare"><code>@​lightmare</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-helper-hoist-variables</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13442">#13442</a> Disallow dependency cycles (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13440">#13440</a> update test fixtures (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13431">#13431</a> Reduce <code>exprAllowed</code> usage (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13422">#13422</a> fix(<code>@babel/parser</code>): fix tokenizer context update code (<a href="https://github.com/Eyoatam"><code>@​Eyoatam</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13420">#13420</a> chore: specify <code>@​babel/eslint-parser</code> deps (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li><code>babel-cli</code>, <code>babel-code-frame</code>, <code>babel-compat-data</code>, <code>babel-core</code>, <code>babel-generator</code>, <code>babel-helper-annotate-as-pure</code>, <code>babel-helper-builder-binary-assignment-operator-visitor</code>, <code>babel-helper-builder-react-jsx</code>, <code>babel-helper-compilation-targets</code>, <code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-create-regexp-features-plugin</code>, <code>babel-helper-define-map</code>, <code>babel-helper-explode-assignable-expression</code>, <code>babel-helper-fixtures</code>, <code>babel-helper-function-name</code>, <code>babel-helper-get-function-arity</code>, <code>babel-helper-hoist-variables</code>, <code>babel-helper-member-expression-to-functions</code>, <code>babel-helper-module-imports</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-optimise-call-expression</code>, <code>babel-helper-plugin-test-runner</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-remap-async-to-generator</code>, <code>babel-helper-replace-supers</code>, <code>babel-helper-simple-access</code>, <code>babel-helper-skip-transparent-expression-wrappers</code>, <code>babel-helper-split-export-declaration</code>, <code>babel-helper-transform-fixture-test-runner</code>, <code>babel-helper-validator-identifier</code>, <code>babel-helper-validator-option</code>, <code>babel-helper-wrap-function</code>, <code>babel-helpers</code>, <code>babel-highlight</code>, <code>babel-node</code>, <code>babel-parser</code>, <code>babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining</code>, <code>babel-plugin-external-helpers</code>, <code>babel-plugin-proposal-async-do-expressions</code>, <code>babel-plugin-proposal-async-generator-functions</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-do-expressions</code>, <code>babel-plugin-proposal-dynamic-import</code>, <code>babel-plugin-proposal-export-default-from</code>, <code>babel-plugin-proposal-export-namespace-from</code>, <code>babel-plugin-proposal-function-bind</code>, <code>babel-plugin-proposal-function-sent</code>, <code>babel-plugin-proposal-json-strings</code>, <code>babel-plugin-proposal-logical-assignment-operators</code>, <code>babel-plugin-proposal-nullish-coalescing-operator</code>, <code>babel-plugin-proposal-numeric-separator</code>, <code>babel-plugin-proposal-object-rest-spread</code>, <code>babel-plugin-proposal-optional-catch-binding</code>, <code>babel-plugin-proposal-optional-chaining</code>, <code>babel-plugin-proposal-partial-application</code>, <code>babel-plugin-proposal-pipeline-operator</code>, <code>babel-plugin-proposal-private-methods</code>, <code>babel-plugin-proposal-private-property-in-object</code>, <code>babel-plugin-proposal-record-and-tuple</code>, <code>babel-plugin-proposal-throw-expressions</code>, <code>babel-plugin-proposal-unicode-property-regex</code>, <code>babel-plugin-syntax-async-do-expressions</code>, <code>babel-plugin-syntax-class-static-block</code>, <code>babel-plugin-syntax-decimal</code>, <code>babel-plugin-syntax-decorators</code>, <code>babel-plugin-syntax-do-expressions</code>, <code>babel-plugin-syntax-export-default-from</code>, <code>babel-plugin-syntax-flow</code>, <code>babel-plugin-syntax-function-bind</code>, <code>babel-plugin-syntax-function-sent</code>, <code>babel-plugin-syntax-import-assertions</code>, <code>babel-plugin-syntax-jsx</code>, <code>babel-plugin-syntax-module-blocks</code>, <code>babel-plugin-syntax-partial-application</code>, <code>babel-plugin-syntax-pipeline-operator</code>, <code>babel-plugin-syntax-private-property-in-object</code>, <code>babel-plugin-syntax-record-and-tuple</code>, <code>babel-plugin-syntax-throw-expressions</code>, <code>babel-plugin-syntax-top-level-await</code>, <code>babel-plugin-syntax-typescript</code>, <code>babel-plugin-transform-arrow-functions</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-block-scoped-functions</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-computed-properties</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-dotall-regex</code>, <code>babel-plugin-transform-duplicate-keys</code>, <code>babel-plugin-transform-exponentiation-operator</code>, <code>babel-plugin-transform-flow-comments</code>, <code>babel-plugin-transform-flow-strip-types</code>, <code>babel-plugin-transform-for-of</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-plugin-transform-instanceof</code>, <code>babel-plugin-transform-jscript</code>, <code>babel-plugin-transform-literals</code>, <code>babel-plugin-transform-member-expression-literals</code>, <code>babel-plugin-transform-modules-amd</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-plugin-transform-modules-umd</code>, <code>babel-plugin-transform-named-capturing-groups-regex</code>, <code>babel-plugin-transform-new-target</code>, <code>babel-plugin-transform-object-assign</code>, <code>babel-plugin-transform-object-set-prototype-of-to-assign</code>, <code>babel-plugin-transform-object-super</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-plugin-transform-property-literals</code>, <code>babel-plugin-transform-property-mutators</code>, <code>babel-plugin-transform-proto-to-assign</code>, <code>babel-plugin-transform-react-constant-elements</code>, <code>babel-plugin-transform-react-display-name</code>, <code>babel-plugin-transform-react-inline-elements</code>, <code>babel-plugin-transform-react-jsx-compat</code>, <code>babel-plugin-transform-react-jsx-development</code>, <code>babel-plugin-transform-react-jsx-self</code>, <code>babel-plugin-transform-react-jsx-source</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-plugin-transform-react-pure-annotations</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-plugin-transform-reserved-words</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-plugin-transform-shorthand-properties</code>, <code>babel-plugin-transform-spread</code>, <code>babel-plugin-transform-sticky-regex</code>, <code>babel-plugin-transform-strict-mode</code>, <code>babel-plugin-transform-template-literals</code>, <code>babel-plugin-transform-typeof-symbol</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-plugin-transform-unicode-escapes</code>, <code>babel-plugin-transform-unicode-regex</code>, <code>babel-preset-env</code>, <code>babel-preset-flow</code>, <code>babel-preset-react</code>, <code>babel-preset-typescript</code>, <code>babel-register</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-standalone</code>, <code>babel-template</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13363">#13363</a> chore: setup Yarn constraints (<a href="https://github.com/merceyz"><code>@​merceyz</code></a>)</li> </ul> </li> </ul> <h4>:running_woman: Performance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13408">#13408</a> Use set in parser scope (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13386">#13386</a> Faster checkReservedWord (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13406">#13406</a> Back parser state <code>exportedIdentifiers</code> by set (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h2>v7.14.4 (2021-05-28)</h2> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13377">#13377</a> disallow surrogate in the end of contextual name (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13328">#13328</a> perf: minimize identifier lookahead when parsing let (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13314">#13314</a> [ts] Insert <code>export {}</code> when necessary to imply ESM (<a href="https://github.com/wbinnssmith"><code>@​wbinnssmith</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13381">#13381</a> [ts] Remove override modifier (<a href="https://github.com/sosukesuzuki"><code>@​sosukesuzuki</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13338">#13338</a> Fix error when parsing ignored files with <code>@babel/eslint-parser</code> (<a href="https://github.com/devfservant"><code>@​devfservant</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13333">#13333</a> refactor: add parse*Literal parser routines (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/7a2a9283982239e2419f63e2a324160c5f8ac341"><code>7a2a928</code></a> v7.14.5</li> <li><a href="https://github.com/babel/babel/commit/f6f37fb8cd13724d30c8b117fb6ccee71c5a7b05"><code>f6f37fb</code></a> Update packages related to compat data (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13432">#13432</a>)</li> <li><a href="https://github.com/babel/babel/commit/4eda1c860507e84b44a718a39ce58cf45f7ccc6e"><code>4eda1c8</code></a> chore: bump eslint and its plugins (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13412">#13412</a>)</li> <li><a href="https://github.com/babel/babel/commit/08772e28f28826dd653172826b8ecf163437a9dd"><code>08772e2</code></a> Update polyfill plugins (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13373">#13373</a>)</li> <li><a href="https://github.com/babel/babel/commit/140ec5aa5c0361e2390f6fb0743fd900fb981426"><code>140ec5a</code></a> chore: setup Yarn constraints (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13363">#13363</a>)</li> <li><a href="https://github.com/babel/babel/commit/219fd3ab1f642a90e789374f6e84bdb96b28abea"><code>219fd3a</code></a> v7.14.4</li> <li><a href="https://github.com/babel/babel/commit/f35513fbaafae5660942bc336e718df969ced765"><code>f35513f</code></a> Hoist omitted keys from object spread operator (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13384">#13384</a>)</li> <li><a href="https://github.com/babel/babel/commit/342fec1a7844897f8cc0f1b7c1757d891d6501ce"><code>342fec1</code></a> Update compat data dependencies (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13368">#13368</a>)</li> <li><a href="https://github.com/babel/babel/commit/8b1bcd1079415516e9c74b2daadd34c159f31c16"><code>8b1bcd1</code></a> convert <code>@​babel/helper-compilation-targets</code> to typescript (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13218">#13218</a>)</li> <li><a href="https://github.com/babel/babel/commit/8732dd39c65a7d7202ad3c3707d3e8fc94dd126a"><code>8732dd3</code></a> Compile static blocks without the intermediate priv field step (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13297">#13297</a>)</li> <li>Additional commits viewable in <a href="https://github.com/babel/babel/commits/v7.14.5/packages/babel-preset-env">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+605 -563

2 comments

1 changed file

dependabot[bot]

pr closed time in 3 hours

pull request commentpercy/cli

⬆️ Bump @babel/preset-env from 7.14.0 to 7.14.5

Superseded by #384.

dependabot[bot]

comment created time in 3 hours

PR opened percy/cli

⬆️ Bump @babel/preset-env from 7.14.0 to 7.14.7

Bumps @babel/preset-env from 7.14.0 to 7.14.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@​babel/preset-env</code>'s releases</a>.</em></p> <blockquote> <h2>v7.14.7 (2021-06-21)</h2> <p>Thanks <a href="https://github.com/hyaocuk"><code>@​hyaocuk</code></a> and <a href="https://github.com/plourenco"><code>@​plourenco</code></a> for your first PRs!</p> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-proposal-object-rest-spread</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13483">#13483</a> Don't hoist template literal keys in <code>object-rest-spread</code> (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-destructuring</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13482">#13482</a> Don't hoist template strings from destructuring keys (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13475">#13475</a> fix: remove traverse trap on <code>NODE_ENV == "test"</code> (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13477">#13477</a> Add record and tuple tokens to eslint parser (<a href="https://github.com/plourenco"><code>@​plourenco</code></a>)</li> </ul> </li> <li><code>babel-helper-member-expression-to-functions</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-private-methods</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13395">#13395</a> fix: tagged template incorrect receiver (<a href="https://github.com/sag1v"><code>@​sag1v</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13450">#13450</a> Simplify token context (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13419">#13419</a> refactor(parser): remove refNeedsArrowPos (<a href="https://github.com/tony-go"><code>@​tony-go</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13485">#13485</a> chore: fix comment typo (<a href="https://github.com/hyaocuk"><code>@​hyaocuk</code></a>)</li> </ul> </li> </ul> <h4>Committers: 8</h4> <ul> <li>Federico Ciardi (<a href="https://github.com/fedeci"><code>@​fedeci</code></a>)</li> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li>Lively (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li> <li>Pedro Lourenço (<a href="https://github.com/plourenco"><code>@​plourenco</code></a>)</li> <li>Sagiv ben giat (<a href="https://github.com/sag1v"><code>@​sag1v</code></a>)</li> <li>Terence Ng (<a href="https://github.com/hyaocuk"><code>@​hyaocuk</code></a>)</li> <li>Tony Gorez (<a href="https://github.com/tony-go"><code>@​tony-go</code></a>)</li> </ul> <h2>v7.14.6 (2021-06-14)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-spread</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13459">#13459</a> babel-plugin-transform-spread add missing argument in build calls (<a href="https://github.com/zxbodya"><code>@​zxbodya</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13439">#13439</a> Correctly transform spreads of arrays with holes (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13444">#13444</a> fix destructuring of empty string (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13429">#13429</a> fix: reference to class expression in private method (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13428">#13428</a> [ts] Support override modifiers for parameter properties (<a href="https://github.com/sosukesuzuki"><code>@​sosukesuzuki</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13449">#13449</a> Disallow JSX tag forming after TS non-null assertion (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13423">#13423</a> Faster babel build (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/preset-env</code>'s changelog</a>.</em></p> <blockquote> <h2>v7.14.7 (2021-06-21)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-proposal-object-rest-spread</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13483">#13483</a> Don't hoist template literal keys in <code>object-rest-spread</code> (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-destructuring</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13482">#13482</a> Don't hoist template strings from destructuring keys (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13475">#13475</a> fix: remove traverse trap on <code>NODE_ENV == "test"</code> (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13477">#13477</a> Add record and tuple tokens to eslint parser (<a href="https://github.com/plourenco"><code>@​plourenco</code></a>)</li> </ul> </li> <li><code>babel-helper-member-expression-to-functions</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-private-methods</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13395">#13395</a> fix: tagged template incorrect receiver (<a href="https://github.com/sag1v"><code>@​sag1v</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13450">#13450</a> Simplify token context (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13419">#13419</a> refactor(parser): remove refNeedsArrowPos (<a href="https://github.com/tony-go"><code>@​tony-go</code></a>)</li> </ul> </li> <li>Other <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13485">#13485</a> chore: fix comment typo (<a href="https://github.com/hyaocuk"><code>@​hyaocuk</code></a>)</li> </ul> </li> </ul> <h2>v7.14.6 (2021-06-14)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-spread</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13459">#13459</a> babel-plugin-transform-spread add missing argument in build calls (<a href="https://github.com/zxbodya"><code>@​zxbodya</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13439">#13439</a> Correctly transform spreads of arrays with holes (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13444">#13444</a> fix destructuring of empty string (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-class-properties</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13429">#13429</a> fix: reference to class expression in private method (<a href="https://github.com/lala7573"><code>@​lala7573</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13428">#13428</a> [ts] Support override modifiers for parameter properties (<a href="https://github.com/sosukesuzuki"><code>@​sosukesuzuki</code></a>)</li> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13449">#13449</a> Disallow JSX tag forming after TS non-null assertion (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13423">#13423</a> Faster babel build (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> <h4>:running_woman: Performance</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13453">#13453</a> Faster readRegexp (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h2>v7.14.5 (2021-06-09)</h2> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-plugin-proposal-do-expressions</code>, <code>babel-traverse</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13122">#13122</a> fix: hoist variable declaration within do block (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github-redirect.dependabot.com/babel/babel/pull/13409">#13409</a> Relax import assertion key-is-type constraint (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-parser</code></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/268e4ca0de969a70fba6c5a5c2dc2885c8e4254d"><code>268e4ca</code></a> v7.14.7</li> <li><a href="https://github.com/babel/babel/commit/8c229e7657e3d9a111695706437a0b7d73656aee"><code>8c229e7</code></a> Bump <code>core-js</code> packages (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13496">#13496</a>)</li> <li><a href="https://github.com/babel/babel/commit/7a2a9283982239e2419f63e2a324160c5f8ac341"><code>7a2a928</code></a> v7.14.5</li> <li><a href="https://github.com/babel/babel/commit/f6f37fb8cd13724d30c8b117fb6ccee71c5a7b05"><code>f6f37fb</code></a> Update packages related to compat data (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13432">#13432</a>)</li> <li><a href="https://github.com/babel/babel/commit/4eda1c860507e84b44a718a39ce58cf45f7ccc6e"><code>4eda1c8</code></a> chore: bump eslint and its plugins (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13412">#13412</a>)</li> <li><a href="https://github.com/babel/babel/commit/08772e28f28826dd653172826b8ecf163437a9dd"><code>08772e2</code></a> Update polyfill plugins (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13373">#13373</a>)</li> <li><a href="https://github.com/babel/babel/commit/140ec5aa5c0361e2390f6fb0743fd900fb981426"><code>140ec5a</code></a> chore: setup Yarn constraints (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13363">#13363</a>)</li> <li><a href="https://github.com/babel/babel/commit/219fd3ab1f642a90e789374f6e84bdb96b28abea"><code>219fd3a</code></a> v7.14.4</li> <li><a href="https://github.com/babel/babel/commit/f35513fbaafae5660942bc336e718df969ced765"><code>f35513f</code></a> Hoist omitted keys from object spread operator (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13384">#13384</a>)</li> <li><a href="https://github.com/babel/babel/commit/342fec1a7844897f8cc0f1b7c1757d891d6501ce"><code>342fec1</code></a> Update compat data dependencies (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/13368">#13368</a>)</li> <li>Additional commits viewable in <a href="https://github.com/babel/babel/commits/v7.14.7/packages/babel-preset-env">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

+605 -563

0 comment

1 changed file

pr created time in 3 hours

create barnchpercy/cli

branch : dependabot/npm_and_yarn/babel/preset-env-7.14.7

created branch time in 3 hours

push eventpercy/cli

Wil Wilsman

commit sha 42c93d11a663b5e45ab75944e20f0fb63a0dda09

🔖 v1.0.0-beta.53

view details

push time in 3 hours

push eventpercy/cli

Wil Wilsman

commit sha 106474535ed7d1f17c55e8f4616709c21e7f974f

✨ Allow setting discovery browser cookies (#383) * 🔊 Only log debug options when provided * ♻ Move browser launch options to initialization * ✨ Allow browser cookies via a new discovery config file option

view details

push time in 4 hours

delete branch percy/cli

delete branch : ww/discovery-cookies

delete time in 4 hours

PR merged percy/cli

✨ Allow setting discovery browser cookies enhancement

Purpose

Sometimes, cookies sent via a Cookie header don't always seem to work (#374). While I couldn't exactly reproduce a scenario where the header wouldn't work, I thought it would be helpful to have a dedicated cookies option anyway. The dedicated option can help avoid confusion for people who are unfamiliar with the associated header, and also allow setting cookies for specific domains or paths.

Approach

The config schema was updated to allow a discovery.cookies option that can either be an object containing key-value pairs of cookies, or an array containing cookie parameters with name, value, and other cookie properties.

While it was straightforward to add cookies within page initialization, I discovered that a cookie's url or domain property is also required. The cookies' object-to-param mapping was moved up into snapshot config merging so we could default a snapshot's cookie url to the snapshot's own URL.

However, I then also discovered that even when used within a page session, cookies are stored for the entire browser session. This fact made it difficult to reason about whether to override clashing cookies, or clear cookies for each page. Either scenario would not be viable for concurrent pages with differing cookies.

It was then decided that cookies could not be made into per-snapshot options. Cookie normalization was moved into the browser class. The browser class was also updated to move launch options into class initialization. This makes it so some SDKs, like Storybook, can launch the browser without needing to provide redundant launch options.

Cookies still cannot be set until a page URL is known, since we need to account for default cookie URLs. If we ignored the url/domain requirement and set cookies eagerly, we would not be able to accept a key-value object and users would also need to know the url/domain in advance in their config; which makes the config less reusable for projects with dynamic staging URLs. Due to this, cookies are set (if provided) whenever a page is navigated to, before actual page navigation occurs.

Other changes

While cookies were allowed as per-snapshot options, the per-snapshot debug log output would be merged with global config options. While it would be nice to include global config in per-snapshot logs, it can be done in a much better way in a follow up PR if desired (using log filtering). Now only provided options are logged, without merged config.

+142 -26

0 comment

6 changed files

wwilsman

pr closed time in 4 hours

release PyTorchLightning/pytorch-lightning

1.3.7

released time in 4 hours

issue commentpercy/cli

Multiple ignore globs

Yeah, globs can be tricky, which is part of the reason comma separated strings were removed from early versions. It only added to the trickiness. There is a --dry-run flag to try to help while dialing in the globs. I also like to use this tool to quickly construct valid globs on the fly.

mitar

comment created time in 17 hours

issue commentpercy/cli

Multiple ignore globs

One other thing I learned BTW, is that glob cannot start with / to mean the beginning of the path relative to the current working directory.

mitar

comment created time in 17 hours

push eventpercy/cli

Wil Wilsman

commit sha 6e9c85e0946160186e4adaac5f6a59f879da1a63

🔊 Only log debug options when provided

view details

Wil Wilsman

commit sha 2eb16f84c8882acd501617b79af6031a844a35a2

♻ Move browser launch options to initialization

view details

Wil Wilsman

commit sha a73ba0b7197d9025c630f5e0c6027e72ba3237a6

✨ Allow browser cookies via a new discovery config file option

view details

push time in 17 hours

issue commentpercy/cli

Multiple ignore globs

Thanks for pointing out this doc mistake @mitar! You are correct that it should be a single glob or an array of globs. Docs are updated now. 👍

mitar

comment created time in 17 hours

issue closedpercy/cli

Multiple ignore globs

Documentation currently says:

ignore: Glob or comma-separated string of globs for matching the files and directories to ignore.

But I could not get multiple globs to work by using comma between them. Are you sure this works? I could also not find anything in the code to make this work. I think it should be a string or an array of strings, but not comma-separated string.

closed time in 17 hours

mitar

PR opened percy/cli

Reviewers
✨ Allow setting discovery browser cookies enhancement

Purpose

Sometimes, cookies sent via a Cookie header don't always seem to work (#374). While I couldn't exactly reproduce a scenario where the header wouldn't work, I thought it would be helpful to have a dedicated cookies option anyway. The dedicated option can help avoid confusion for people who are unfamiliar with the associated header, and also allow setting cookies for specific domains or paths.

Approach

The config schema was updated to allow a discovery.cookies option that can either be an object containing key-value pairs of cookies, or an array containing cookie parameters with name, value, and other cookie properties.

While it was straightforward to add cookies within page initialization, I discovered that a cookie's url or domain property is also required. The cookies' object-to-param mapping was moved up into snapshot config merging so we could default a snapshot's cookie url to the snapshot's own URL.

However, I then also discovered that even when used within a page session, cookies are stored for the entire browser session. This fact made it difficult to reason about whether to override clashing cookies, or clear cookies for each page. Either scenario would not be viable for concurrent pages with differing cookies.

It was then decided that cookies could not be made into per-snapshot options. Cookie normalization was moved into the browser class. The browser class was also updated to move launch options into class initialization. This makes it so some SDKs, like Storybook, can launch the browser without needing to provide redundant launch options.

Cookies still cannot be set until a page URL is known, since we need to account for default cookie URLs. If we ignored the url/domain requirement and set cookies eagerly, we would not be able to accept a key-value object and users would also need to know the url/domain in advance in their config; which makes the config less reusable for projects with dynamic staging URLs. Due to this, cookies are set (if provided) whenever a page is navigated to, before actual page navigation occurs.

Other changes

When cookies were briefly allowed as per-snapshot options, I found that the urls were poorly highlighted due to the regular expression not accounting for multiple URLs on the same line. Rather than account for that scenario, the regular expression was made slightly more strict and will only highlight URLs following at least one space character (to avoid quoted URLs).

Also while cookies were allowed as per-snapshot options, the per-snapshot debug log output would be merged with global config options. While it would be nice to include global config in per-snapshot logs, it can be done in a much better way in a follow up PR if desired (using log filtering). Now only provided options are logged, without merged config.

+143 -27

0 comment

7 changed files

pr created time in 17 hours

create barnchpercy/cli

branch : ww/discovery-cookies

created branch time in 18 hours

issue commentpercy/cli

Add basic parallel nonce support for GitHub Actions

Gooooooood question. I was thinking this stays open but gets repurposed to be closed when we have the new parallel docs up with an advanced section that highlights the shortcomings of the current automatic nonce setting.

nicholaschiang

comment created time in 20 hours

push eventpercy/cli

Wil Wilsman

commit sha f7f73d108554929b24b392b1be3136633147a723

✨ Allow snapshotting a list of pages to utilize the base-url flag (#382) * ✨ Allow base command initial overrides argument with percyrc method * ✨ Allow base-url to work with a list of page pathnames Also allow a list of page URLs rather than requiring objects containing URLs * ✨ Allow custom schema validation error messages * ✨ Add pattern validation to static.base-url config option * 🐛 Fix snapshot name default uri path * 🚨 Fix lint issues

view details

push time in 21 hours

delete branch percy/cli

delete branch : ww/cli-snapshot-tweaks

delete time in 21 hours

PR merged percy/cli

✨ Allow snapshotting a list of pages to utilize the base-url flag enhancement

What is this?

This PR refactors and tweaks the percy snapshot command to be a little more friendly.

First, a page listing no longer needs to be a list of objects containing at least a url property. Now the file can contain just a list of URLs in the appropriate format:

# snapshots.yml
- https://example.com
- https://example.com/about
- https://example.com/contact

Second, the --base-url flag was made to work with page listings in addition to the existing static directory usage. Since usage differs between page listings and static directories however, some other small adjustments were necessary.

For static directories, the base URL should be the base PATHNAME that the site would be hosted at. Most sites are hosted at the domain root (/), however some sites might be hosted at other paths (e.g. /blog). This requirement has been present since the @percy/agent snapshot command and continues to remain a requirement.

For page listings, the base URL should be the entire base URL including the protocol and hostname. For example, the above list of URLs can be simplified to remove the common base URL:

# snapshots.yml
- /
- /about
- /contact
$ percy snapshot --base-url https://example.com snapshots.yml

To prevent mixing up the static.base-url configuration option with the page listing flag, a couple other changes were also made. The flag is no longer auto-mapped to the configuration option via the percyrc flag property. Instead, it is passed along to the .percyrc() method which now accepts an initial overrides argument.

The static.base-url configuration option was no longer being checked for the leading forward slash (only the flag is checked by the command now). A pattern requirement was added to the schema, and custom errors messages were added to config validation to print a better error message than what is normally printed for pattern failures. We can also utilize this pattern to do other better config validations in the future such as for certain discovery options.

The --dry-run flag will now print a better list of snapshots, however the default name in core is only created when calling the snapshot method. The default name was also added here so dry runs can properly print it. When adding the default name here, I discovered a small bug in the core implementation in which uri.path needed to be replaced with uri.pathname.

+209 -95

0 comment

7 changed files

wwilsman

pr closed time in 21 hours

issue closedpercy/cli

Handle failed builds

Since snapshots begin processing as soon as the API receives them, a build can fail before all snapshots have finished uploading. In this case, a 422 error is returned from the API. We should catch these errors and stop further snapshot handling

closed time in a day

wwilsman

issue commentpercy/cli

Handle failed builds

Handled for SDKs that utilize sdk-utils with #369

wwilsman

comment created time in a day

issue closedpercy/cli

Unsupported Percy CLI version, disabling snapshots

Weird, it seemed to work the other day in another package, did a copy paste and am now getting this error:

// package.json
"scripts": {
    "serve:insecure": "webpack serve --config webpack.slice.ts --env=devMode=true",
    "test:visual": "start-server-and-test serve:insecure http-get://localhost:8080 test:percy",
    "test:percy": "percy exec -- jest .visual.test.*$ --forceExit"
},
"devDependencies": {
    "@percy/cli": "^1.0.0-beta.49",
    "@percy/puppeteer": "^2.0.0",
    "puppeteer": "^9.1.1",
    "start-server-and-test": "^1.12.2"
}
// Session.visual.test.ts
import percySnapshot from '@percy/puppeteer';
import { launch } from 'puppeteer';

describe('Visual Regression: Session', () => {
  it('Displays the welcome page by default', async () => {
    const browser = await launch();
    const page = await browser.newPage();
    await page.goto('http://localhost:8080');
    await percySnapshot(page, 'Session: Welcome');
  });
});

CLI Output

「wdm」: Compiled successfully.
[percy] Unsupported Percy CLI version, disabling snapshots
[percy] stopping percy...
[percy] waiting for 0 snapshots to complete...
[percy] done.

Any ideas of what I should be doing instead?

closed time in a day

csi-lk

issue commentpercy/cli

Unsupported Percy CLI version, disabling snapshots

Closing due to no activity and it seems like a misconfiguration

csi-lk

comment created time in a day