purifycss-webpack icon indicating copy to clipboard operation
purifycss-webpack copied to clipboard

Purified build does not match unpurified one

Open beckend opened this issue 7 years ago • 22 comments

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.

beckend avatar Jan 26 '17 17:01 beckend

Can you simplify your earlier demo project to showcase this issue? It's easier to see where it fails then.

bebraw avatar Jan 26 '17 17:01 bebraw

I am on it, note that purification does not really fail, it just strips away too much.

beckend avatar Jan 26 '17 17:01 beckend

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. 👍

bebraw avatar Jan 26 '17 17:01 bebraw

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.

beckend avatar Jan 26 '17 20:01 beckend

Thanks. Can you point out a specific class that's missing from the build result?

bebraw avatar Jan 27 '17 10:01 bebraw

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.

beckend avatar Jan 27 '17 11:01 beckend

I'm guessing the plugin only manage to get the css classes before the local scope transformation occurs.

beckend avatar Jan 27 '17 12:01 beckend

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.

bebraw avatar Jan 27 '17 12:01 bebraw

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.

beckend avatar Jan 27 '17 12:01 beckend

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.

bebraw avatar Jan 27 '17 12:01 bebraw

Well, the project is built with this config currently: https://github.com/beckend/webpack-debug-1/blob/master/webpack.config.ts#L251-L281

beckend avatar Jan 27 '17 12:01 beckend

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.

bebraw avatar Jan 27 '17 12:01 bebraw

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

beckend avatar Jan 27 '17 12:01 beckend

I guess some kind of prop to match some regexes to make that import hack?

beckend avatar Jan 27 '17 12:01 beckend

Yeah. I think I'll just expose the filtering mechanism better. More control then.

bebraw avatar Jan 27 '17 12:01 bebraw

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 avatar Jan 27 '17 13:01 beckend

@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.

jmahc avatar Feb 01 '17 19:02 jmahc

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).

bebraw avatar Feb 01 '17 19:02 bebraw

@beckend Did you ever discover anything?

jmahc avatar Feb 22 '17 14:02 jmahc

@jmahc sorry for the late response, I have not been working on this actively. Just been really busy.

beckend avatar Feb 24 '17 10:02 beckend

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.

otroboe avatar Apr 02 '18 13:04 otroboe

Are these issues related ? https://github.com/webpack-contrib/purifycss-webpack/issues/125 https://github.com/webpack-contrib/purifycss-webpack/issues/130

otroboe avatar Apr 02 '18 13:04 otroboe