Skip to content

๐Ÿ“ฆ Update dependency esbuild to v0.13.2#35928

Merged
rsimha merged 1 commit intomainfrom
renovate/esbuild-devdependencies
Sep 29, 2021
Merged

๐Ÿ“ฆ Update dependency esbuild to v0.13.2#35928
rsimha merged 1 commit intomainfrom
renovate/esbuild-devdependencies

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Sep 2, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
esbuild 0.12.24 -> 0.13.2 age adoption passing confidence

See all other Renovate PRs on the Dependency Dashboard

How to resolve breaking changes

This PR may introduce breaking changes that require manual intervention. In such cases, you will need to check out this branch, fix the cause of the breakage, and commit the fix to ensure a green CI build. To check out and update this PR, follow the steps below:

# Check out the PR branch
git checkout -b renovate/esbuild-devdependencies main
git pull https://github.com/ampproject/amphtml.git renovate/esbuild-devdependencies

# Directly make fixes and commit them
amp lint --fix # For lint errors in JS files
amp prettify --fix # For prettier errors in non-JS files
# Edit source code in case of new compiler warnings / errors

# Push the changes to the branch
git push git@github.com:ampproject/amphtml.git renovate/esbuild-devdependencies:renovate/esbuild-devdependencies

Release Notes

evanw/esbuild

v0.13.2

