webpack-contrib / purifycss-webpack

UNMAINTAINED, use https://github.com/FullHuman/purgecss-webpack-plugin
MIT License
772 stars 37 forks source link

Purified build does not match unpurified one #69

Open beckend opened 7 years ago

beckend commented 7 years ago

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.

bebraw commented 7 years ago

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

beckend commented 7 years ago

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

bebraw commented 7 years ago

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

beckend commented 7 years ago

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.

bebraw commented 7 years ago

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

beckend commented 7 years ago

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 commented 7 years ago

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

bebraw commented 7 years ago

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.

beckend commented 7 years ago

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.

bebraw commented 7 years ago

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.

beckend commented 7 years ago

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

bebraw commented 7 years ago

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.

beckend commented 7 years ago
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 commented 7 years ago

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

bebraw commented 7 years ago

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

beckend commented 7 years ago

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.

jmahc commented 7 years ago

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

bebraw commented 7 years ago

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

jmahc commented 7 years ago

@beckend Did you ever discover anything?

beckend commented 7 years ago

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

otroboe commented 6 years ago

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 commented 6 years ago

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