Skip to content

Commit

Permalink
Feature/template extensibility (#1162)
Browse files Browse the repository at this point in the history
* initial work on moving code to use resolver

* fix getoverridepath and break on ^ imports

* add todos and comments

* rewrite requestcontext.request for path with caret

* perform overrideshashmap lookup for relative import

* progress

* progress

* regenerate lock files

* fix dupe useToast

* progress on making `charles-solution` work

* initial pass at migration to `resolver.getHook('resolve').tapAsync` working, TODO next... cleanup

* restore icons file and add extensible text to home

* add some comments and construct hashmap in new plugin

* working glob sync lookup??

* resolve lookup when there is no extension

* add component slot for testing

* fix some lookup errors

* cleanup

* rewrite requests coming from underlying template

* cleanup

* rename plugin file

* remove unnecessary build files

* rename to overrides

* fix lookup errors

* fix some broken upstream changes, eslint fixes

* Bring back the deleted package.json

* Install new eslint plugin

* No more relative imports in retail-react-app

* Create .prettierrc.yaml

* restore other deleted package lockfiles

* fix some eslint issues

* remove `^` imports and begin migrating logic away from previous API. TODO: get webpack to resolve `retail-react-app` base import path from within `template-retail-react-app`

* short circuit plugin temporarily, get webpack `alias` working for template to resolve self-referencing `retail-react-app` imports

* fix unreachable condition

* wow... freaking works 🚀

* cleanup, get `template-retail-react-app` working again

* cleanup

* Create .eslintrc.js

* fix routes.jsx which no longer pulled relative template

* make routes.jsx more concise

* update lockfiles

* add jsconfig.json for IDEs to have magic `retail-react-app` be discoverable

* more cleanup

* change package.json key from `mobify` => `ccExtensibility`

* cleanup

* Final cleanup, remove console.logs, make `extendable` dynamic for internal file resolution in `template-retail-react-app` (and future projects), remove some non-required files,

* fix straggler non-dynamic filepath

* cleanup

* remove code that shouldn't be in v3+

* sync package.json deps in extended example project

* cleanup / pr feedback

* pr feedback, great catch @kevinxh

* fix problem with bad copy from underlying template file

* pr feedback / cleanup

* cleanup

Co-authored-by: Kevin He <[email protected]>

* Update package-lock.json

* WIP

* drop unneeded complexity

* lockfiles

* moving toward an array of `alias`es

* Refactor template extensibility functionality to use `resolve.alias` + greatly reduce code footprint + make leading slash optional in `ccExtensibility.overridesDir`

* add brand-logo with no clash for server side viewBox

* add `request-processor.js` (required for worker.js to load) and fix bad extensibility path loading in `build-dev-server.js`

* lint fix

* fix failing pwa-kit-react-sdk tests

* cleanup

* lint:fix

* fix failing tests in CI re: `TextDecoder is not defined`

* take 2 attempting to fix TextDecoder global in jest

* fix jest module mapper

* fix jest moduleMapper config

* REALLY fix jest moduleNameMapper config for new pathing + fix node `util` global TextDecoder is not defined in jest

* add brand-logo

* remove previously added `AbovePDP` Template Hook component

* replay #1128 from bad merge

* eslint:fix for `retail-react-app` base paths

* de-duplicate deps in bundle

* fix path defaulting, don't pass nullish value to path.resolve

* improve pathing for overridesDir in pwa-kit-dev webapack config + add missing worker/main.js

* fix pathing

* fix pathing issue that was mysteriously UNFIXED

* fix `worker.js` path

* fix app/static pathing in non-extensible builds

* [Extensibility] Remove Einstein proxy and send Einstein events directly from app (#1202)

* Remove Einstein proxy and send Einstein events directly from app

* Update ssrParameters

* Replace ExtendsCircularImportsPlugin with OverridesResolverPlugin (#1211)

* Replace ExtendsCircularImportsPlugin with OverridesResolverPlugin

* fix filepath problem

---------

Co-authored-by: Brian Feister <[email protected]>

* remove irrelevant bundlesize check to pass CI

* Fix `vendor.js` inclusion of `retail-react-app` files (#1198)

* fix duplicate lilbs in bundle

* fix app/static pathing for non-extensible builds

* oof, fix extensible app/static filepaths

* Resolve conflicting npm deps via `resolve.alias`

* add missing worker/main.js

* cleanup unused imports

* WIP, add list of original overridable deps

* prevent template extensibility vendor.js from treating baseline route files as deps in vendor.js

* fix irrelevant bundlesize declaration to pass CI

* drop test:max-file-size test from my-extended-retail-app

* replace relative with absolute path fetchTranslations (#1215)

Co-authored-by: Brian Feister <[email protected]>

* Refactor for unit testing, fix pathing issue from old version of file parsing algoritihim

* fix merge conflict resolution

* remove template extensible demo in prep for @bendvc's pr for generator work

* regen lockfiles for react 18 changes

* fix linting

---------

Co-authored-by: yunakim714 <[email protected]>
Co-authored-by: Vincent Marta <[email protected]>
Co-authored-by: Kevin He <[email protected]>
Co-authored-by: vcua-mobify <[email protected]>
Co-authored-by: vcua-mobify <[email protected]>
Co-authored-by: Alex Vuong <[email protected]>
Co-authored-by: Alex Vuong <[email protected]>
  • Loading branch information
8 people authored May 23, 2023
1 parent e2c82d1 commit 851366a
Show file tree
Hide file tree
Showing 243 changed files with 2,387 additions and 2,793 deletions.
606 changes: 0 additions & 606 deletions diff.txt

This file was deleted.

3 changes: 3 additions & 0 deletions packages/commerce-sdk-react/setup-jest.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ class LocalStorageMock {
}
}

/* eslint-disable @typescript-eslint/no-var-requires */
global.TextDecoder = require('util').TextDecoder

const localStorageMock = new LocalStorageMock()

Object.defineProperty(window, 'localStorage', {
Expand Down
6 changes: 4 additions & 2 deletions packages/pwa-kit-dev/bin/pwa-kit-dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ const WebSocket = require('ws')
const program = require('commander')
const validator = require('validator')
const {execSync: _execSync} = require('child_process')
const pkg = require('../package.json')
const projectPkg = require(process.cwd() + '/package.json')
const {getConfig} = require('pwa-kit-runtime/utils/ssr-config')

Expand Down Expand Up @@ -183,7 +182,10 @@ const main = async () => {
const appSSRjs = fse.pathExistsSync(appSSRpath)
const overrideSSRpath = p.join(
process.cwd(),
projectPkg?.mobify?.overridesDir ?? '',
typeof projectPkg?.ccExtensibility?.overridesDir === 'string' &&
!projectPkg?.ccExtensibility?.overridesDir?.startsWith('/')
? '/' + projectPkg?.ccExtensibility?.overridesDir
: projectPkg?.ccExtensibility?.overridesDir ?? '',
'app',
'ssr.js'
)
Expand Down
13 changes: 13 additions & 0 deletions packages/pwa-kit-dev/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/pwa-kit-dev/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@
"@types/git-rev-sync": "^2.0.0",
"@types/node-fetch": "^2.6.3",
"@types/validator": "^13.7.14",
"eslint-plugin-no-relative-import-paths": "^1.5.2",
"internal-lib-build": "^3.0.0-dev",
"nock": "^13.3.0",
"nodemon": "^2.0.22",
Expand Down
1 change: 1 addition & 0 deletions packages/pwa-kit-dev/src/configs/eslint/partials/react.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ module.exports = {
},
extends: ['plugin:react/recommended', 'plugin:jsx-a11y/recommended'],
plugins: ['jsx-a11y', 'react', 'react-hooks', 'use-effect-no-deps'],

settings: {
react: {
version: 'detect'
Expand Down
Loading

0 comments on commit 851366a

Please sign in to comment.