Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[#15] set up boilerplate for modules & hot reloading #14

Merged
merged 8 commits into from
Oct 25, 2021

Conversation

katie-ta
Copy link
Owner

@katie-ta katie-ta commented Oct 23, 2021

Addresses #15

Summary

The old version of the extension didn't have ES6 module capabilities, which was difficult since it relied on external libraries. Specifically, it would have been ideal to be able to import the iabtcfcore package to decode the consent string, so it looks like it hard-coded it instead.

This change adds some chrome extension boilerplate from https://github.com/samuelsimoes/chrome-extension-webpack-boilerplate. Doing so adds:

  • webpack for es6 bundling
  • hot reloading for development
  • yarn instead of npm for package management
  • separation between a script for the popup (popup.js) and the background page (background.js)
    • note: in this new implementation, background.js will do what the old popup.js does.

I also noticed that the api's for message passing between the content script (uCookie.js) and the background script (formerly popup.js) were not following best practices for message passing, according to the chrome docs. I believe we want to have a long-lived connection between the two, so I updated the implementation accordingly.

Test

background.js & uCookie.js able to pass messages to one another

@charles-tan

@katie-ta katie-ta changed the title [WIP] set up boilerplate for modules & hot reloading #15: set up boilerplate for modules & hot reloading Oct 25, 2021
@katie-ta katie-ta changed the title #15: set up boilerplate for modules & hot reloading [#15] set up boilerplate for modules & hot reloading Oct 25, 2021
@katie-ta katie-ta marked this pull request as ready for review October 25, 2021 14:51
case GET_TC_DATA_CALL:
// TODO: write function to handle getTCData response
console.log('received tcData!', message.data);
window.clearInterval(fetchDataIntervalId);
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should we clear this interval? Maybe if cookie preferences change we'll want to keep fetching data.

Copy link
Owner Author

Choose a reason for hiding this comment

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

yeah good point. removed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants