summaryrefslogtreecommitdiffstats
path: root/node_modules/postcss-modules-scope
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-modules-scope')
-rw-r--r--node_modules/postcss-modules-scope/README.md100
-rw-r--r--node_modules/postcss-modules-scope/lib/index.js183
-rw-r--r--node_modules/postcss-modules-scope/package.json79
3 files changed, 0 insertions, 362 deletions
diff --git a/node_modules/postcss-modules-scope/README.md b/node_modules/postcss-modules-scope/README.md
deleted file mode 100644
index 7abe23b..0000000
--- a/node_modules/postcss-modules-scope/README.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# CSS Modules: Scope Locals & Extend
-
-[![Build Status](https://travis-ci.org/css-modules/postcss-modules-scope.svg?branch=master)](https://travis-ci.org/css-modules/postcss-modules-scope)
-
-Transforms:
-
-```css
-:local(.continueButton) {
- color: green;
-}
-```
-
-into:
-
-```css
-:export {
- continueButton: __buttons_continueButton_djd347adcxz9;
-}
-.__buttons_continueButton_djd347adcxz9 {
- color: green;
-}
-```
-
-so it doesn't pollute CSS global scope and can be simply used in JS like so:
-
-```js
-import styles from './buttons.css'
-elem.innerHTML = `<button class="${styles.continueButton}">Continue</button>`
-```
-
-## Composition
-
-Since we're exporting class names, there's no reason to export only one. This can give us some really useful reuse of styles:
-
-```css
-.globalButtonStyle {
- background: white;
- border: 1px solid;
- border-radius: 0.25rem;
-}
-.globalButtonStyle:hover {
- box-shadow: 0 0 4px -2px;
-}
-:local(.continueButton) {
- compose-with: globalButtonStyle;
- color: green;
-}
-```
-
-becomes:
-
-```
-.globalButtonStyle {
- background: white;
- border: 1px solid;
- border-radius: 0.25rem;
-}
-.globalButtonStyle:hover {
- box-shadow: 0 0 4px -2px;
-}
-:local(.continueButton) {
- compose-with: globalButtonStyle;
- color: green;
-}
-```
-
-**Note:** you can also use `composes` as a shorthand for `compose-with`
-
-## Local-by-default & reuse across files
-
-You're looking for [CSS Modules](https://github.com/css-modules/css-modules). It uses this plugin as well as a few others, and it's amazing.
-
-## Building
-
-```
-npm install
-npm test
-```
-
-[![Build Status](https://travis-ci.org/css-modules/postcss-modules-scope.svg?branch=master)](https://travis-ci.org/css-modules/postcss-modules-scope)
-
-* Lines: [![Coverage Status](https://coveralls.io/repos/css-modules/postcss-modules-scope/badge.svg?branch=master)](https://coveralls.io/r/css-modules/postcss-modules-scope?branch=master)
-* Statements: [![codecov.io](http://codecov.io/github/css-modules/postcss-modules-scope/coverage.svg?branch=master)](http://codecov.io/github/css-modules/postcss-modules-scope?branch=master)
-
-## Development
-
-- `npm autotest` will watch `src` and `test` for changes and run the tests, and transpile the ES6 to ES5 on success
-
-## License
-
-ISC
-
-## With thanks
-
-- Mark Dalgleish
-- Tobias Koppers
-- Guy Bedford
-
----
-Glen Maddern, 2015.
diff --git a/node_modules/postcss-modules-scope/lib/index.js b/node_modules/postcss-modules-scope/lib/index.js
deleted file mode 100644
index e060712..0000000
--- a/node_modules/postcss-modules-scope/lib/index.js
+++ /dev/null
@@ -1,183 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, '__esModule', {
- value: true
-});
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _postcss = require('postcss');
-
-var _postcss2 = _interopRequireDefault(_postcss);
-
-var _cssSelectorTokenizer = require('css-selector-tokenizer');
-
-var _cssSelectorTokenizer2 = _interopRequireDefault(_cssSelectorTokenizer);
-
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-function getSingleLocalNamesForComposes(selectors) {
- return selectors.nodes.map(function (node) {
- if (node.type !== 'selector' || node.nodes.length !== 1) {
- throw new Error('composition is only allowed when selector is single :local class name not in "' + _cssSelectorTokenizer2['default'].stringify(selectors) + '"');
- }
- node = node.nodes[0];
- if (node.type !== 'nested-pseudo-class' || node.name !== 'local' || node.nodes.length !== 1) {
- throw new Error('composition is only allowed when selector is single :local class name not in "' + _cssSelectorTokenizer2['default'].stringify(selectors) + '", "' + _cssSelectorTokenizer2['default'].stringify(node) + '" is weird');
- }
- node = node.nodes[0];
- if (node.type !== 'selector' || node.nodes.length !== 1) {
- throw new Error('composition is only allowed when selector is single :local class name not in "' + _cssSelectorTokenizer2['default'].stringify(selectors) + '", "' + _cssSelectorTokenizer2['default'].stringify(node) + '" is weird');
- }
- node = node.nodes[0];
- if (node.type !== 'class') {
- // 'id' is not possible, because you can't compose ids
- throw new Error('composition is only allowed when selector is single :local class name not in "' + _cssSelectorTokenizer2['default'].stringify(selectors) + '", "' + _cssSelectorTokenizer2['default'].stringify(node) + '" is weird');
- }
- return node.name;
- });
-}
-
-var processor = _postcss2['default'].plugin('postcss-modules-scope', function (options) {
- return function (css) {
- var generateScopedName = options && options.generateScopedName || processor.generateScopedName;
-
- var exports = {};
-
- function exportScopedName(name) {
- var scopedName = generateScopedName(name, css.source.input.from, css.source.input.css);
- exports[name] = exports[name] || [];
- if (exports[name].indexOf(scopedName) < 0) {
- exports[name].push(scopedName);
- }
- return scopedName;
- }
-
- function localizeNode(node) {
- var newNode = Object.create(node);
- switch (node.type) {
- case 'selector':
- newNode.nodes = node.nodes.map(localizeNode);
- return newNode;
- case 'class':
- case 'id':
- var scopedName = exportScopedName(node.name);
- newNode.name = scopedName;
- return newNode;
- }
- throw new Error(node.type + ' ("' + _cssSelectorTokenizer2['default'].stringify(node) + '") is not allowed in a :local block');
- }
-
- function traverseNode(node) {
- switch (node.type) {
- case 'nested-pseudo-class':
- if (node.name === 'local') {
- if (node.nodes.length !== 1) {
- throw new Error('Unexpected comma (",") in :local block');
- }
- return localizeNode(node.nodes[0]);
- }
- /* falls through */
- case 'selectors':
- case 'selector':
- var newNode = Object.create(node);
- newNode.nodes = node.nodes.map(traverseNode);
- return newNode;
- }
- return node;
- }
-
- // Find any :import and remember imported names
- var importedNames = {};
- css.walkRules(function (rule) {
- if (/^:import\(.+\)$/.test(rule.selector)) {
- rule.walkDecls(function (decl) {
- importedNames[decl.prop] = true;
- });
- }
- });
-
- // Find any :local classes
- css.walkRules(function (rule) {
- var selector = _cssSelectorTokenizer2['default'].parse(rule.selector);
- var newSelector = traverseNode(selector);
- rule.selector = _cssSelectorTokenizer2['default'].stringify(newSelector);
- rule.walkDecls(/composes|compose-with/, function (decl) {
- var localNames = getSingleLocalNamesForComposes(selector);
- var classes = decl.value.split(/\s+/);
- classes.forEach(function (className) {
- var global = /^global\(([^\)]+)\)$/.exec(className);
- if (global) {
- localNames.forEach(function (exportedName) {
- exports[exportedName].push(global[1]);
- });
- } else if (hasOwnProperty.call(importedNames, className)) {
- localNames.forEach(function (exportedName) {
- exports[exportedName].push(className);
- });
- } else if (hasOwnProperty.call(exports, className)) {
- localNames.forEach(function (exportedName) {
- exports[className].forEach(function (item) {
- exports[exportedName].push(item);
- });
- });
- } else {
- throw decl.error('referenced class name "' + className + '" in ' + decl.prop + ' not found');
- }
- });
- decl.remove();
- });
-
- rule.walkDecls(function (decl) {
- var tokens = decl.value.split(/(,|'[^']*'|"[^"]*")/);
- tokens = tokens.map(function (token, idx) {
- if (idx === 0 || tokens[idx - 1] === ',') {
- var localMatch = /^(\s*):local\s*\((.+?)\)/.exec(token);
- if (localMatch) {
- return localMatch[1] + exportScopedName(localMatch[2]) + token.substr(localMatch[0].length);
- } else {
- return token;
- }
- } else {
- return token;
- }
- });
- decl.value = tokens.join('');
- });
- });
-
- // Find any :local keyframes
- css.walkAtRules(function (atrule) {
- if (/keyframes$/.test(atrule.name)) {
- var localMatch = /^\s*:local\s*\((.+?)\)\s*$/.exec(atrule.params);
- if (localMatch) {
- atrule.params = exportScopedName(localMatch[1]);
- }
- }
- });
-
- // If we found any :locals, insert an :export rule
- var exportedNames = Object.keys(exports);
- if (exportedNames.length > 0) {
- (function () {
- var exportRule = _postcss2['default'].rule({ selector: ':export' });
- exportedNames.forEach(function (exportedName) {
- return exportRule.append({
- prop: exportedName,
- value: exports[exportedName].join(' '),
- raws: { before: '\n ' }
- });
- });
- css.append(exportRule);
- })();
- }
- };
-});
-
-processor.generateScopedName = function (exportedName, path) {
- var sanitisedPath = path.replace(/\.[^\.\/\\]+$/, '').replace(/[\W_]+/g, '_').replace(/^_|_$/g, '');
- return '_' + sanitisedPath + '__' + exportedName;
-};
-
-exports['default'] = processor;
-module.exports = exports['default']; \ No newline at end of file
diff --git a/node_modules/postcss-modules-scope/package.json b/node_modules/postcss-modules-scope/package.json
deleted file mode 100644
index 3f510d0..0000000
--- a/node_modules/postcss-modules-scope/package.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "_from": "postcss-modules-scope@^1.1.0",
- "_id": "postcss-modules-scope@1.1.0",
- "_inBundle": false,
- "_integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
- "_location": "/postcss-modules-scope",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "postcss-modules-scope@^1.1.0",
- "name": "postcss-modules-scope",
- "escapedName": "postcss-modules-scope",
- "rawSpec": "^1.1.0",
- "saveSpec": null,
- "fetchSpec": "^1.1.0"
- },
- "_requiredBy": [
- "/css-loader"
- ],
- "_resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
- "_shasum": "d6ea64994c79f97b62a72b426fbe6056a194bb90",
- "_spec": "postcss-modules-scope@^1.1.0",
- "_where": "/home/pruss/Dev/3-minute-website/node_modules/css-loader",
- "author": {
- "name": "Glen Maddern"
- },
- "bugs": {
- "url": "https://github.com/css-modules/postcss-modules-scope/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- },
- "deprecated": false,
- "description": "A CSS Modules transform to extract export statements from local-scope classes",
- "devDependencies": {
- "babel": "^5.4.7",
- "babel-eslint": "^6.1.2",
- "babel-istanbul": "^0.4.0",
- "babelify": "^7.1.0",
- "chokidar-cli": "^1.0.1",
- "codecov.io": "^0.1.2",
- "coveralls": "^2.11.2",
- "css-selector-parser": "^1.0.4",
- "eslint": "^1.5.0",
- "mocha": "^3.0.1"
- },
- "files": [
- "lib"
- ],
- "homepage": "https://github.com/css-modules/postcss-modules-scope",
- "keywords": [
- "css-modules",
- "postcss",
- "plugin"
- ],
- "license": "ISC",
- "main": "lib/index.js",
- "name": "postcss-modules-scope",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/css-modules/postcss-modules-scope.git"
- },
- "scripts": {
- "autotest": "chokidar src test -c 'npm test'",
- "build": "babel --out-dir lib src",
- "cover": "babel-istanbul cover node_modules/.bin/_mocha",
- "lint": "eslint src",
- "posttest": "npm run lint && npm run build",
- "precover": "npm run lint && npm run build",
- "prepublish": "npm run build",
- "test": "mocha --compilers js:babel/register",
- "travis": "npm run cover -- --report lcovonly",
- "watch": "chokidar src -c 'npm run build'"
- },
- "version": "1.1.0"
-}