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

special-pages: integrated watch mode #1317

Merged
merged 5 commits into from
Dec 16, 2024
Merged

Conversation

shakyShane
Copy link
Contributor

@shakyShane shakyShane commented Dec 15, 2024

Asana Task/Github Issue:

Description

  • added optional watch mode for special pages
    • CSS changes will be injected
    • rebuilds are instant and localised to the page in question
  • use ‘public’ + ’src’ to make it clear which files will be copied to the build output

** Before **

When running npm run watch - changes to ANY file would cause every special-page to be rebuilt from scratch.

This worked ok with few pages and very little assets. But now as the projects grow in size and complexity, we need to consider them as isolated applications in terms of development.

** After **

When running npm run watch — —page=onboarding, only files in the onboarding project are watched 💪🏻.

Testing Steps

  • locally, inside special-pages, run npm run watch — —page=onboarding (or any other page)
  • open localhost:8000 to view the page in question

Checklist

Please tick all that apply:

  • I have tested this change locally
  • I have tested this change locally in all supported browsers
  • This change will be visible to users
  • I have added automated tests that cover this change
  • I have ensured the change is gated by config
  • This change was covered by a ship review
  • This change was covered by a tech design
  • Any dependent config has been merged

@shakyShane shakyShane marked this pull request as ready for review December 15, 2024 21:19
@shakyShane shakyShane requested review from mgurgel and a team as code owners December 15, 2024 21:19
@shakyShane
Copy link
Contributor Author

shakyShane commented Dec 15, 2024

Copy link

netlify bot commented Dec 15, 2024

Deploy Preview for content-scope-scripts ready!

Name Link
🔨 Latest commit 760c5e8
🔍 Latest deploy log https://app.netlify.com/sites/content-scope-scripts/deploys/6760269904ba3e000852371b
😎 Deploy Preview https://deploy-preview-1317--content-scope-scripts.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

github-actions bot commented Dec 15, 2024

Temporary Branch Update

The temporary branch has been updated with the latest changes. Below are the details:

Please use the above install command to update to the latest version.

Copy link

github-actions bot commented Dec 15, 2024

[Beta] Generated file diff

Time updated: Mon, 16 Dec 2024 13:10:45 GMT

Android
    - android/pages/duckplayer/index.html

File has changed

