purifycss-webpack
purifycss-webpack copied to clipboard
Purified build does not match unpurified one
To debug I simply included all my relevant files into the paths
:
new PurifyPlugin({
moduleExtensions: [
'.html',
'.pug',
'.js',
'.jsx',
'.ts',
'.tsx',
],
paths: glob.sync(`${PATH_SRC}/**/*.{js,jsx,ts,tsx,html,pug}`),
purifyOptions: {
info: true,
minify: true,
rejected: false,
},
styleExtensions: [
'.css',
'.less',
'.sass',
'.scss',
'.styl',
],
})
The css is then purified, but it looks like it's missing styles when I launch it in the browser.
Can you simplify your earlier demo project to showcase this issue? It's easier to see where it fails then.
I am on it, note that purification does not really fail, it just strips away too much.
I am on it, note that purification does not really fail, it just strips away too much.
Yeah, sounds like it's missing some classes. It's either missing files or failing to process certain type of code. But we'll know better once you narrow it down. 👍
Finally, here it is, I managed to repro.
https://github.com/beckend/webpack-debug-1
Ignore the build error, it's just react-toolbox
which has faulty typings - it's harmless.
Try the yarn dev
command after install and open browser to see how it looks.
Then build the production build and open build/index.html
to see purified result.
The repo is always using extract text plugin regardless of dev or prod.
Thanks. Can you point out a specific class that's missing from the build result?
Sure, the only class that I defined in the whole project which becomes index-default-local_AppBar_2lK
after the css-loader through local css transformation is not there.
Css loaded from example flexboxgrid
package, which is also local css scoped is missing - one example is class flexboxgrid_col-xs-12_3qH
.
Css loaded from react-toolbox
, which is also local scoped are missing - one example is theme_appBar_3Wm
.
Basically a lot of local scoped ones are missing(if not all actually), the globally loaded one seems fine.
I'm guessing the plugin only manage to get the css classes before the local scope transformation occurs.
I think I understand a little better now what's going on. The relationship between the code and flexboxgrid is implicit through const { Grid, Row, Col } = require('react-flexbox-grid');
. It's that react-flexbox-grid
that uses the classes.
I could add better hooks for including specific node modules for Purify to parse. I think in this case we could set moduleExtensions: ['.js']
and excludeModules: ['react']
to get around React induced breakage. Maybe module bits should go below their own namespace even so we get modules.<something>
. I think doing this would help in this particular problem and allow the setup to pick the classes.
Well react-flexbox-grid
imports flexboxgrid
css, https://github.com/roylee0704/react-flexbox-grid/blob/master/src/components/Col.js#L3
It's setup in webpack config to local css load.
Yup, but given the import is on package side, the current setup doesn't pick it up I think. That said, perhaps setting moduleExtensions: ['.css']
would be worth a go.
I think I'll rethink the module side anyway as it's not flexible enough right now. I guess the simplest way out would be to expose a filtering hook over multiple fields now that I think of it.
Well, the project is built with this config currently: https://github.com/beckend/webpack-debug-1/blob/master/webpack.config.ts#L251-L281
Alright, so moduleExtensions
is like that already. I know where to look now. In the meantime, you can try enabling the verbose
mode to see what it exactly matches.
I guess one way to hack it would be to import flexboxgrid
from the app side, although that would bring all the related classes to the project then.
Files matched in verbose
/Users/linken/webpack-debug-1/node_modules/classnames/index.js/Users/linken/webpack-debug-1/node_modules/core-js/fn/array/find-index.js
/Users/linken/webpack-debug-1/node_modules/core-js/fn/array/from.js
/Users/linken/webpack-debug-1/node_modules/core-js/fn/array/iterator.js
/Users/linken/webpack-debug-1/node_modules/core-js/fn/map.js
/Users/linken/webpack-debug-1/node_modules/core-js/fn/string/includes.js
/Users/linken/webpack-debug-1/node_modules/core-js/fn/string/starts-with.js
/Users/linken/webpack-debug-1/node_modules/core-js/fn/symbol/index.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_a-function.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_add-to-unscopables.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_an-instance.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_an-object.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_array-from-iterable.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_array-includes.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_array-methods.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_array-species-constructor.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_array-species-create.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_classof.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_cof.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_collection-strong.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_collection-to-json.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_collection.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_core.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_create-property.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_ctx.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_defined.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_descriptors.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_dom-create.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_enum-bug-keys.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_enum-keys.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_export.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_fails-is-regexp.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_fails.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_for-of.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_global.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_has.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_hide.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_html.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_ie8-dom-define.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_inherit-if-required.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iobject.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_is-array-iter.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_is-array.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_is-object.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_is-regexp.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iter-call.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iter-create.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iter-define.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iter-detect.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iter-step.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_iterators.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_keyof.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_library.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_meta.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-create.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-dp.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-dps.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-gopd.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-gopn-ext.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-gopn.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-gops.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-gpo.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-keys-internal.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-keys.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_object-pie.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_property-desc.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_redefine-all.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_redefine.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_set-proto.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_set-species.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_set-to-string-tag.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_shared-key.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_shared.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_string-at.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_string-context.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_to-index.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_to-integer.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_to-iobject.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_to-length.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_to-object.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_to-primitive.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_uid.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_wks-define.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_wks-ext.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/_wks.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/core.get-iterator-method.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.array.find-index.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.array.from.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.array.iterator.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.map.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.object.to-string.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.string.includes.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.string.iterator.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.string.starts-with.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es6.symbol.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es7.map.to-json.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es7.symbol.async-iterator.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/es7.symbol.observable.js
/Users/linken/webpack-debug-1/node_modules/core-js/modules/web.dom.iterable.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/CSSCore.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/EventListener.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/ExecutionEnvironment.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/camelize.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/camelizeStyleName.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/containsNode.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/createArrayFromMixed.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/createNodesFromMarkup.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/emptyFunction.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/emptyObject.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/focusNode.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/getActiveElement.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/getMarkupWrap.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/getUnboundedScrollPosition.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/hyphenate.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/hyphenateStyleName.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/invariant.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/isNode.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/isTextNode.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/memoizeStringOnly.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/performance.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/performanceNow.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/shallowEqual.js
/Users/linken/webpack-debug-1/node_modules/fbjs/lib/warning.js
/Users/linken/webpack-debug-1/node_modules/flexboxgrid/dist/flexboxgrid.css
/Users/linken/webpack-debug-1/node_modules/immutability-helper/index.js
/Users/linken/webpack-debug-1/node_modules/invariant/browser.js
/Users/linken/webpack-debug-1/node_modules/material-design-icons/iconfont/material-icons.css
/Users/linken/webpack-debug-1/node_modules/object-assign/index.js
/Users/linken/webpack-debug-1/node_modules/process/browser.js
/Users/linken/webpack-debug-1/node_modules/react-addons-css-transition-group/index.js
/Users/linken/webpack-debug-1/node_modules/react-css-themr/lib/components/ThemeProvider.js
/Users/linken/webpack-debug-1/node_modules/react-css-themr/lib/components/themr.js
/Users/linken/webpack-debug-1/node_modules/react-css-themr/lib/index.js
/Users/linken/webpack-debug-1/node_modules/react-css-themr/lib/utils/themr-shape.js
/Users/linken/webpack-debug-1/node_modules/react-dom/index.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ARIADOMPropertyConfig.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/AutoFocusUtils.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/BeforeInputEventPlugin.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/CSSProperty.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/CSSPropertyOperations.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/CallbackQueue.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ChangeEventPlugin.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/DOMChildrenOperations.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/DOMLazyTree.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/DOMNamespaces.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/DOMProperty.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/DOMPropertyOperations.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/Danger.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/DefaultEventPluginOrder.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/EnterLeaveEventPlugin.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/EventConstants.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/EventPluginHub.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/EventPluginRegistry.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/EventPluginUtils.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/EventPropagators.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/FallbackCompositionState.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/HTMLDOMPropertyConfig.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/KeyEscapeUtils.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/LinkedValueUtils.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/PooledClass.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactBrowserEventEmitter.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactChildReconciler.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactComponentEnvironment.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactCompositeComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOM.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMComponentFlags.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMComponentTree.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMContainerInfo.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMEmptyComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMFeatureFlags.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMIDOperations.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMInput.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMInvalidARIAHook.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMNullInputValuePropHook.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMOption.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMSelect.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMSelection.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMTextComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMTextarea.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMTreeTraversal.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDOMUnknownPropertyHook.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDebugTool.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactDefaultInjection.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactElementSymbol.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactEmptyComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactErrorUtils.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactEventEmitterMixin.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactEventListener.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactFeatureFlags.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactHostComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactHostOperationHistoryHook.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactInjection.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactInputSelection.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactInstanceMap.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactInstrumentation.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactInvalidSetStateWarningHook.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactMarkupChecksum.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactMount.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactMultiChild.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactNodeTypes.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactOwner.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactPerf.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactPropTypeLocationNames.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactPropTypesSecret.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactReconcileTransaction.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactReconciler.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactRef.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactServerRenderingTransaction.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactServerUpdateQueue.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactShallowRenderer.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactTestUtils.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactUpdateQueue.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactUpdates.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ReactVersion.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SVGDOMPropertyConfig.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SelectEventPlugin.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SimpleEventPlugin.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticAnimationEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticClipboardEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticCompositionEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticDragEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticFocusEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticInputEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticKeyboardEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticMouseEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticTouchEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticTransitionEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticUIEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/SyntheticWheelEvent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/Transaction.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/ViewportMetrics.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/accumulateInto.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/adler32.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/checkReactTypeSpec.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/createMicrosoftUnsafeLocalFunction.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/dangerousStyleValue.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/escapeTextContentForBrowser.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/findDOMNode.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/flattenChildren.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/forEachAccumulated.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getEventCharCode.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getEventKey.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getEventModifierState.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getEventTarget.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getHostComponentFromComposite.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getIteratorFn.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getNextDebugID.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getNodeForCharacterOffset.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getTextContentAccessor.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/getVendorPrefixedEventName.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/instantiateReactComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/isEventSupported.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/isTextInputElement.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/quoteAttributeValueForBrowser.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/reactProdInvariant.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/renderSubtreeIntoContainer.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/setInnerHTML.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/setTextContent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/shouldUpdateReactComponent.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/traverseAllChildren.js
/Users/linken/webpack-debug-1/node_modules/react-dom/lib/validateDOMNesting.js
/Users/linken/webpack-debug-1/node_modules/react-flexbox-grid/lib/components/Col.js
/Users/linken/webpack-debug-1/node_modules/react-flexbox-grid/lib/components/Grid.js
/Users/linken/webpack-debug-1/node_modules/react-flexbox-grid/lib/components/Row.js
/Users/linken/webpack-debug-1/node_modules/react-flexbox-grid/lib/createProps.js
/Users/linken/webpack-debug-1/node_modules/react-flexbox-grid/lib/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/animations/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/animations/slide-left.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/animations/slide-right.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/animations/zoom-in.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/animations/zoom-out.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/app_bar/AppBar.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/app_bar/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/app_bar/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/autocomplete/Autocomplete.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/autocomplete/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/autocomplete/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/avatar/Avatar.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/avatar/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/avatar/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/button/BrowseButton.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/button/Button.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/button/IconButton.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/button/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/button/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/Card.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/CardActions.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/CardMedia.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/CardText.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/CardTitle.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/card/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/checkbox/Check.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/checkbox/Checkbox.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/checkbox/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/checkbox/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/chip/Chip.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/chip/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/chip/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/Calendar.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/CalendarDay.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/CalendarMonth.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/DatePicker.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/DatePickerDialog.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/date_picker/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/dialog/Dialog.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/dialog/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/dialog/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/drawer/Drawer.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/drawer/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/drawer/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/dropdown/Dropdown.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/dropdown/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/dropdown/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/font_icon/FontIcon.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/font_icon/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/form/Form.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/form/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/hoc/ActivableRenderer.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/hoc/Portal.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/identifiers.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/input/Input.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/input/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/input/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/layout/Layout.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/layout/NavDrawer.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/layout/Panel.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/layout/Sidebar.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/layout/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/layout/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/link/Link.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/link/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/link/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/List.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListCheckbox.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListDivider.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListItem.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListItemAction.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListItemActions.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListItemContent.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListItemLayout.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListItemText.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/ListSubHeader.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/list/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/menu/IconMenu.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/menu/Menu.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/menu/MenuDivider.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/menu/MenuItem.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/menu/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/menu/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/navigation/Navigation.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/navigation/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/navigation/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/overlay/Overlay.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/overlay/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/overlay/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/progress_bar/ProgressBar.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/progress_bar/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/progress_bar/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/radio/Radio.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/radio/RadioButton.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/radio/RadioGroup.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/radio/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/radio/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/ripple/Ripple.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/ripple/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/ripple/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/slider/Slider.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/slider/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/slider/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/snackbar/Snackbar.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/snackbar/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/snackbar/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/switch/Switch.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/switch/Thumb.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/switch/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/switch/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/table/Table.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/table/TableHead.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/table/TableRow.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/table/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/table/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tabs/Tab.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tabs/TabContent.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tabs/Tabs.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tabs/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tabs/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/Clock.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/ClockFace.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/ClockHand.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/ClockHours.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/ClockMinutes.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/TimePicker.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/TimePickerDialog.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/time_picker/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tooltip/Tooltip.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tooltip/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/tooltip/theme.scss
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/events.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/index.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/polyfills.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/prefixer.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/react.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/time.js
/Users/linken/webpack-debug-1/node_modules/react-toolbox/lib/utils/utils.js
/Users/linken/webpack-debug-1/node_modules/react/lib/KeyEscapeUtils.js
/Users/linken/webpack-debug-1/node_modules/react/lib/PooledClass.js
/Users/linken/webpack-debug-1/node_modules/react/lib/React.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactAddonsDOMDependencies.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactCSSTransitionGroup.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactCSSTransitionGroupChild.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactChildren.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactClass.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactComponent.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactComponentTreeHook.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactCurrentOwner.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactDOMFactories.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactElement.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactElementSymbol.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactElementValidator.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactNoopUpdateQueue.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactPropTypeLocationNames.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactPropTypes.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactPropTypesSecret.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactPureComponent.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactTransitionChildMapping.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactTransitionEvents.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactTransitionGroup.js
/Users/linken/webpack-debug-1/node_modules/react/lib/ReactVersion.js
/Users/linken/webpack-debug-1/node_modules/react/lib/canDefineProperty.js
/Users/linken/webpack-debug-1/node_modules/react/lib/checkReactTypeSpec.js
/Users/linken/webpack-debug-1/node_modules/react/lib/flattenChildren.js
/Users/linken/webpack-debug-1/node_modules/react/lib/getIteratorFn.js
/Users/linken/webpack-debug-1/node_modules/react/lib/onlyChild.js
/Users/linken/webpack-debug-1/node_modules/react/lib/reactProdInvariant.js
/Users/linken/webpack-debug-1/node_modules/react/lib/traverseAllChildren.js
/Users/linken/webpack-debug-1/node_modules/react/react.js
/Users/linken/webpack-debug-1/node_modules/webfontloader/webfontloader.js
/Users/linken/webpack-debug-1/src/Page/index.default.local.css
/Users/linken/webpack-debug-1/src/Page/index.default.local.css
/Users/linken/webpack-debug-1/src/Page/index.tsx
/Users/linken/webpack-debug-1/src/Page/index.tsx
/Users/linken/webpack-debug-1/src/index.pug
/Users/linken/webpack-debug-1/src/main.css
/Users/linken/webpack-debug-1/src/main.css
/Users/linken/webpack-debug-1/src/main.scss
/Users/linken/webpack-debug-1/src/main.scss
/Users/linken/webpack-debug-1/src/main.tsx
/Users/linken/webpack-debug-1/src/main.tsx
I guess some kind of prop to match some regexes to make that import hack?
Yeah. I think I'll just expose the filtering mechanism better. More control then.
You know it's basically all the styleExtensions if you think about it, but yea users might have some weird extensions, doesn't hurt to let them decide.
@beckend @bebraw
I, too, have a similar use-case / need for this filtering!
My project is stripping too much CSS away (as mentioned by @beckend ).
Note: using react-toolbox
in conjunction with other vendor libraries.
Ok, I'm a bit busy now (till Friday at least), but if someone wants to give it a stab, feel free. I think I would start from expanding the current examples, adding something that fails there, and figuring out how to solve that (might need new API and so on).
@beckend Did you ever discover anything?
@jmahc sorry for the late response, I have not been working on this actively. Just been really busy.
Hello there ! Any news from this issue ? I'm using Blueprint, and I have the same issue. I have only some of the CSS classes, not all of them, it's quite weird.
Are these issues related ? https://github.com/webpack-contrib/purifycss-webpack/issues/125 https://github.com/webpack-contrib/purifycss-webpack/issues/130