@abcnews/dev-proxy
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

Dev script proxy

Provides the capability to override an news-projects script with a different script with settings defined in localStorage.

The script being overridden needs to import and use this library:

import { proxy } from '@abcnews/dev-proxy';

function init() {
  // The code that kicks off your script goes here.
}

proxy('project-name').then(init);

To put the override into effect localStorage needs to contain an entry with key proxy_<project-name> that contains the URL of the script to override with.

How does it work?

The proxy function returns a promise that will either:

  • resolve successfully, indicating that the script initialisation should go ahead (i.e. the .then(init) part of the above implementation example), or
  • be rejected, indicating that an alternative script has been successfully identified and added to the document and the init function should not be run.

For the proxy function to successfully identify a script to run instead a few criteria need to be met:

  • The script importing the proxy function should not have a NODE_ENV of 'development' (this prevents infinite loops when this proxy function is used on a dev server.
  • The script should not be running on a production URL.
  • localStorage must contain an entry identifying a suitable replacement hosted on an ABC url (including localhost aliases that include abc.net.au).

Usage

As of version 1.2.0 pressing the key combination Alt-M when you're in an approprate dev or preview environment offers an easy way to set the appropriate localStorage values to proxy relevant scripts on the page.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.2.1
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.2.1
    1
  • 1.2.0
    0
  • 1.1.0
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i @abcnews/dev-proxy

Weekly Downloads

1

Version

1.2.1

License

MIT

Unpacked Size

119 kB

Total Files

64

Last publish

Collaborators

  • ashkyd
  • jtfell
  • phocks
  • andrewkesper
  • drzax