Removed Files
    - android/pages/duckplayer/js/index.css
  • android/pages/duckplayer/js/index.js
  • android/pages/duckplayer/js/inline.js
  • android/pages/duckplayer/js/mobile-bg-GCRU67TC.jpg
  • android/pages/duckplayer/js/player-bg-F7QLKTXS.jpg
  • android/pages/duckplayer/js/storage.js
  • android/pages/duckplayer/js/utils.js
  • integration/pages/duckplayer/js/index.css
  • integration/pages/duckplayer/js/index.js
  • integration/pages/duckplayer/js/inline.js
  • integration/pages/duckplayer/js/mobile-bg-GCRU67TC.jpg
  • integration/pages/duckplayer/js/player-bg-F7QLKTXS.jpg
  • integration/pages/duckplayer/js/storage.js
  • integration/pages/duckplayer/js/utils.js
  • integration/pages/example/js/index.css
  • integration/pages/example/js/index.js
  • integration/pages/example/js/inline.js
  • integration/pages/new-tab/js/index.css
  • integration/pages/new-tab/js/index.js
  • integration/pages/new-tab/js/inline.js
  • integration/pages/onboarding/js/Onboarding-QFOHFYKL.riv
  • integration/pages/onboarding/js/background-737ASYPK.jpg
  • integration/pages/onboarding/js/background-dark-VOUBRS4S.jpg
  • integration/pages/onboarding/js/background-dark-v3-SVG27AYV.jpg
  • integration/pages/onboarding/js/background-v3-ZJJEKZRE.jpg
  • integration/pages/onboarding/js/check-24-TKI2L77Y.svg
  • integration/pages/onboarding/js/chrome-CN5U36NT.svg
  • integration/pages/onboarding/js/cross-24-LC5CE255.svg
  • integration/pages/onboarding/js/ddg-VAGQ4AK4.svg
  • integration/pages/onboarding/js/grain-JTV7KOOJ.png
  • integration/pages/onboarding/js/grain-dark-UGS45YOQ.png
  • integration/pages/onboarding/js/import-HLF6I3ZA.riv
  • integration/pages/onboarding/js/index.css
  • integration/pages/onboarding/js/index.js
  • integration/pages/onboarding/js/inline.js
  • integration/pages/onboarding/js/layer1-CA2LJ4AF.svg
  • integration/pages/onboarding/js/layer2-I3XOFA54.svg
  • integration/pages/onboarding/js/layer3-ZJKIYF3C.svg
  • integration/pages/onboarding/js/mock-transport.js
  • integration/pages/onboarding/js/safari-HDKLSKMI.svg
  • integration/pages/onboarding/js/set_default-6KY7WB33.riv
  • integration/pages/onboarding/js/stop-24-RHIE2TQT.svg
  • integration/pages/onboarding/js/taskbar_pinning-6NHIEEJL.riv
  • integration/pages/release-notes/js/Check-Color-24-Y2U7ZXXE.svg
  • integration/pages/release-notes/js/Exclamation-Color-24-AAA3M64P.svg
  • integration/pages/release-notes/js/Exclamation-High-Color-24-6LOXQFBN.svg
  • integration/pages/release-notes/js/Logo-Horizontal-A4FFOYBB.svg
  • integration/pages/release-notes/js/Logo-Horizontal-Dark-BQCDSFDZ.svg
  • integration/pages/release-notes/js/Privacy-Pro-Color-16-42TBSCRM.svg
  • integration/pages/release-notes/js/Spinner-16-YPLGMJ6P.svg
  • integration/pages/release-notes/js/index.css
  • integration/pages/release-notes/js/index.js
  • integration/pages/release-notes/js/inline.js
  • integration/pages/release-notes/js/mock-transport.js
  • integration/pages/special-error/js/Malware-Site-96-A35AQOKY.svg
  • integration/pages/special-error/js/Shield-Alert-128-NGB6TVH6.svg
  • integration/pages/special-error/js/Shield-Alert-96-W3VSTNOR.svg
  • integration/pages/special-error/js/index.css
  • integration/pages/special-error/js/index.js
  • integration/pages/special-error/js/inline.js
  • integration/pages/special-error/js/mock-transport.js
  • integration/pages/special-error/js/sampleData.js
  • windows/pages/duckplayer/js/index.css
  • windows/pages/duckplayer/js/index.js
  • windows/pages/duckplayer/js/inline.js
  • windows/pages/duckplayer/js/mobile-bg-GCRU67TC.jpg
  • windows/pages/duckplayer/js/player-bg-F7QLKTXS.jpg
  • windows/pages/duckplayer/js/storage.js
  • windows/pages/duckplayer/js/utils.js
  • windows/pages/new-tab/js/index.css
  • windows/pages/new-tab/js/index.js
  • windows/pages/new-tab/js/inline.js
  • windows/pages/onboarding/js/Onboarding-QFOHFYKL.riv
  • windows/pages/onboarding/js/background-737ASYPK.jpg
  • windows/pages/onboarding/js/background-dark-VOUBRS4S.jpg
  • windows/pages/onboarding/js/background-dark-v3-SVG27AYV.jpg
  • windows/pages/onboarding/js/background-v3-ZJJEKZRE.jpg
  • windows/pages/onboarding/js/check-24-TKI2L77Y.svg
  • windows/pages/onboarding/js/chrome-CN5U36NT.svg
  • windows/pages/onboarding/js/cross-24-LC5CE255.svg
  • windows/pages/onboarding/js/ddg-VAGQ4AK4.svg
  • windows/pages/onboarding/js/grain-JTV7KOOJ.png
  • windows/pages/onboarding/js/grain-dark-UGS45YOQ.png
  • windows/pages/onboarding/js/import-HLF6I3ZA.riv
  • windows/pages/onboarding/js/index.css
  • windows/pages/onboarding/js/index.js
  • windows/pages/onboarding/js/inline.js
  • windows/pages/onboarding/js/layer1-CA2LJ4AF.svg
  • windows/pages/onboarding/js/layer2-I3XOFA54.svg
  • windows/pages/onboarding/js/layer3-ZJKIYF3C.svg
  • windows/pages/onboarding/js/mock-transport.js
  • windows/pages/onboarding/js/safari-HDKLSKMI.svg
  • windows/pages/onboarding/js/set_default-6KY7WB33.riv
  • windows/pages/onboarding/js/stop-24-RHIE2TQT.svg
  • windows/pages/onboarding/js/taskbar_pinning-6NHIEEJL.riv
  • dist/pages/duckplayer/js/index.css
  • dist/pages/duckplayer/js/index.js
  • dist/pages/duckplayer/js/inline.js
  • dist/pages/duckplayer/js/mobile-bg-GCRU67TC.jpg
  • dist/pages/duckplayer/js/player-bg-F7QLKTXS.jpg
  • dist/pages/duckplayer/js/storage.js
  • dist/pages/duckplayer/js/utils.js
  • dist/pages/new-tab/js/index.css
  • dist/pages/new-tab/js/index.js
  • dist/pages/new-tab/js/inline.js
  • dist/pages/onboarding/js/Onboarding-QFOHFYKL.riv
  • dist/pages/onboarding/js/background-737ASYPK.jpg
  • dist/pages/onboarding/js/background-dark-VOUBRS4S.jpg
  • dist/pages/onboarding/js/background-dark-v3-SVG27AYV.jpg
  • dist/pages/onboarding/js/background-v3-ZJJEKZRE.jpg
  • dist/pages/onboarding/js/check-24-TKI2L77Y.svg
  • dist/pages/onboarding/js/chrome-CN5U36NT.svg
  • dist/pages/onboarding/js/cross-24-LC5CE255.svg
  • dist/pages/onboarding/js/ddg-VAGQ4AK4.svg
  • dist/pages/onboarding/js/grain-JTV7KOOJ.png
  • dist/pages/onboarding/js/grain-dark-UGS45YOQ.png
  • dist/pages/onboarding/js/import-HLF6I3ZA.riv
  • dist/pages/onboarding/js/index.css
  • dist/pages/onboarding/js/index.js
  • dist/pages/onboarding/js/inline.js
  • dist/pages/onboarding/js/layer1-CA2LJ4AF.svg
  • dist/pages/onboarding/js/layer2-I3XOFA54.svg
  • dist/pages/onboarding/js/layer3-ZJKIYF3C.svg
  • dist/pages/onboarding/js/mock-transport.js
  • dist/pages/onboarding/js/safari-HDKLSKMI.svg
  • dist/pages/onboarding/js/set_default-6KY7WB33.riv
  • dist/pages/onboarding/js/stop-24-RHIE2TQT.svg
  • dist/pages/onboarding/js/taskbar_pinning-6NHIEEJL.riv
  • dist/pages/release-notes/js/Check-Color-24-Y2U7ZXXE.svg
  • dist/pages/release-notes/js/Exclamation-Color-24-AAA3M64P.svg
  • dist/pages/release-notes/js/Exclamation-High-Color-24-6LOXQFBN.svg
  • dist/pages/release-notes/js/Logo-Horizontal-A4FFOYBB.svg
  • dist/pages/release-notes/js/Logo-Horizontal-Dark-BQCDSFDZ.svg
  • dist/pages/release-notes/js/Privacy-Pro-Color-16-42TBSCRM.svg
  • dist/pages/release-notes/js/Spinner-16-YPLGMJ6P.svg
  • dist/pages/release-notes/js/index.css
  • dist/pages/release-notes/js/index.js
  • dist/pages/release-notes/js/inline.js
  • dist/pages/release-notes/js/mock-transport.js
  • dist/pages/special-error/js/Malware-Site-96-A35AQOKY.svg
  • dist/pages/special-error/js/Shield-Alert-128-NGB6TVH6.svg
  • dist/pages/special-error/js/Shield-Alert-96-W3VSTNOR.svg
  • dist/pages/special-error/js/index.css
  • dist/pages/special-error/js/index.js
  • dist/pages/special-error/js/inline.js
  • dist/pages/special-error/js/mock-transport.js
  • dist/pages/special-error/js/sampleData.js

❌ File only exists in old changeset

Integration
    - integration/pages/duckplayer/index.html
  • integration/pages/example/index.html
  • integration/pages/new-tab/index.html
  • integration/pages/onboarding/index.html
  • integration/pages/release-notes/index.html
  • integration/pages/special-error/index.html

File has changed

Windows
    - windows/pages/duckplayer/index.html
  • windows/pages/new-tab/index.html
  • windows/pages/onboarding/index.html

File has changed

Apple
    - dist/pages/duckplayer/index.html
  • dist/pages/new-tab/index.html
  • dist/pages/onboarding/index.html
  • dist/pages/release-notes/index.html
  • dist/pages/special-error/index.html

File has changed

New Files
    - android/pages/duckplayer/dist/index.css
  • android/pages/duckplayer/dist/index.js
  • android/pages/duckplayer/dist/inline.js
  • android/pages/duckplayer/dist/mobile-bg-GCRU67TC.jpg
  • android/pages/duckplayer/dist/player-bg-F7QLKTXS.jpg
  • integration/pages/duckplayer/dist/index.css
  • integration/pages/duckplayer/dist/index.js
  • integration/pages/duckplayer/dist/inline.js
  • integration/pages/duckplayer/dist/mobile-bg-GCRU67TC.jpg
  • integration/pages/duckplayer/dist/player-bg-F7QLKTXS.jpg
  • integration/pages/example/dist/index.css
  • integration/pages/example/dist/index.js
  • integration/pages/example/dist/inline.js
  • integration/pages/new-tab/dist/index.css
  • integration/pages/new-tab/dist/index.js
  • integration/pages/new-tab/dist/inline.js
  • integration/pages/onboarding/dist/Onboarding-QFOHFYKL.riv
  • integration/pages/onboarding/dist/background-737ASYPK.jpg
  • integration/pages/onboarding/dist/background-dark-VOUBRS4S.jpg
  • integration/pages/onboarding/dist/background-dark-v3-SVG27AYV.jpg
  • integration/pages/onboarding/dist/background-v3-ZJJEKZRE.jpg
  • integration/pages/onboarding/dist/check-24-TKI2L77Y.svg
  • integration/pages/onboarding/dist/chrome-CN5U36NT.svg
  • integration/pages/onboarding/dist/cross-24-LC5CE255.svg
  • integration/pages/onboarding/dist/ddg-VAGQ4AK4.svg
  • integration/pages/onboarding/dist/grain-JTV7KOOJ.png
  • integration/pages/onboarding/dist/grain-dark-UGS45YOQ.png
  • integration/pages/onboarding/dist/import-HLF6I3ZA.riv
  • integration/pages/onboarding/dist/index.css
  • integration/pages/onboarding/dist/index.js
  • integration/pages/onboarding/dist/inline.js
  • integration/pages/onboarding/dist/layer1-CA2LJ4AF.svg
  • integration/pages/onboarding/dist/layer2-I3XOFA54.svg
  • integration/pages/onboarding/dist/layer3-ZJKIYF3C.svg
  • integration/pages/onboarding/dist/safari-HDKLSKMI.svg
  • integration/pages/onboarding/dist/set_default-6KY7WB33.riv
  • integration/pages/onboarding/dist/stop-24-RHIE2TQT.svg
  • integration/pages/onboarding/dist/taskbar_pinning-6NHIEEJL.riv
  • integration/pages/release-notes/dist/Check-Color-24-Y2U7ZXXE.svg
  • integration/pages/release-notes/dist/Exclamation-Color-24-AAA3M64P.svg
  • integration/pages/release-notes/dist/Exclamation-High-Color-24-6LOXQFBN.svg
  • integration/pages/release-notes/dist/Logo-Horizontal-A4FFOYBB.svg
  • integration/pages/release-notes/dist/Logo-Horizontal-Dark-BQCDSFDZ.svg
  • integration/pages/release-notes/dist/Privacy-Pro-Color-16-42TBSCRM.svg
  • integration/pages/release-notes/dist/Spinner-16-YPLGMJ6P.svg
  • integration/pages/release-notes/dist/index.css
  • integration/pages/release-notes/dist/index.js
  • integration/pages/release-notes/dist/inline.js
  • integration/pages/special-error/dist/Malware-Site-96-A35AQOKY.svg
  • integration/pages/special-error/dist/Shield-Alert-128-NGB6TVH6.svg
  • integration/pages/special-error/dist/Shield-Alert-96-W3VSTNOR.svg
  • integration/pages/special-error/dist/index.css
  • integration/pages/special-error/dist/index.js
  • integration/pages/special-error/dist/inline.js
  • windows/pages/duckplayer/dist/index.css
  • windows/pages/duckplayer/dist/index.js
  • windows/pages/duckplayer/dist/inline.js
  • windows/pages/duckplayer/dist/mobile-bg-GCRU67TC.jpg
  • windows/pages/duckplayer/dist/player-bg-F7QLKTXS.jpg
  • windows/pages/new-tab/dist/index.css
  • windows/pages/new-tab/dist/index.js
  • windows/pages/new-tab/dist/inline.js
  • windows/pages/onboarding/dist/Onboarding-QFOHFYKL.riv
  • windows/pages/onboarding/dist/background-737ASYPK.jpg
  • windows/pages/onboarding/dist/background-dark-VOUBRS4S.jpg
  • windows/pages/onboarding/dist/background-dark-v3-SVG27AYV.jpg
  • windows/pages/onboarding/dist/background-v3-ZJJEKZRE.jpg
  • windows/pages/onboarding/dist/check-24-TKI2L77Y.svg
  • windows/pages/onboarding/dist/chrome-CN5U36NT.svg
  • windows/pages/onboarding/dist/cross-24-LC5CE255.svg
  • windows/pages/onboarding/dist/ddg-VAGQ4AK4.svg
  • windows/pages/onboarding/dist/grain-JTV7KOOJ.png
  • windows/pages/onboarding/dist/grain-dark-UGS45YOQ.png
  • windows/pages/onboarding/dist/import-HLF6I3ZA.riv
  • windows/pages/onboarding/dist/index.css
  • windows/pages/onboarding/dist/index.js
  • windows/pages/onboarding/dist/inline.js
  • windows/pages/onboarding/dist/layer1-CA2LJ4AF.svg
  • windows/pages/onboarding/dist/layer2-I3XOFA54.svg
  • windows/pages/onboarding/dist/layer3-ZJKIYF3C.svg
  • windows/pages/onboarding/dist/safari-HDKLSKMI.svg
  • windows/pages/onboarding/dist/set_default-6KY7WB33.riv
  • windows/pages/onboarding/dist/stop-24-RHIE2TQT.svg
  • windows/pages/onboarding/dist/taskbar_pinning-6NHIEEJL.riv
  • dist/pages/duckplayer/dist/index.css
  • dist/pages/duckplayer/dist/index.js
  • dist/pages/duckplayer/dist/inline.js
  • dist/pages/duckplayer/dist/mobile-bg-GCRU67TC.jpg
  • dist/pages/duckplayer/dist/player-bg-F7QLKTXS.jpg
  • dist/pages/new-tab/dist/index.css
  • dist/pages/new-tab/dist/index.js
  • dist/pages/new-tab/dist/inline.js
  • dist/pages/onboarding/dist/Onboarding-QFOHFYKL.riv
  • dist/pages/onboarding/dist/background-737ASYPK.jpg
  • dist/pages/onboarding/dist/background-dark-VOUBRS4S.jpg
  • dist/pages/onboarding/dist/background-dark-v3-SVG27AYV.jpg
  • dist/pages/onboarding/dist/background-v3-ZJJEKZRE.jpg
  • dist/pages/onboarding/dist/check-24-TKI2L77Y.svg
  • dist/pages/onboarding/dist/chrome-CN5U36NT.svg
  • dist/pages/onboarding/dist/cross-24-LC5CE255.svg
  • dist/pages/onboarding/dist/ddg-VAGQ4AK4.svg
  • dist/pages/onboarding/dist/grain-JTV7KOOJ.png
  • dist/pages/onboarding/dist/grain-dark-UGS45YOQ.png
  • dist/pages/onboarding/dist/import-HLF6I3ZA.riv
  • dist/pages/onboarding/dist/index.css
  • dist/pages/onboarding/dist/index.js
  • dist/pages/onboarding/dist/inline.js
  • dist/pages/onboarding/dist/layer1-CA2LJ4AF.svg
  • dist/pages/onboarding/dist/layer2-I3XOFA54.svg
  • dist/pages/onboarding/dist/layer3-ZJKIYF3C.svg
  • dist/pages/onboarding/dist/safari-HDKLSKMI.svg
  • dist/pages/onboarding/dist/set_default-6KY7WB33.riv
  • dist/pages/onboarding/dist/stop-24-RHIE2TQT.svg
  • dist/pages/onboarding/dist/taskbar_pinning-6NHIEEJL.riv
  • dist/pages/release-notes/dist/Check-Color-24-Y2U7ZXXE.svg
  • dist/pages/release-notes/dist/Exclamation-Color-24-AAA3M64P.svg
  • dist/pages/release-notes/dist/Exclamation-High-Color-24-6LOXQFBN.svg
  • dist/pages/release-notes/dist/Logo-Horizontal-A4FFOYBB.svg
  • dist/pages/release-notes/dist/Logo-Horizontal-Dark-BQCDSFDZ.svg
  • dist/pages/release-notes/dist/Privacy-Pro-Color-16-42TBSCRM.svg
  • dist/pages/release-notes/dist/Spinner-16-YPLGMJ6P.svg
  • dist/pages/release-notes/dist/index.css
  • dist/pages/release-notes/dist/index.js
  • dist/pages/release-notes/dist/inline.js
  • dist/pages/special-error/dist/Malware-Site-96-A35AQOKY.svg
  • dist/pages/special-error/dist/Shield-Alert-128-NGB6TVH6.svg
  • dist/pages/special-error/dist/Shield-Alert-96-W3VSTNOR.svg
  • dist/pages/special-error/dist/index.css
  • dist/pages/special-error/dist/index.js
  • dist/pages/special-error/dist/inline.js

