Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Extensibility 🤌🏻] Make
create-app
work with "extended templates" (#…
…1205) * merge conflict * resolve merge conflict * update spike project's engines / regen v3 lockfiles * regenerate lock files * add missing node engines * add missing useToast (bad merge) * updates from underlying template-retail-react-app * drop unnecessary pages/product-detail override * 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 * migrate to new directory * remove unnecessary directory nesting, remove unnecessary files for "minimum file project" * add example of extending routes non-destructively, add example of quickly toggling some base constant values (e.g. categories shown on home page) * Update example route * add some demo examples of overrides * cleanup * commit package name change * 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 * fix bad merge conflict * 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` * bring back deleted package lockfiles * 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 <kevin.he@salesforce.com> * 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 * regen package lockfiles * 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 * Bump version to 3.0.0-dev.0 * Fixup dependencies in `template-retail-react-app` * Create boostrap to replace `my-extended-retail-app` * Update generator to support extensible projects (rough implementation) * Create boostrap to replace `my-extended-retail-app`* * Ensure that translations are chunked * Remove `my-extended-retail-app` as it is not required * Fix lint errors * Fix lint errors * Add Handlebars and update package.json files * Fix bootstrap folder organization * Make template public * Fix default overrides folder * Bump to 3.0.0-dev.0 to align with develop * Initial generator refactor * Fix version fetching * Attempt to fix version fetching for extensibility * Another attempt at fixing the version * Eek another attempt * Bad code completion suggestion * Fix some template keys * Fix version number * Update create-mobify-app.js * Fix template keys in override assets * Update create-mobify-app.js * [Extensibility] Remove Einstein proxy and send Einstein events directly from app (#1202) * Remove Einstein proxy and send Einstein events directly from app * Update ssrParameters * Add context * Fix template key * Update package.json.hbs * Add handlebars json helper * Disabled html encoding for json objects in templates * Fix formatting in scripts * Allow demo to use extensibility * Slugify name * Move boostrap folder * Setting up for bootstrap file reuse * debugging * Update create-mobify-app.js * Testing with postGenerate hook * debugging * Simplify template sources * Fix template keys yet again * Replace ExtendsCircularImportsPlugin with OverridesResolverPlugin (#1211) * Replace ExtendsCircularImportsPlugin with OverridesResolverPlugin * fix filepath problem --------- Co-authored-by: Brian Feister <bfeister@salesforce.com> * Update routes.jsx.hbs * Update create-mobify-app.js * Fix things * Fix filter * Fix preset validation * Update create-mobify-app.js * Update create-mobify-app.js * Clean up * 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 <47546998+bfeister@users.noreply.github.com> * More refactoring * Update create-mobify-app.js * Add template level file assets * debugging * Update create-mobify-app.js * Fix templates * Fix manifest template keys * Rearrange deps * Better handling of objects in hbs templates * Remove hbs json helper * Fix missing comma * More handlebars fixes * Escape scripts * make tempalte scripts work with handlebars escaping * Delete my-exended-template after merging * Refactor for unit testing, fix pathing issue from old version of file parsing algoritihim * More clean up * Remove console log * preset changes * Linting, and change test-project name * Function renames etc * debugging * Update create-mobify-app.js * Fix project answers merge * Fix CI test 🤞🏻 * Update deps in attempt to fix tests on CI * Lint * More dep shuffling * Remove debugger * More dep wrangling * Don't use peer deps like I was * Another iteration of dep organization * Clean up hbs templates * Update licences * remove demo extensible app in light of soon-to-be-merged PR from @bendvc * lockfiles from reaact18 / chakra2 * 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 * update package-lock files * Fix imports * Add missing deps * Feature/template extensibility (#1162) * 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 <kevin.he@salesforce.com> * 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 <bfeister@salesforce.com> * 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 <47546998+bfeister@users.noreply.github.com> * 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 <yunakim@salesforce.com> Co-authored-by: Vincent Marta <vmarta@salesforce.com> Co-authored-by: Kevin He <kevin.he@salesforce.com> Co-authored-by: vcua-mobify <vcua@salesforce.com> Co-authored-by: vcua-mobify <47404250+vcua-mobify@users.noreply.github.com> Co-authored-by: Alex Vuong <52219283+alexvuong@users.noreply.github.com> Co-authored-by: Alex Vuong <alex.vuong@salesforce.com> * Update packages/pwa-kit-create-app/scripts/create-mobify-app.js Co-authored-by: Vincent Marta <vmarta@salesforce.com> * Fix CI workflow project reference * Update config.js * support windows file paths * Lint * Fix issue with failed tests because of react query dev tools * Extract default messages script (#1216) * create extract default messages script to work on both base and overrides projects --------- Co-authored-by: Brian Feister <bfeister@salesforce.com> Co-authored-by: Brian Feister <47546998+bfeister@users.noreply.github.com> * Add typescript extensions (#1223) * add typescript extensions * fix failing tests * Update `extract-default-translations` script for extensibility * debugging * Update create-mobify-app.js * Fix regex * First pass copying translations * Update create-mobify-app.js * Update create-mobify-app.js * Update create-mobify-app.js * Update create-mobify-app.js * Refactor copy assets work * Remove debugger directive * Regenerate package-lock files * Fix lint errors on generated projects * Update create-mobify-app.js * Fix some dep versions * Update create-mobify-app.js * Update package.json * Fix lint script so it works with windows * Regenerate package-lock files and remove my-generated-app again * Lint * mv doesnt work the same on windows as unix * Same * Revert suggested change. * Add basic eslintignore * Update bundle size limits * Missing dep. --------- Co-authored-by: Brian Feister <bfeister@salesforce.com> Co-authored-by: yunakim714 <yunakim@salesforce.com> Co-authored-by: Vincent Marta <vmarta@salesforce.com> Co-authored-by: Brian Feister <47546998+bfeister@users.noreply.github.com> Co-authored-by: Kevin He <kevin.he@salesforce.com> Co-authored-by: vcua-mobify <vcua@salesforce.com> Co-authored-by: vcua-mobify <47404250+vcua-mobify@users.noreply.github.com> Co-authored-by: Alex Vuong <52219283+alexvuong@users.noreply.github.com> Co-authored-by: Alex Vuong <alex.vuong@salesforce.com>
- Loading branch information