* install directory-named-webpack-plugin
* create new plugin for fallback legacy imports
* implement webpack configuration for fallback legacy imports and legacy builds
Note: legacy builds are currently disabled, we can enable by just commenting out when we need them.
* removed unused webpack plugin experimented with in earlier iteration
* prettier fixes
* add legacy folder with readme for explanation
* add some info on legacy builds to `CONTRIBUTING.md`
* refactor imports to use new aliases
* fix link in doc
* update jest test config for new aliases
* use native string.startsWith instead of custom function
* reformat file for spacing/code style
* add slash to alias
* clean up webpack config and make things more dry
* update indent style for json files to be tab not spaces
- adjusts editorconfig rules
- reformat jest.config.json
* simplify conditional
* Update ProductControl to use HOCs
* Only show variations in certain ProductControls
* Cleanup
* Refactor withSingleSelected selected prop logic
* Fix selected values not being respected
* Fix wrong propTypes notation
* Set parent: 0 in getProducts util func
* Use static properties in withProductVariations
* Move messages outside of the functional component
* Check that variations is an array
* Fix debounced search
* Fix broken tests
* Rename withSingleSelected to withTransformSingleSelectToMultipleSelect
* Add dependency injection container for blocks
* Add new Pacakge and Bootstrap classes.
- Bootstrap for bootstrapping the plugin.
- Package will replace `src/Package` and added as a dependency for any classes needing package info.
* Introduce AssetsDataRegistry for managing asset data
* refactor existing classes to use new DIC and Asset Data Registry
- this is the bare minimum needed to make this pull viable.
- further refactors will be done in more atomic smaller pulls for easier review.
* add new settings handling and export `@woocommerce/settings` as an alias to wc.wcSettings
- the export is exposed php side on the `wc-settings` handle.
* Remove unnecessary concatenation
* Fix typos and improve doc blocks
* fix php linting issue
* Use better escaping function.
* improve jsdoc spacing
* improve test assertion
* use fully qualified class names in bootstrap
* improve comment block to account for dynamic version string replace on build
* handle exceptions a bit differently
* correct dependency reference in webpack config
* remove blank lines
* fix doc block comment alignment
* Various doc/grammar/spacing fixes from code review.
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* improve naming, documentation and logic of filter callbacks
While this is intended for sanitization/validation, the callback ultimately provides flexibility for filtering the value before returning or setting in state so `filter` is a better name for this.
* add version replacement script and load via github-deploy.sh script
* update contributing doc accounting for version replacement script
* ensure new version changes are committed.
* set default variables and don’t change out $VID:$ when doing a pre-release
* show pre-release detection before bumping versions
* set the correct path for the version-changes script
* conditionally use correct sed for environment.
* switch to perl expression
* Install prettier
* Reformat all files
* Add prettier to precommit hook
* Update prettier settings to match Gutenberg code standards
* Reformat files with new settings
* Improve legibility in some line breaks
* Add withCategories HOC and show API errors in Product Category Control
* Create withAttributes HOC and display errors in Product Attribute Control
* Refactor formatError so it handles JS errors and API errors
* Rename 'onSelectAttribute' with 'onExpandAttribute'
* Add and update tests
* Fix error in product attributes endpoint
* Refactor ProductCategoryControl into a functional component
* Refactor ProductAttributeControl into a functional component
* Refactor formatError to use a 'message' and 'type' properties
* Replace enzyme with TestRenderer
* Fix formatErrors doctype format
* Rename 'frontend' error type to 'general'