❌ File only exists in new changeset

@shakyShane shakyShane mentioned this pull request Dec 15, 2024
10 tasks
import { init } from '../../app/index.js';
import { Environment } from '../../../shared/environment.js';
import { createSpecialPageMessaging } from '../../../shared/create-special-page-messaging.js';
import { init } from '../app/index.js';
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
import { init } from '../app/index.js';
import { init } from '../app/index.js';
import '../../../shared/live-reload.js';

import { mockTransport } from './mock-transport.js';
import { init } from '../../app/index.js';
import { init } from '../app/index.js';
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
import { init } from '../app/index.js';
import { init } from '../app/index.js';
import '../../../shared/live-reload.js';

mgurgel
mgurgel previously approved these changes Dec 16, 2024
Copy link
Contributor

@mgurgel mgurgel left a comment

Choose a reason for hiding this comment

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

This is brilliant 🤩 . Only missing live-reload setup for example and special-error, but looks good otherwise. Works really well locally!

@shakyShane shakyShane mentioned this pull request Dec 16, 2024
9 tasks
@shakyShane shakyShane force-pushed the shane/special-workflow branch from 18d5123 to 760c5e8 Compare December 16, 2024 13:09
@shakyShane shakyShane merged commit 1068bf5 into main Dec 16, 2024
14 checks passed
@shakyShane shakyShane deleted the shane/special-workflow branch December 16, 2024 13:47
@shakyShane shakyShane mentioned this pull request Dec 16, 2024
11 tasks
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