Compare Source

  • Fix export {} statements with --tree-shaking=true (#โ€‹1628)

    The new --tree-shaking=true option allows you to force-enable tree shaking in cases where it wasn't previously possible. One such case is when bundling is disabled and there is no output format configured, in which case esbuild just preserves the format of whatever format the input code is in. Enabling tree shaking in this context caused a bug where export {} statements were stripped. This release fixes the bug so export {} statements should now be preserved when you pass --tree-shaking=true. This bug only affected this new functionality and didn't affect existing scenarios.

v0.13.1

Compare Source

  • Fix the esbuild package in yarn 2+

    The yarn package manager version 2 and above has a mode called PnP that installs packages inside zip files instead of using individual files on disk, and then hijacks node's fs module to pretend that paths to files inside the zip file are actually individual files on disk so that code that wasn't written specifically for yarn still works. Unfortunately that hijacking is incomplete and it still causes certain things to break such as using these zip file paths to create a JavaScript worker thread or to create a child process.

    This was an issue for the new optionalDependencies package installation strategy that was just released in version 0.13.0 since the binary executable is now inside of an installed package instead of being downloaded using an install script. When it's installed with yarn 2+ in PnP mode the binary executable is inside a zip file and can't be run. To work around this, esbuild detects yarn's PnP mode and copies the binary executable to a real file outside of the zip file.

    Unfortunately the code to do this didn't create the parent directory before writing to the file path. That caused esbuild's API to crash when it was run for the first time. This didn't come up during testing because the parent directory already existed when the tests were run. This release changes the location of the binary executable from a shared cache directory to inside the esbuild package itself, which should fix this crash. This problem only affected esbuild's JS API when it was run through yarn 2+ with PnP mode active.

v0.13.0

Compare Source

This release contains backwards-incompatible changes. Since esbuild is before version 1.0.0, these changes have been released as a new minor version to reflect this (as recommended by npm). You should either be pinning the exact version of esbuild in your package.json file or be using a version range syntax that only accepts patch upgrades such as ~0.12.0. See the documentation about semver for more information.

  • Allow tree shaking to be force-enabled and force-disabled (#โ€‹1518, #โ€‹1610, #โ€‹1611, #โ€‹1617)

    This release introduces a breaking change that gives you more control over when tree shaking happens ("tree shaking" here refers to declaration-level dead code removal). Previously esbuild's tree shaking was automatically enabled or disabled for you depending on the situation and there was no manual override to change this. Specifically, tree shaking was only enabled either when bundling was enabled or when the output format was set to iife (i.e. wrapped in an immediately-invoked function expression). This was done to avoid issues with people appending code to output files in the cjs and esm formats and expecting that code to be able to reference code in the output file that isn't otherwise referenced.

    You now have the ability to explicitly force-enable or force-disable tree shaking to bypass this default behavior. This is a breaking change because there is already a setting for tree shaking that does something else, and it has been moved to a separate setting instead. The previous setting allowed you to control whether or not to ignore manual side-effect annotations, which is related to tree shaking since only side-effect free code can be removed as dead code. Specifically you can annotate function calls with /* @​__PURE__ */ to indicate that they can be removed if they are not used, and you can annotate packages with "sideEffects": false to indicate that imports of that package can be removed if they are not used. Being able to ignore these annotations is necessary because they are sometimes incorrect. This previous setting has been moved to a separate setting because it actually impacts dead-code removal within expressions, which also applies when minifying with tree-shaking disabled.

Old behavior
* CLI
    * Ignore side-effect annotations: `--tree-shaking=ignore-annotations`
* JS
    * Ignore side-effect annotations: `treeShaking: 'ignore-annotations'`
* Go
    * Ignore side-effect annotations: `TreeShaking: api.TreeShakingIgnoreAnnotations`
New behavior
* CLI
    * Ignore side-effect annotations: `--ignore-annotations`
    * Force-disable tree shaking: `--tree-shaking=false`
    * Force-enable tree shaking: `--tree-shaking=true`
* JS
    * Ignore side-effect annotations: `ignoreAnnotations: true`
    * Force-disable tree shaking: `treeShaking: false`
    * Force-enable tree shaking: `treeShaking: true`
* Go
    * Ignore side-effect annotations: `IgnoreAnnotations: true`
    * Force-disable tree shaking: `TreeShaking: api.TreeShakingFalse`
    * Force-enable tree shaking: `TreeShaking: api.TreeShakingTrue`
  • The npm package now uses optionalDependencies to install the platform-specific binary executable (#โ€‹286, #โ€‹291, #โ€‹319, #โ€‹347, #โ€‹369, #โ€‹547, #โ€‹565, #โ€‹789, #โ€‹921, #โ€‹1193, #โ€‹1270, #โ€‹1382, #โ€‹1422, #โ€‹1450, #โ€‹1485, #โ€‹1546, #โ€‹1547, #โ€‹1574, #โ€‹1609)

    This release changes esbuild's installation strategy in an attempt to improve compatibility with edge cases such as custom registries, custom proxies, offline installations, read-only file systems, or when post-install scripts are disabled. It's being treated as a breaking change out of caution because it's a significant change to how esbuild works with JS package managers, and hasn't been widely tested yet.

    The old installation strategy manually downloaded the correct binary executable in a post-install script. The binary executable is hosted in a separate platform-specific npm package such as esbuild-darwin-64. The install script first attempted to download the package via the npm command in case npm had custom network settings configured. If that didn't work, the install script attempted to download the package from https://registry.npmjs.org/ before giving up. This was problematic for many reasons including:

    • Not all of npm's settings can be forwarded due to npm bugs such as https://github.com/npm/cli/issues/2284, and npm has said these bugs will never be fixed.
    • Some people have configured their network environments such that downloading from https://registry.npmjs.org/ will hang instead of either succeeding or failing.
    • The installed package was broken if you used npm --ignore-scripts because then the post-install script wasn't run. Some people enable this option so that malicious packages must be run first before being able to do malicious stuff.

    The new installation strategy automatically downloads the correct binary executable using npm's optionalDependencies feature to depend on all esbuild packages for all platforms but only have the one for the current platform be installed. This is a built-in part of the package manager so my assumption is that it should work correctly in all of these edge cases that currently don't work. And if there's an issue with this, then the problem is with the package manager instead of with esbuild so this should hopefully reduce the maintenance burden on esbuild itself. Changing to this installation strategy has these drawbacks:

    • Old versions of certain package managers (specifically npm and yarn) print lots of useless log messages during the installation, at least one for each platform other than the current one. These messages are harmless and can be ignored. However, they are annoying. There is nothing I can do about this. If you have this problem, one solution is to upgrade your package manager to a newer version.

    • Installation will be significantly slower in old versions of npm, old versions of pnpm, and all versions of yarn. These package managers download all packages for all platforms even though they aren't needed and actually cannot be used. This problem has been fixed in npm and pnpm and the problem has been communicated to yarn: https://github.com/yarnpkg/berry/issues/3317. If you have this problem, one solution is to use a newer version of npm or pnpm as your package manager.

    • This installation strategy does not work if you use npm --no-optional since then the package with the binary executable is not installed. If you have this problem, the solution is to not pass the --no-optional flag when installing packages.

    • There is still a small post-install script but it's now optional in that the esbuild package should still function correctly if post-install scripts are disabled (such as with npm --ignore-scripts). This post-install script optimizes the installed package by replacing the esbuild JavaScript command shim with the actual binary executable at install time. This avoids the overhead of launching another node process when using the esbuild command. So keep in mind that installing with --ignore-scripts will result in a slower esbuild command.

    Despite the drawbacks of the new installation strategy, I believe this change is overall a good thing to move forward with. It should fix edge case scenarios where installing esbuild currently doesn't work at all, and this only comes at the expense of the install script working in a less-optimal way (but still working) if you are using an old version of npm. So I'm going to switch installation strategies and see how it goes.

    The platform-specific binary executables are still hosted on npm in the same way, so anyone who wrote code that downloads builds from npm using the instructions here should not have to change their code: https://esbuild.github.io/getting-started/#download-a-build. However, note that these platform-specific packages no longer specify the bin field in package.json so the esbuild command will no longer be automatically put on your path. The bin field had to be removed because of a collision with the bin field of the esbuild package (now that the esbuild package depends on all of these platform-specific packages as optional dependencies).

In addition to the breaking changes above, the following features are also included in this release:

  • Treat x guarded by typeof x !== 'undefined' as side-effect free

    This is a small tree-shaking (i.e. dead code removal) improvement. Global identifier references are considered to potentially have side effects since they will throw a reference error if the global identifier isn't defined, and code with side effects cannot be removed as dead code. However, there's a somewhat-common case where the identifier reference is guarded by a typeof check to check that it's defined before accessing it. With this release, code that does this will now be considered to have no side effects which allows it to be tree-shaken:

    // Original code
    var __foo = typeof foo !== 'undefined' && foo;
    var __bar = typeof bar !== 'undefined' && bar;
    console.log(__bar);
    
    // Old output (with --bundle, which enables tree-shaking)
    var __foo = typeof foo !== 'undefined' && foo;
    var __bar = typeof bar !== 'undefined' && bar;
    console.log(__bar);
    
    // New output (with --bundle, which enables tree-shaking)
    var __bar = typeof bar !== 'undefined' && bar;
    console.log(__bar);

v0.12.29

Compare Source

  • Fix compilation of abstract class fields in TypeScript (#โ€‹1623)

    This release fixes a bug where esbuild could incorrectly include a TypeScript abstract class field in the compiled JavaScript output. This is incorrect because the official TypeScript compiler never does this. Note that this only happened in scenarios where TypeScript's useDefineForClassFields setting was set to true (or equivalently where TypeScript's target setting was set to ESNext). Here is the difference:

    // Original code
    abstract class Foo {
      abstract foo: any;
    }
    
    // Old output
    class Foo {
      foo;
    }
    
    // New output
    class Foo {
    }
  • Proxy from the __require shim to require (#โ€‹1614)

    Some background: esbuild's bundler emulates a CommonJS environment. The bundling process replaces the literal syntax require(<string>) with the referenced module at compile-time. However, other uses of require such as require(someFunction()) are not bundled since the value of someFunction() depends on code evaluation, and esbuild does not evaluate code at compile-time. So it's possible for some references to require to remain after bundling.

    This was causing problems for some CommonJS code that was run in the browser and that expected typeof require === 'function' to be true (see #โ€‹1202), since the browser does not provide a global called require. Thus esbuild introduced a shim require function called __require (shown below) and replaced all references to require in the bundled code with __require:

    var __require = x => {
      if (typeof require !== 'undefined') return require(x);
      throw new Error('Dynamic require of "' + x + '" is not supported');
    };

    However, this broke code that referenced require.resolve inside the bundle, which could hypothetically actually work since you could assign your own implementation to window.require.resolve (see #โ€‹1579). So the implementation of __require was changed to this:

    var __require = typeof require !== 'undefined' ? require : x => {
      throw new Error('Dynamic require of "' + x + '" is not supported');
    };

    However, that broke code that assigned to window.require later on after the bundle was loaded (#โ€‹1614). So with this release, the code for __require now handles all of these edge cases:

    • typeof require is still function even if window.require is undefined
    • window.require can be assigned to either before or after the bundle is loaded
    • require.resolve and arbitrary other properties can still be accessed
    • require will now forward any number of arguments, not just the first one

    Handling all of these edge cases is only possible with the Proxy API. So the implementation of __require now looks like this:

    var __require = (x =>
      typeof require !== 'undefined' ? require :
      typeof Proxy !== 'undefined' ? new Proxy(x, {
        get: (a, b) => (typeof require !== 'undefined' ? require : a)[b]
      }) : x
    )(function(x) {
      if (typeof require !== 'undefined') return require.apply(this, arguments);
      throw new Error('Dynamic require of "' + x + '" is not supported');
    });
  • Consider typeof x to have no side effects

    The typeof operator does not itself trigger any code evaluation so it can safely be removed if evaluating the operand does not cause any side effects. However, there is a special case of the typeof operator when the operand is an identifier expression. In that case no reference error is thrown if the referenced symbol does not exist (e.g. typeof x does not throw an error if there is no symbol named x). With this release, esbuild will now consider typeof x to have no side effects even if evaluating x would have side effects (i.e. would throw a reference error):

    // Original code
    var unused = typeof React !== 'undefined';
    
    // Old output
    var unused = typeof React !== 'undefined';
    
    // New output

    Note that there is actually an edge case where typeof x can throw an error: when x is being referenced inside of its TDZ, or temporal dead zone (i.e. before it's declared). This applies to let, const, and class symbols. However, esbuild doesn't currently handle TDZ rules so the possibility of errors thrown due to TDZ rules is not currently considered. This typically doesn't matter in real-world code so this hasn't been a priority to fix (and is actually tricky to fix with esbuild's current bundling approach). So esbuild may incorrectly remove a typeof expression that actually has side effects. However, esbuild already incorrectly did this in previous releases so its behavior regarding typeof and TDZ rules hasn't changed in this release.

v0.12.28

Compare Source

  • Fix U+30FB and U+FF65 in identifier names in ES5 vs. ES6+ (#โ€‹1599)

    The ES6 specification caused two code points that were previously valid in identifier names in ES5 to no longer be valid in identifier names in ES6+. The two code points are:

    • U+30FB i.e. KATAKANA MIDDLE DOT i.e. ใƒป
    • U+FF65 i.e. HALFWIDTH KATAKANA MIDDLE DOT i.e. ๏ฝฅ

    This means that using ES6+ parsing rules will fail to parse some valid ES5 code, and generating valid ES5 code may fail to be parsed using ES6+ parsing rules. For example, esbuild would previously fail to parse x.y๏ฝฅ even though it's valid ES5 code (since it's not valid ES6+ code) and esbuild could generate {y๏ฝฅ:x} when minifying even though it's not valid ES6+ code (since it's valid ES5 code). This problem is the result of my incorrect assumption that ES6 is a superset of ES5.

    As of this release, esbuild will now parse a superset of ES5 and ES6+ and will now quote identifier names when possible if it's not considered to be a valid identifier name in either ES5 or ES6+. In other words, a union of ES5 and ES6 rules is used for parsing and the intersection of ES5 and ES6 rules is used for printing.

  • Fix ++ and -- on class private fields when used with big integers (#โ€‹1600)

    Previously when esbuild lowered class private fields (e.g. #foo) to older JavaScript syntax, the transform of the ++ and -- was not correct if the value is a big integer such as 123n. The transform in esbuild is similar to Babel's transform which has the same problem. Specifically, the code was transformed into code that either adds or subtracts the number 1 and 123n + 1 throws an exception in JavaScript. This problem has been fixed so this should now work fine starting with this release.

v0.12.27

Compare Source

  • Update JavaScript syntax feature compatibility tables (#โ€‹1594)

    Most JavaScript syntax feature compatibility data is able to be obtained automatically via https://kangax.github.io/compat-table/. However, they are missing data for quite a few new JavaScript features (see (kangax/compat-table#โ€‹1034)) so data on these new features has to be added manually. This release manually adds a few new entries:

    • Top-level await

      This feature lets you use await at the top level of a module, outside of an async function. Doing this holds up the entire module instantiation operation until the awaited expression is resolved or rejected. This release marks this feature as supported in Edge 89, Firefox 89, and Safari 15 (it was already marked as supported in Chrome 89 and Node 14.8). The data source for this is https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await.

    • Arbitrary module namespace identifier names

      This lets you use arbitrary strings as module namespace identifier names as long as they are valid UTF-16 strings. An example is export { x as "๐Ÿ•" } which can then be imported as import { "๐Ÿ•" as y } from "./example.js". This release marks this feature as supported in Firefox 87 (it was already marked as supported in Chrome 90 and Node 16). The data source for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1670044.

    I would also like to add data for Safari. They have recently added support for arbitrary module namespace identifier names (https://bugs.webkit.org/show_bug.cgi?id=217576) and export * as (https://bugs.webkit.org/show_bug.cgi?id=214379). However, I have no idea how to determine which Safari release these bugs correspond to so this compatibility data for Safari has been omitted.

  • Avoid unnecessary additional log messages after the server is stopped (#โ€‹1589)

    There is a development server built in to esbuild which is accessible via the serve() API call. This returns a promise that resolves to an object with a stop() method that immediately terminates the development server. Previously calling this could cause esbuild to print stray log messages since stop() could cause plugins to be unregistered while a build is still in progress. With this release, calling stop() no longer terminates the development server immediately. It now waits for any active builds to finish first so the builds are not interrupted and left in a confusing state.

  • Fix an accidental dependency on Go โ‰ฅ1.17.0 (#โ€‹1585)

    The source code of this release no longer uses the math.MaxInt constant that was introduced in Go version 1.17.0. This constant was preventing esbuild from being compiled on Go version <1.17.0. This fix was contributed by @โ€‹davezuko.

v0.12.26

Compare Source

  • Add --analyze to print information about the bundle (#โ€‹1568)

    The --metafile= flag tells esbuild to write information about the bundle into the provided metadata file in JSON format. It contains information about the input files and which other files each one imports, as well as the output files and which input files they include. This information is sufficient to answer many questions such as:

    • Which files are in my bundle?
    • What's are the biggest files in my bundle?
    • Why is this file included in my bundle?

    Previously you had to either write your own code to answer these questions, or use another tool such as https://bundle-buddy.com/esbuild to visualize the data. Starting with this release you can now also use --analyze to enable esbuild's built-in visualizer. It looks like this:

    $ esbuild --bundle example.jsx --outfile=out.js --minify --analyze
    
      out.js  27.6kb
    
    โšก Done in 6ms
    
      out.js                                                                    27.6kb  100.0%
       โ”œ node_modules/react-dom/cjs/react-dom-server.browser.production.min.js  19.2kb   69.8%
       โ”œ node_modules/react/cjs/react.production.min.js                          5.9kb   21.4%
       โ”œ node_modules/object-assign/index.js                                     965b     3.4%
       โ”œ example.jsx                                                             137b     0.5%
       โ”œ node_modules/react-dom/server.browser.js                                 50b     0.2%
       โ”” node_modules/react/index.js                                              50b     0.2%
    

    This tells you what input files were bundled into each output file as well as the final minified size contribution of each input file as well as the percentage of the output file it takes up. You can also enable verbose analysis with --analyze=verbose to see why each input file was included (i.e. which files imported it from the entry point file):

    $ esbuild --bundle example.jsx --outfile=out.js --minify --analyze=verbose
    
      out.js  27.6kb
    
    โšก Done in 6ms
    
      out.js โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 27.6kb โ”€ 100.0%
       โ”œ node_modules/react-dom/cjs/react-dom-server.browser.production.min.js โ”€ 19.2kb โ”€โ”€ 69.8%
       โ”‚  โ”” node_modules/react-dom/server.browser.js
       โ”‚     โ”” example.jsx
       โ”œ node_modules/react/cjs/react.production.min.js โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 5.9kb โ”€โ”€ 21.4%
       โ”‚  โ”” node_modules/react/index.js
       โ”‚     โ”” example.jsx
       โ”œ node_modules/object-assign/index.js โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 965b โ”€โ”€โ”€โ”€ 3.4%
       โ”‚  โ”” node_modules/react-dom/cjs/react-dom-server.browser.production.min.js
       โ”‚     โ”” node_modules/react-dom/server.browser.js
       โ”‚        โ”” example.jsx
       โ”œ example.jsx โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 137b โ”€โ”€โ”€โ”€ 0.5%
       โ”œ node_modules/react-dom/server.browser.js โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 50b โ”€โ”€โ”€โ”€ 0.2%
       โ”‚  โ”” example.jsx
       โ”” node_modules/react/index.js โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 50b โ”€โ”€โ”€โ”€ 0.2%
          โ”” example.jsx
    

    There is also a JS API for this:

    const result = await esbuild.build({
      metafile: true,
      ...
    })
    console.log(await esbuild.analyzeMetafile(result.metafile, {
      verbose: true,
    }))

    and a Go API:

    result := api.Build(api.BuildOptions{
      Metafile: true,
      ...
    })
    fmt.Println(api.AnalyzeMetafile(result.Metafile, api.AnalyzeMetafileOptions{
      Verbose: true,
    }))

    Note that this is not the only way to visualize this data. If you want a visualization that's different than the information displayed here, you can easily build it yourself using the information in the metafile that is generated with the --metafile= flag.

    Also note that this data is intended for humans, not machines. The specific format of this data may change over time which will likely break any tools that try to parse it. You should not write a tool to parse this data. You should be using the information in the JSON metadata file instead. Everything in this visualization is derived from the JSON metadata so you are not losing out on any information by not using esbuild's output.

  • Allow require.resolve in non-node builds (#โ€‹1579)

    With this release, you can now use require.resolve in builds when the target platform is set to browser instead of node as long as the function window.require.resolve exists somehow. This was already possible when the platform is node but when the platform is browser, esbuild generates a no-op shim require function for compatibility reasons (e.g. because some code expects typeof require must be "function" even in the browser). The shim previously had a fallback to window.require if it exists, but additional properties of the require function such as require.resolve were not copied over to the shim. Now the shim function is only used if window.require is undefined so additional properties such as require.resolve should now work.

    This change was contributed by @โ€‹screetBloom.

v0.12.25

Compare Source

  • Fix a TypeScript parsing edge case with the postfix ! operator (#โ€‹1560)

    This release fixes a bug with esbuild's TypeScript parser where the postfix ! operator incorrectly terminated a member expression after the new operator:

    // Original input
    new Foo!.Bar();
    
    // Old output
    new Foo().Bar();
    
    // New output
    new Foo.Bar();

    The problem was that ! was considered a postfix operator instead of part of a member expression. It is now considered to be part of a member expression instead, which fixes this edge case.

  • Fix a parsing crash with nested private brand checks

    This release fixes a bug in the parser where code of the form #a in #b in c caused a crash. This code now causes a syntax error instead. Private identifiers are allowed when followed by in, but only if the operator precedence level is such that the in operator is allowed. The parser was missing the operator precedence check.

  • Publish x86-64 binary executables for illumos (#โ€‹1562)

    This release adds support for the illumos operating system, which is related to Solaris and SunOS. Support for this platform was contributed by @โ€‹hadfl.


Configuration

๐Ÿ“… Schedule: "after 12am every weekday" in timezone America/Los_Angeles.

๐Ÿšฆ Automerge: Enabled.

โ™ป Rebasing: Never, or you tick the rebase/retry checkbox.

๐Ÿ”• Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@rsimha rsimha enabled auto-merge (squash) September 21, 2021 16:54
@renovate renovate bot force-pushed the renovate/esbuild-devdependencies branch from 287a598 to 8942e8f Compare September 21, 2021 16:59
@renovate renovate bot changed the title ๐Ÿ“ฆ Update dependency esbuild to v0.12.25 ๐Ÿ“ฆ Update dependency esbuild to v0.12.28 Sep 21, 2021
@renovate renovate bot force-pushed the renovate/esbuild-devdependencies branch from 8942e8f to 823681d Compare September 27, 2021 20:14
@renovate renovate bot changed the title ๐Ÿ“ฆ Update dependency esbuild to v0.12.28 ๐Ÿ“ฆ Update dependency esbuild to v0.13.2 Sep 27, 2021
@rsimha rsimha merged commit b681cc4 into main Sep 29, 2021
@rsimha rsimha deleted the renovate/esbuild-devdependencies branch September 29, 2021 17:23
AnuragVasanwala added a commit to rtCamp/amphtml that referenced this pull request Oct 6, 2021
* tickevents: remove unused enum values (ampproject#36159)

* tickevents: remove unused enum values

* Remove dupe of CLS, fidv, lj1,lj2

* format

* ๐Ÿ“ฆ Update cimg/openjdk Docker tag to v17 (ampproject#36172)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency rollup to v2.57.0 (ampproject#36134)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @octokit/graphql to v4.7.0 (ampproject#35844)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* โ™ป๏ธ  Migrate `observeWithSharedInOb` to `observeIntersections` (ampproject#36106)

* ๐Ÿ— Make setup-node step consistent across gh actions (ampproject#36175)

* Partially revert "๐Ÿ— Parallelize `dist` steps (ampproject#35943)" (ampproject#36176)

* Revert "๐Ÿ— Parallelize `dist` steps (ampproject#35943)"

This reverts commit 1e2c808.

* Partially allow parallelization for smaller tasks

* Also include `compileAllJs` in the parallelized part

* (amp-lightbox-gallery): opens to selected image, resolve ampproject#35920 (ampproject#36103)

removed a unlayout call that would cause the image to default to the first slide

* โ™ป๏ธ  preact inob: small cleanup (ampproject#36177)

* preact inob: small cleanup

* also remove current

* build-system: only write version.txt once per dir (ampproject#36162)

* build-system: only write version.txt once

* output full set of

* sort the paths

* write files...not directories

* succinct format

* bind-impl: missing ampStateEl is a user error (ampproject#36113)

* Update Yandex & ADFOX amp-ad codes (ampproject#35442)

* ๐ŸงชUpdate OT token for attribution-reporting (ampproject#36181)

* ๐Ÿ—  Add `exports` for stylesheets to `package.json` (ampproject#36027)

* Add styles.css export to package.json

* Conditionally add export

* Use `fast-glob`

* Add separate export entry for each stylesheet

* window support

* sort for lint

Co-authored-by: Jake Fried <samouri@users.noreply.github.com>

* โœจ  [bento][amp-iframe] Add validator rules for 1.0 (ampproject#36182)

* ๐Ÿšฎ Sweep experiments older than 2021-02-01 (ampproject#35486)

Sweep experiments last flipped globally up to 2021-02-01:

- (2021-01-20, a9e2778) `adsense-ad-size-optimization`: 1

* UTF8 encoding/decoding library to deprecated utf8 functions in strings.h|cc (ampproject#36184)

library.

PiperOrigin-RevId: 398102411

Co-authored-by: Amaltas Bohra <amaltas@google.com>

* Validator rollup (ampproject#36185)

* cl/398081751 Use the proto message number instead of index for enums.

* cl/398323481 Two-way sync for PR ampproject#36085. No-op, or fixes merge conflicts, if any.

Co-authored-by: honeybadgerdontcare <sedano@google.com>

* ๐Ÿ“ฆ Update dependency @octokit/rest to v18.11.2 (ampproject#36180)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* deps: bump bento-compiler (ampproject#36191)

* ๐Ÿ“ฆ Update dependency @jest/core to v27.2.3 (ampproject#36189)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency esbuild to v0.12.25 (ampproject#35928)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update linting devDependencies (ampproject#36119)

* ๐Ÿ“ฆ Update linting devDependencies

* Fix lint errors

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>

* ๐Ÿ“ฆ Update dependency axios to 0.21.2 [SECURITY] (ampproject#35999)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency esbuild to v0.13.3 (ampproject#36198)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency tar to v6.1.9 [SECURITY] (ampproject#35509)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* performance-impl: cant check ampdoc vis hidden while null (ampproject#36197)

* performance-impl: cant check ampdoc vis hidden before initted

* Add unit test

* ๐Ÿ—  Add nice colors to release tagger logs (ampproject#36200)

* log

* comment

* ๐Ÿ“ฆ Update core devDependencies (ampproject#36196)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @ampproject/worker-dom to v0.32.0 (ampproject#36138)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency google-closure-library to v20210808 (ampproject#35617)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* SwG Release 0.1.22.186 (ampproject#36202)

* ๐Ÿ“ฆ Update dependency chromedriver to v94 (ampproject#35951)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>

* ๐Ÿ“ฆ Update dependency tar to v6.1.11 (ampproject#36203)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“– `bento-facebook` Documentation (ampproject#36038)

* [`bento-facebook`] Update the amp-facebook.md file for both 0.1 and 1.0.
Add a README.md for 1.0 bento mode.

* [`bento-facebook`] Add documentation to describe the amp-facebook  usage
outside of valid AMP docs.

* [`bento-facebook`] Add readme.md for BentoFacebook.

* [`bento-facebook`] Address PR comments to update some attribute names.

* [`bento-facebook`] Update CDN link to bento-facebook-1.0.js.

* [`bento-facebook`] Prettify amp-facebook.md.

* [`bento-facebook`] Update dead link to FB documentation to a real link.

* [`bento-facebook`] Update dead links to be valid.

* ๐Ÿšฎ  Clean up dead amp-sidebar code within stories (ampproject#36178)

* Remove amp-sidebar code from extensions/amp-story

* Remove amp-sidebar visual tests from examples/visual-tests/amp-story

* Remove reference to amp-sidebar from amp-story-interactive README

* Remove remaining amp-sidebar logic from extensions/amp-story

* Remove amp-sidebar logic from amp-story-system-layer code

* Remove amp-sidebar code from amp-story-store-service.js

* Remove amp-sidebar storybook JS files

* A few missed deletions in test-amp-story and build-system/ caught by linter

* Revert extensions/amp-sidebar/*/storybook removal from forbidden terms

* Add back the amp-sidebar storybook files

* Add newline at end of each storybook file

* Run amp get-zindex --fix

* ๐Ÿ› [amp-story-panning-media] Set width on amp-img el (ampproject#36217)

* Set width on amp-img el.

* Add height

* ๐Ÿ“ฆ Update dependency @octokit/rest to v18.11.3 (ampproject#36212)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency eslint-plugin-react to v7.26.1 (ampproject#36214)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @ampproject/bento-compiler to v0.0.9 (ampproject#36225)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* โ™ป๏ธDon't fetch crypto signature verifier in no-signing (ampproject#36187)

* ๐Ÿ› Force transfer of `amp-consent` element to the `FixedLayer` (ampproject#36223)

Fixes ampproject#36063

`amp-consent` explicitly adds itself to the `FixedLayer`, transferring itself before the iframe is loaded.

On a later pass, `FixedLayer` decides that `amp-consent` is not transferrable, so it returns it to the original `<body>` element.

Enabling `forceTransfer` causes the return reparenting to not occur, thus preventing the iframe from loading a second time.

* ๐Ÿ“ฆ Update core dependencies (ampproject#35061)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency rollup to v2.58.0 (ampproject#36232)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @octokit/rest to v18.11.4 (ampproject#36227)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* [bento][amp-iframe] Add README (ampproject#36210)

* [bento][amp-iframe] changes to publish to npm (ampproject#36190)

* ๐Ÿ› fix broken link to Preact/React component section in various README (ampproject#36222)

* ๐Ÿ— release: Update self-hosting support to use amp release (ampproject#36165)

* Update self-host to use amp release

`amp release` copies static files and downloaded resources to supplement
an `amp dist` runtime. Support custom release flavor definitions and
update the amp-framework-hosting documentation.

* Fix typo in documentation

* Prefer accessing argv instead of passing value

* Skip cleaning custom configs by default

* Review suggestions

* [amp-iframe] iframe viewability (ampproject#36131)

* bento amp-iframe: guard effect from running without a win (ampproject#36241)

* ๐Ÿš€ babel/terser: rename all amp privates with sentinel suffix (ampproject#36143)

* configs: Separate user configs from output files (ampproject#36236)

Identify user configuration files under build-system/global-configs as
distinct from generated output. This will help avoid accidentally
including them in the cleanup script in the future.

* Fix ref issue in DisplayAsWithRef component

* Update the fix

Co-authored-by: Jake Fried <samouri@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: dmanek <506183+dmanek@users.noreply.github.com>
Co-authored-by: Esther Kim <44627152+estherkim@users.noreply.github.com>
Co-authored-by: Daniel Rozenberg <rodaniel@amp.dev>
Co-authored-by: William Johnson <dethstrobe@gmail.com>
Co-authored-by: Mikhail Troshev <mishanga@yandex-team.ru>
Co-authored-by: Caleb Cordry <ccordry@google.com>
Co-authored-by: Pascal Birchler <pascalb@google.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Allan Banaag <banaag@google.com>
Co-authored-by: Amaltas Bohra <amaltas@google.com>
Co-authored-by: honeybadgerdontcare <sedano@google.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>
Co-authored-by: qidonna <968756+qidonna@users.noreply.github.com>
Co-authored-by: rebeccanthomas <64608436+rebeccanthomas@users.noreply.github.com>
Co-authored-by: Corey Masanto <masanto@google.com>
Co-authored-by: Philip Bell <philipbell@google.com>
Co-authored-by: Alan Orozco <alanorozco@users.noreply.github.com>
Co-authored-by: Matt Mower <mdmower@cmphys.com>
Co-authored-by: Anurag Vasanwala <75766877+AnuragVasanwala@users.noreply.github.com>
dethstrobe added a commit that referenced this pull request Apr 12, 2022
* โœจ Initial Commit

* โ™ป๏ธ Attributes mapped to props

* โ™ป๏ธ Base skeleton with references

* โ™ป๏ธ Added build functions and ๐Ÿ– CSS

* ๐Ÿงช Experimental commit for `Gesture` Service

* โ™ป๏ธ Added `Gesture`, `Mouse` and `Keyboard` Service

`prettify` is also performed.

* Added `"npm": true` for build-system compilation config

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿšฎ Removed validator file until rules are added

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿšฎ Removed unnecessary example code

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿšฎ Removed `copyright` header from all files

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Cleanup

* ๐Ÿšฎ Renoved `Services`

Services should not be used in the Preact component.

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿงช Experiment commit, ๐Ÿšฎ Remvoed test `console.log`

* ๐Ÿ– Added and Formatted `JSS` & `CSS`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿ› Minor fixes for `JSS`

* โ™ป๏ธ `shouldHintReappear` renamed to more precise name `repeatHint`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿงช Experimental Test: `DOM` APIs to `JSX`

Preact component should not be creating any elements with DOM APIs. Preferring JSX instead. This is an experimental code for my storybook test.

* โ™ป๏ธ Minor fixes and Cleanup

* โœจ Added `seekTo` API Function

* โ™ป๏ธ Minor fix to initialise base class

* โ™ป๏ธ Added classes on the JSX node

* โช Removed `CSS`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ `ActionTrust` set for only user interaction

`DEFAULT` is needed for user interaction whereas `LOW` events could include things like autoplaying carousels. Thus, `DEFAULT` is recommended!

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Removed unnecessary initialisation and import

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ `ImageSlider` prefixed with `Bento`

The one exception that can stay `ImageSlider` is Storybooks. So, the Storybooks are still alphabetised and searchable without getting clogged up by the `Bento` prefix noise.

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Preact storybook updated with new prefix `Bento`

Preact Storybook `title` should be left as `ImageSlider` so it is still alphabetised and searchable without getting clogged up by the `Bento` prefix noise.

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ `classList` changed with `class`

Always prefer `class` to `classList`.

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ `initial-slider-position` type corrected to `number`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿ› Bug fix for `images` and `labels`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Updated storybook examples

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿšฎ Cleanup unnecessary storybook comment

* โ™ป๏ธ `disable-hint-reappear` renamed as `display-hint-once` in Bento `1.0`

The intention is to not have an attribute with a negative name, since enabling or disabling it can be confusing to reason about. On second thought, `repeat-hint` is not a good alternative because it flips the default behaviour when omitted. Let's rename to `display-hint-once` or similar, which has the same default omitted/provided behaviour, but perhaps a clearer name.

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โช Changes to markdown reverted and moved to `0.1`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โœจ Added markdown for `1.0`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿ› Fix for Preact Component API

Co-authored-by: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿ› Minor bug fixes

Co-authored-by: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Validation check added for `percent` attribute

Co-authored-by: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Updated use of `DisplayAs` as a component

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ `BentoImageSliderApi` namespace renamed to `Api` for precise meaning

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* ๐Ÿ– Added `css` for `1.0`, ๐Ÿ› Minor bug fixes and `prettify`

Co-Authored-By: Caroline Liu <10456171+caroqliu@users.noreply.github.com>

* โ™ป๏ธ Minor fix for `percent` validation check

* โ™ป๏ธ Removed superfluous trailing argument for `parseFloat`

* ๐Ÿงช Experimental Code: Image Reference Issue

This commit is intended to check and resolve image reference issue mentioned in discussion: #35783 (comment)

Use keyboard "left" & "right" arrow key to move bar and slide images. Also, focus on the container to enable keyboard input to the component.

* Fix ref issue in DisplayAsWithRef component (#5)

* tickevents: remove unused enum values (#36159)

* tickevents: remove unused enum values

* Remove dupe of CLS, fidv, lj1,lj2

* format

* ๐Ÿ“ฆ Update cimg/openjdk Docker tag to v17 (#36172)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency rollup to v2.57.0 (#36134)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @octokit/graphql to v4.7.0 (#35844)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* โ™ป๏ธ  Migrate `observeWithSharedInOb` to `observeIntersections` (#36106)

* ๐Ÿ— Make setup-node step consistent across gh actions (#36175)

* Partially revert "๐Ÿ— Parallelize `dist` steps (#35943)" (#36176)

* Revert "๐Ÿ— Parallelize `dist` steps (#35943)"

This reverts commit 1e2c808.

* Partially allow parallelization for smaller tasks

* Also include `compileAllJs` in the parallelized part

* (amp-lightbox-gallery): opens to selected image, resolve #35920 (#36103)

removed a unlayout call that would cause the image to default to the first slide

* โ™ป๏ธ  preact inob: small cleanup (#36177)

* preact inob: small cleanup

* also remove current

* build-system: only write version.txt once per dir (#36162)

* build-system: only write version.txt once

* output full set of

* sort the paths

* write files...not directories

* succinct format

* bind-impl: missing ampStateEl is a user error (#36113)

* Update Yandex & ADFOX amp-ad codes (#35442)

* ๐ŸงชUpdate OT token for attribution-reporting (#36181)

* ๐Ÿ—  Add `exports` for stylesheets to `package.json` (#36027)

* Add styles.css export to package.json

* Conditionally add export

* Use `fast-glob`

* Add separate export entry for each stylesheet

* window support

* sort for lint

Co-authored-by: Jake Fried <samouri@users.noreply.github.com>

* โœจ  [bento][amp-iframe] Add validator rules for 1.0 (#36182)

* ๐Ÿšฎ Sweep experiments older than 2021-02-01 (#35486)

Sweep experiments last flipped globally up to 2021-02-01:

- (2021-01-20, a9e2778) `adsense-ad-size-optimization`: 1

* UTF8 encoding/decoding library to deprecated utf8 functions in strings.h|cc (#36184)

library.

PiperOrigin-RevId: 398102411

Co-authored-by: Amaltas Bohra <amaltas@google.com>

* Validator rollup (#36185)

* cl/398081751 Use the proto message number instead of index for enums.

* cl/398323481 Two-way sync for PR #36085. No-op, or fixes merge conflicts, if any.

Co-authored-by: honeybadgerdontcare <sedano@google.com>

* ๐Ÿ“ฆ Update dependency @octokit/rest to v18.11.2 (#36180)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* deps: bump bento-compiler (#36191)

* ๐Ÿ“ฆ Update dependency @jest/core to v27.2.3 (#36189)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency esbuild to v0.12.25 (#35928)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update linting devDependencies (#36119)

* ๐Ÿ“ฆ Update linting devDependencies

* Fix lint errors

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>

* ๐Ÿ“ฆ Update dependency axios to 0.21.2 [SECURITY] (#35999)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency esbuild to v0.13.3 (#36198)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency tar to v6.1.9 [SECURITY] (#35509)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* performance-impl: cant check ampdoc vis hidden while null (#36197)

* performance-impl: cant check ampdoc vis hidden before initted

* Add unit test

* ๐Ÿ—  Add nice colors to release tagger logs (#36200)

* log

* comment

* ๐Ÿ“ฆ Update core devDependencies (#36196)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @ampproject/worker-dom to v0.32.0 (#36138)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency google-closure-library to v20210808 (#35617)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* SwG Release 0.1.22.186 (#36202)

* ๐Ÿ“ฆ Update dependency chromedriver to v94 (#35951)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>

* ๐Ÿ“ฆ Update dependency tar to v6.1.11 (#36203)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“– `bento-facebook` Documentation (#36038)

* [`bento-facebook`] Update the amp-facebook.md file for both 0.1 and 1.0.
Add a README.md for 1.0 bento mode.

* [`bento-facebook`] Add documentation to describe the amp-facebook  usage
outside of valid AMP docs.

* [`bento-facebook`] Add readme.md for BentoFacebook.

* [`bento-facebook`] Address PR comments to update some attribute names.

* [`bento-facebook`] Update CDN link to bento-facebook-1.0.js.

* [`bento-facebook`] Prettify amp-facebook.md.

* [`bento-facebook`] Update dead link to FB documentation to a real link.

* [`bento-facebook`] Update dead links to be valid.

* ๐Ÿšฎ  Clean up dead amp-sidebar code within stories (#36178)

* Remove amp-sidebar code from extensions/amp-story

* Remove amp-sidebar visual tests from examples/visual-tests/amp-story

* Remove reference to amp-sidebar from amp-story-interactive README

* Remove remaining amp-sidebar logic from extensions/amp-story

* Remove amp-sidebar logic from amp-story-system-layer code

* Remove amp-sidebar code from amp-story-store-service.js

* Remove amp-sidebar storybook JS files

* A few missed deletions in test-amp-story and build-system/ caught by linter

* Revert extensions/amp-sidebar/*/storybook removal from forbidden terms

* Add back the amp-sidebar storybook files

* Add newline at end of each storybook file

* Run amp get-zindex --fix

* ๐Ÿ› [amp-story-panning-media] Set width on amp-img el (#36217)

* Set width on amp-img el.

* Add height

* ๐Ÿ“ฆ Update dependency @octokit/rest to v18.11.3 (#36212)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency eslint-plugin-react to v7.26.1 (#36214)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @ampproject/bento-compiler to v0.0.9 (#36225)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* โ™ป๏ธDon't fetch crypto signature verifier in no-signing (#36187)

* ๐Ÿ› Force transfer of `amp-consent` element to the `FixedLayer` (#36223)

Fixes #36063

`amp-consent` explicitly adds itself to the `FixedLayer`, transferring itself before the iframe is loaded.

On a later pass, `FixedLayer` decides that `amp-consent` is not transferrable, so it returns it to the original `<body>` element.

Enabling `forceTransfer` causes the return reparenting to not occur, thus preventing the iframe from loading a second time.

* ๐Ÿ“ฆ Update core dependencies (#35061)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency rollup to v2.58.0 (#36232)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* ๐Ÿ“ฆ Update dependency @octokit/rest to v18.11.4 (#36227)

Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>

* [bento][amp-iframe] Add README (#36210)

* [bento][amp-iframe] changes to publish to npm (#36190)

* ๐Ÿ› fix broken link to Preact/React component section in various README (#36222)

* ๐Ÿ— release: Update self-hosting support to use amp release (#36165)

* Update self-host to use amp release

`amp release` copies static files and downloaded resources to supplement
an `amp dist` runtime. Support custom release flavor definitions and
update the amp-framework-hosting documentation.

* Fix typo in documentation

* Prefer accessing argv instead of passing value

* Skip cleaning custom configs by default

* Review suggestions

* [amp-iframe] iframe viewability (#36131)

* bento amp-iframe: guard effect from running without a win (#36241)

* ๐Ÿš€ babel/terser: rename all amp privates with sentinel suffix (#36143)

* configs: Separate user configs from output files (#36236)

Identify user configuration files under build-system/global-configs as
distinct from generated output. This will help avoid accidentally
including them in the cleanup script in the future.

* Fix ref issue in DisplayAsWithRef component

* Update the fix

Co-authored-by: Jake Fried <samouri@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: dmanek <506183+dmanek@users.noreply.github.com>
Co-authored-by: Esther Kim <44627152+estherkim@users.noreply.github.com>
Co-authored-by: Daniel Rozenberg <rodaniel@amp.dev>
Co-authored-by: William Johnson <dethstrobe@gmail.com>
Co-authored-by: Mikhail Troshev <mishanga@yandex-team.ru>
Co-authored-by: Caleb Cordry <ccordry@google.com>
Co-authored-by: Pascal Birchler <pascalb@google.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Allan Banaag <banaag@google.com>
Co-authored-by: Amaltas Bohra <amaltas@google.com>
Co-authored-by: honeybadgerdontcare <sedano@google.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>
Co-authored-by: qidonna <968756+qidonna@users.noreply.github.com>
Co-authored-by: rebeccanthomas <64608436+rebeccanthomas@users.noreply.github.com>
Co-authored-by: Corey Masanto <masanto@google.com>
Co-authored-by: Philip Bell <philipbell@google.com>
Co-authored-by: Alan Orozco <alanorozco@users.noreply.github.com>
Co-authored-by: Matt Mower <mdmower@cmphys.com>
Co-authored-by: Anurag Vasanwala <75766877+AnuragVasanwala@users.noreply.github.com>

* Fix bento slider issues (#12)

* Refactor bento amp image slider markup

* Fix label styling

* Fix hints and slider touch gestures

* Add storybook styling for custom label and hints

* Remove unneccesary code

* Add comments for `containerClass` and `initLogContructor`

* Update import path using alias

* โ™ป๏ธ Update alias, update AMP example

* ๐Ÿ— Update compilation config

* ๐Ÿ– Fix for `amp-img` size

* โ™ป๏ธ Update image `selector` order

* โ™ป๏ธ Minor fix passing class name

* Fix bento image slider misc issues (#14)

* Add slot for custom hints and fix label markup

* Implement display-hint-once option and cleanup code

* Fix LGTM check

* Fix LGTM check

* Use ContainWrapper for component wrapper

* Fix circleCI checks

* Add unit test cases for amp-image-slider component

* Update initial position attribute in storybook

* Add unit test code coverage

* Fix flaky test cases

* Fix unit test cases

* Remove image slider 1.0 example file

* Remove unused code

* Remove unused code

* Fix unlisten event function logic

* โ™ป๏ธ Minor fix, `lint` and `prettify`

* โ™ป๏ธ Update derived class extends using `setSuperClass`

* โ™ป๏ธ Correct dead links in `markdown`

* โ™ป๏ธ Remove `@storybook/addon-knobs` dependency from storybook

* โ™ป๏ธ Allow `src/service/timer-impl.js` dependency

* โ™ป๏ธ Update `Z_INDEX.md`

* โ™ป๏ธ Add check for `initialPosition` and `stepSize`

* ๐Ÿ› Update `isFiniteNumber` with `isNaN`

Co-authored-by: Caroline Liu <10456171+caroqliu@users.noreply.github.com>
Co-authored-by: Edi Amin <to.ediamin@gmail.com>
Co-authored-by: Jake Fried <samouri@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: dmanek <506183+dmanek@users.noreply.github.com>
Co-authored-by: Esther Kim <44627152+estherkim@users.noreply.github.com>
Co-authored-by: Daniel Rozenberg <rodaniel@amp.dev>
Co-authored-by: William Johnson <dethstrobe@gmail.com>
Co-authored-by: Mikhail Troshev <mishanga@yandex-team.ru>
Co-authored-by: Caleb Cordry <ccordry@google.com>
Co-authored-by: Pascal Birchler <pascalb@google.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Allan Banaag <banaag@google.com>
Co-authored-by: Amaltas Bohra <amaltas@google.com>
Co-authored-by: honeybadgerdontcare <sedano@google.com>
Co-authored-by: Raghu Simha <rsimha@amp.dev>
Co-authored-by: qidonna <968756+qidonna@users.noreply.github.com>
Co-authored-by: rebeccanthomas <64608436+rebeccanthomas@users.noreply.github.com>
Co-authored-by: Corey Masanto <masanto@google.com>
Co-authored-by: Philip Bell <philipbell@google.com>
Co-authored-by: Alan Orozco <alanorozco@users.noreply.github.com>
Co-authored-by: Matt Mower <mdmower@cmphys.com>
Co-authored-by: Deepak Lalwani <deepak.lalwani81@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants