From 64eff397a49d648167e7a3e85a795321babd27c2 Mon Sep 17 00:00:00 2001
From: Gianluca Esposito
Date: Fri, 18 Dec 2015 10:47:42 +0100
Subject: [PATCH 001/142] Update README.md
Fixed Module Bundler fragment
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 88a335c..3a0b467 100644
--- a/README.md
+++ b/README.md
@@ -122,7 +122,7 @@ Using `react-css-modules`:
Setup consists of:
-* Setting up a [module bundler](#modulebundler) to load the [Interoperable CSS](https://github.com/css-modules/icss).
+* Setting up a [module bundler](#module-bundler) to load the [Interoperable CSS](https://github.com/css-modules/icss).
* [Decorating](#decorator) your component using `react-css-modules`.
### Module Bundler
From 85fc0194b962afc0d296630e0c024fd2e56f38af Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 18 Dec 2015 11:50:18 +0000
Subject: [PATCH 002/142] Added documentation about HMR.
---
README.md | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/README.md b/README.md
index 3a0b467..1c95255 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,7 @@ React CSS Modules implement automatic mapping of CSS modules. Every CSS class is
- [Options](#options)
- [`allowMultiple`](#allowmultiple)
- [`errorWhenNotFound`](#errorwhennotfound)
+– [React Hot Module Replacement](#react-hot-module-replacement)
- [Class Composition](#class-composition)
- [What Problems does Class Composition Solve?](#what-problems-does-class-composition-solve)
- [Class Composition Using CSS Preprocessors](#class-composition-using-css-preprocessors)
@@ -366,6 +367,16 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
}
```
+## React Hot Module Replacement
+
+Hot module reloading does to reload the CSS (see https://github.com/gajus/react-css-modules/issues/51).
+
+To enable CSS reloading, my advise is to wrap your webpack setup using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
+
+[React CSS Modules examples](https://github.com/gajus/react-css-modules-examples) repository includes a configuration example using [BrowserSync](https://github.com/gajus/react-css-modules-examples/blob/master/webpack.config.browsersync.js).
+
+Note that `webpackk-dev-server` program [does not write bundle files to the disk](https://github.com/webpack/webpack-dev-server/issues/62). You need to use a [write-file-webpack-plugin](https://github.com/gajus/write-file-webpack-plugin) plugin to force writing to the disk to enable BrowserSync to detect changes.
+
## Class Composition
CSS Modules promote composition pattern, i.e. every CSS Module that is used in a component should define all properties required to describe an element, e.g.
From a9d92b0647c240010cddd5fdfe72ff19ee54ef68 Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 18 Dec 2015 12:47:27 +0000
Subject: [PATCH 003/142] React Hot Module Replacement docs.
---
README.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 1c95255..18f6f30 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ React CSS Modules implement automatic mapping of CSS modules. Every CSS class is
- [Options](#options)
- [`allowMultiple`](#allowmultiple)
- [`errorWhenNotFound`](#errorwhennotfound)
-– [React Hot Module Replacement](#react-hot-module-replacement)
+- [React Hot Module Replacement](#react-hot-module-replacement)
- [Class Composition](#class-composition)
- [What Problems does Class Composition Solve?](#what-problems-does-class-composition-solve)
- [Class Composition Using CSS Preprocessors](#class-composition-using-css-preprocessors)
@@ -369,13 +369,13 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
## React Hot Module Replacement
-Hot module reloading does to reload the CSS (see https://github.com/gajus/react-css-modules/issues/51).
+[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does to reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
-To enable CSS reloading, my advise is to wrap your webpack setup using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
+To enable CSS reloading, wrap [`webpack-dev-server`](https://webpack.github.io/docs/webpack-dev-server.html) configuration using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
-[React CSS Modules examples](https://github.com/gajus/react-css-modules-examples) repository includes a configuration example using [BrowserSync](https://github.com/gajus/react-css-modules-examples/blob/master/webpack.config.browsersync.js).
+[React CSS Modules examples](https://github.com/gajus/react-css-modules-examples) repository includes a configuration example using [BrowserSync configuration using webpack-dev-server](https://github.com/gajus/react-css-modules-examples/blob/master/webpack.config.browsersync.js).
-Note that `webpackk-dev-server` program [does not write bundle files to the disk](https://github.com/webpack/webpack-dev-server/issues/62). You need to use a [write-file-webpack-plugin](https://github.com/gajus/write-file-webpack-plugin) plugin to force writing to the disk to enable BrowserSync to detect changes.
+Note that `webpackk-dev-server` program [does not write bundle files to the disk](https://github.com/webpack/webpack-dev-server/issues/62). Use [write-file-webpack-plugin](https://github.com/gajus/write-file-webpack-plugin) plugin to force writing to the disk. This will enable BrowserSync to detect changes.
## Class Composition
From 6359a4c030e0ac7aeef8c341255bfaba025c8649 Mon Sep 17 00:00:00 2001
From: Tieme van Veen
Date: Mon, 21 Dec 2015 11:44:22 +0100
Subject: [PATCH 004/142] Fix typo in readme
HMR does *to* reload the css -> HMR does *not* reload the css
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 18f6f30..60da45f 100644
--- a/README.md
+++ b/README.md
@@ -369,7 +369,7 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
## React Hot Module Replacement
-[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does to reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
+[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does not reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
To enable CSS reloading, wrap [`webpack-dev-server`](https://webpack.github.io/docs/webpack-dev-server.html) configuration using [BrowserSync](https://www.browsersync.io/). BrowserSync enables CSS reloading when it detects a file change.
From 170a78380ec8cefb2a3c1e527df00f56463a931d Mon Sep 17 00:00:00 2001
From: Tieme van Veen
Date: Tue, 29 Dec 2015 18:01:19 +0100
Subject: [PATCH 005/142] Sourcemaps documentation
---
README.md | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/README.md b/README.md
index 60da45f..59e2104 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,8 @@ React CSS Modules implement automatic mapping of CSS modules. Every CSS class is
- [Options](#options)
- [`allowMultiple`](#allowmultiple)
- [`errorWhenNotFound`](#errorwhennotfound)
+- [SASS, SCSS, LESS and other CSS Preprocessors](#sass-scss-less-and-other-css-preprocessors)
+ - [Enable Sourcemaps](#enable-sourcemaps)
- [React Hot Module Replacement](#react-hot-module-replacement)
- [Class Composition](#class-composition)
- [What Problems does Class Composition Solve?](#what-problems-does-class-composition-solve)
@@ -367,6 +369,17 @@ Throws an error when `styleName` cannot be mapped to an existing CSS Module.
}
```
+### Enable Sourcemaps
+
+To enable CSS Source maps, you'll need to pass the sourceMap-option to the css-loader:
+
+```js
+{
+ test: /\.scss$/,
+ loader: ExtractTextPlugin.extract('style', 'css?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!sass')
+}
+```
+
## React Hot Module Replacement
[Hot module reloading](https://github.com/gaearon/react-transform-hmr) (HMR) does not reload the CSS document (see https://github.com/gajus/react-css-modules/issues/51). It only reloads the `class` HTML attribute value.
From 43690c1b0d6909515c4bd284f945b9619ed00ddb Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 8 Jan 2016 15:46:51 +0000
Subject: [PATCH 006/142] Bumped dependencies.
---
package.json | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index 124ba62..2dca1be 100644
--- a/package.json
+++ b/package.json
@@ -24,13 +24,13 @@
},
"devDependencies": {
"chai": "^3.4.1",
- "jsdom": "^7.1.1",
- "pragmatist": "^1.9.4",
- "react": "^0.14.3",
- "react-addons-test-utils": "^0.14.3"
+ "jsdom": "^7.2.2",
+ "pragmatist": "^2.3.71",
+ "react": "^0.14.6",
+ "react-addons-test-utils": "^0.14.6"
},
"scripts": {
- "pragmatist": "node ./node_modules/.bin/pragmatist",
+ "pragmatist": "node ./node_modules/.bin/pragmatist --browser",
"lint": "npm run pragmatist lint",
"test": "npm run pragmatist test",
"build": "npm run pragmatist build",
From f094ec0de2ce8157e1383d2eca9b42ce54e3ba0f Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 8 Jan 2016 15:58:14 +0000
Subject: [PATCH 007/142] 3.6.4
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 2dca1be..89b360b 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"css",
"modules"
],
- "version": "3.6.3",
+ "version": "3.6.4",
"author": {
"name": "Gajus Kuizinas",
"email": "gajus@gajus.com",
From 9ef21b68cc55324ed96c38535bc5778f710a5b9e Mon Sep 17 00:00:00 2001
From: Gajus Kuizinas
Date: Fri, 8 Jan 2016 16:06:26 +0000
Subject: [PATCH 008/142] Update README file path.
---
README.md | 2 +-
README/react-css-modules.png | Bin 46508 -> 0 bytes
README/react-css-modules.sketch | Bin 90112 -> 0 bytes
3 files changed, 1 insertion(+), 1 deletion(-)
delete mode 100644 README/react-css-modules.png
delete mode 100644 README/react-css-modules.sketch
diff --git a/README.md b/README.md
index 60da45f..f9a297a 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
[](https://travis-ci.org/gajus/react-css-modules)
[](https://www.npmjs.org/package/react-css-modules)
-
+
React CSS Modules implement automatic mapping of CSS modules. Every CSS class is assigned a local-scoped identifier with a global unique name. CSS Modules enable a modular and reusable CSS!
diff --git a/README/react-css-modules.png b/README/react-css-modules.png
deleted file mode 100644
index 2614951ab7b6ec971422202f5b4424e5d263514f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 46508
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