Skip to content

Releases: crxjs/chrome-extension-tools

Sending message responses

30 Jul 22:05
Compare
Choose a tag to compare

This release adds support to send a response to messages in the background page event wrapper. More info about this in #50

v3.2.0...v3.3.0

Supporting more input types and the WebRequest API

17 Jul 16:53
Compare
Choose a tag to compare

This release adds support for options.input as an array and object, as well as fixes a bug in the background page import wrapper that was blocking use of the WebRequest API.

For now the new input type support is undocumented.

Thanks to @RoCat for the work on the WebRequest API!

  • Fix paths for CI tests f72a0d3
  • Support options.input as string, array or object 32a9c21
  • fix WebRequestEvent events capture to avoid crashing because No matching signature c09422e
  • Remove peer dependencies (#43) b26b98f

v3.1.0...v3.2.0

Better dynamic import wrappers

19 Jun 14:53
Compare
Choose a tag to compare

This release adds two new dynamic import wrappers and refactors the old one.

Motivation

These wrappers are necessary because Rollup only supports ES6 modules when output.dir is used, which is necessary for this plugin to work the way that it does. Code splitting is also non-optional with output.dir. This means that we need all script environments to support ES6 modules.

However, in Chrome, background and content scripts do not support ES6 modules! They do support the dynamic import function, which allows us to async load modules into a script.

This introduces another complexity with non-persistent background pages. Events that wake the background page are fired at the end of first event loop, before the dynamic import completes. These import wrappers capture wake events and dispatch them after the dynamic import resolves.

Content Scripts

Content scripts now have their own import wrapper. It simply uses dynamic import to load the content script module and does nothing with events, since content scripts are always persistent.

Background Scripts

The new default import wrapper is the implicit import wrapper. It walks the chrome object and wraps any events that it finds. If your extension uses many permissions, the chrome object will have more namespaces, and it may take slightly more time (~15ms) to load the background page. Consider the following if 15ms is too much for you.

The old import wrapper is now the explicit import wrapper, and uses the same API as before. It is quite fast (~5ms), but wake events that are not defined in dynamicImportWrapper.wakeEvents will be lost. Symptoms of this would be things like having to click the browser action twice to register browserAction.onClicked, or missed events from alarms.onAlarm.

Pull Requests

  • Update dynamic import wrappers 4b80336

v3.0.1...v3.1.0

RIP Push Reloader

16 Jun 22:57
Compare
Choose a tag to compare

This major version removes the FCM based push reloader.

  • Fix reloader message formatting 04d461a

v3.0.0-beta.1...v3.0.1

Fixing the simple reloader

16 Jun 22:19
Compare
Choose a tag to compare
Pre-release

This release fixes the simple reloader and removes the push reloader completely.

Fixing README links

12 Jun 15:02
Compare
Choose a tag to compare

Migrating to @extend-chrome

12 Jun 14:04
Compare
Choose a tag to compare

This release marks the migration to a new organization!

v2.2.1...v2.2.2

Fixing the simple reloader

22 May 16:32
Compare
Choose a tag to compare

This version fixes a bug in the simple reloader and updates the docs to warn that the push reloader does not currently work.

v2.2.0...v2.2.1

v2.2.0

27 Mar 22:11
Compare
Choose a tag to compare

This release adds support for the devtools_tools in manifest.json, thanks to @witcher-development 👍

  • Add support for devtools_page 1c5cf32

v2.1.3...v2.2.0

v2.1.3

03 Mar 15:11
Compare
Choose a tag to compare

This release fixes a bug where an attempt to bundle multiple files with the same base name but different extensions would emit a misleading error. Now the bundle will fail with a more useful error.

  • Throw errors from reduceToRecord 567e8a1

v2.1.2...v2.1.3