From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- node_modules/icss-utils/README.md | 79 ++++++++++++++++++ node_modules/icss-utils/lib/createICSSRules.js | 54 ++++++++++++ node_modules/icss-utils/lib/extractICSS.js | 45 ++++++++++ node_modules/icss-utils/lib/index.js | 43 ++++++++++ node_modules/icss-utils/lib/replaceSymbols.js | 22 +++++ node_modules/icss-utils/lib/replaceValueSymbols.js | 20 +++++ node_modules/icss-utils/package.json | 97 ++++++++++++++++++++++ 7 files changed, 360 insertions(+) create mode 100644 node_modules/icss-utils/README.md create mode 100644 node_modules/icss-utils/lib/createICSSRules.js create mode 100644 node_modules/icss-utils/lib/extractICSS.js create mode 100644 node_modules/icss-utils/lib/index.js create mode 100644 node_modules/icss-utils/lib/replaceSymbols.js create mode 100644 node_modules/icss-utils/lib/replaceValueSymbols.js create mode 100644 node_modules/icss-utils/package.json (limited to 'node_modules/icss-utils') diff --git a/node_modules/icss-utils/README.md b/node_modules/icss-utils/README.md new file mode 100644 index 0000000..19687f0 --- /dev/null +++ b/node_modules/icss-utils/README.md @@ -0,0 +1,79 @@ +[![Build Status](https://travis-ci.org/css-modules/icss-utils.svg)](https://travis-ci.org/css-modules/icss-utils) + +# ICSS Utils + +## replaceSymbols + +Governs the way tokens are searched & replaced during the linking stage of ICSS loading. + +This is broken into its own module in case the behaviour needs to be replicated in other PostCSS plugins +(i.e. [CSS Modules Values](https://github.com/css-modules/postcss-modules-values)) + +```js +import { replaceSymbols, replaceValueSymbols } from "icss-utils" +replaceSymbols(css, replacements) +replaceValueSymbols(string, replacements) +``` + +Where: + +- `css` is the PostCSS tree you're working with +- `replacements` is an JS object of `symbol: "replacement"` pairs, where all occurrences of `symbol` are replaced with `replacement`. + +A symbol is a string of alphanumeric, `-` or `_` characters. A replacement can be any string. They are replaced in the following places: + +- In the value of a declaration, i.e. `color: my_symbol;` or `box-shadow: 0 0 blur spread shadow-color` +- In a media expression i.e. `@media small {}` or `@media screen and not-large {}` + +## extractICSS(css, removeRules = true) + +Extracts and remove (if removeRules is equal true) from PostCSS tree `:import` and `:export` statements. + +```js +import postcss from 'postcss'; +import { extractICSS } from 'icss-utils' + +const css = postcss.parse(` + :import(colors) { + a: b; + } + :export { + c: d; + } +`) + +extractICSS(css) +/* + { + icssImports: { + colors: { + a: 'b' + } + }, + icssExports: { + c: 'd' + } + } +*/ +``` + +## createICSSRules(icssImports, icssExports) + +Converts icss imports and exports definitions to postcss ast + +```js +createICSSRules({ + colors: { + a: 'b' + } +}, { + c: 'd' +}) +``` + +## License + +ISC + +--- +Glen Maddern and Bogdan Chadkin, 2015. diff --git a/node_modules/icss-utils/lib/createICSSRules.js b/node_modules/icss-utils/lib/createICSSRules.js new file mode 100644 index 0000000..585a984 --- /dev/null +++ b/node_modules/icss-utils/lib/createICSSRules.js @@ -0,0 +1,54 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _postcss = require('postcss'); + +var _postcss2 = _interopRequireDefault(_postcss); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +var createImports = function createImports(imports) { + return Object.keys(imports).map(function (path) { + var aliases = imports[path]; + var declarations = Object.keys(aliases).map(function (key) { + return _postcss2.default.decl({ + prop: key, + value: aliases[key], + raws: { before: '\n ' } + }); + }); + return _postcss2.default.rule({ + selector: `:import(${path})`, + raws: { after: '\n' } + }).append(declarations); + }); +}; + +var createExports = function createExports(exports) { + var declarations = Object.keys(exports).map(function (key) { + return _postcss2.default.decl({ + prop: key, + value: exports[key], + raws: { before: '\n ' } + }); + }); + if (declarations.length === 0) { + return []; + } + var rule = _postcss2.default.rule({ + selector: `:export`, + raws: { after: '\n' } + }).append(declarations); + return [rule]; +}; + +var createICSSRules = function createICSSRules(imports, exports) { + return [].concat(_toConsumableArray(createImports(imports)), _toConsumableArray(createExports(exports))); +}; + +exports.default = createICSSRules; \ No newline at end of file diff --git a/node_modules/icss-utils/lib/extractICSS.js b/node_modules/icss-utils/lib/extractICSS.js new file mode 100644 index 0000000..3b2f863 --- /dev/null +++ b/node_modules/icss-utils/lib/extractICSS.js @@ -0,0 +1,45 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var importPattern = /^:import\(("[^"]*"|'[^']*'|[\w-\.]+)\)$/; + +var getDeclsObject = function getDeclsObject(rule) { + var object = {}; + rule.walkDecls(function (decl) { + object[decl.raws.before.trim() + decl.prop] = decl.value; + }); + return object; +}; + +var extractICSS = function extractICSS(css) { + var removeRules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + var icssImports = {}; + var icssExports = {}; + css.each(function (node) { + if (node.type === "rule") { + if (node.selector.slice(0, 7) === ":import") { + var matches = importPattern.exec(node.selector); + if (matches) { + var path = matches[1]; + var aliases = Object.assign(icssImports[path] || {}, getDeclsObject(node)); + icssImports[path] = aliases; + if (removeRules) { + node.remove(); + } + } + } + if (node.selector === ":export") { + Object.assign(icssExports, getDeclsObject(node)); + if (removeRules) { + node.remove(); + } + } + } + }); + return { icssImports, icssExports }; +}; + +exports.default = extractICSS; \ No newline at end of file diff --git a/node_modules/icss-utils/lib/index.js b/node_modules/icss-utils/lib/index.js new file mode 100644 index 0000000..d9559c1 --- /dev/null +++ b/node_modules/icss-utils/lib/index.js @@ -0,0 +1,43 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _replaceValueSymbols = require('./replaceValueSymbols.js'); + +Object.defineProperty(exports, 'replaceValueSymbols', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_replaceValueSymbols).default; + } +}); + +var _replaceSymbols = require('./replaceSymbols.js'); + +Object.defineProperty(exports, 'replaceSymbols', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_replaceSymbols).default; + } +}); + +var _extractICSS = require('./extractICSS.js'); + +Object.defineProperty(exports, 'extractICSS', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_extractICSS).default; + } +}); + +var _createICSSRules = require('./createICSSRules.js'); + +Object.defineProperty(exports, 'createICSSRules', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_createICSSRules).default; + } +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file diff --git a/node_modules/icss-utils/lib/replaceSymbols.js b/node_modules/icss-utils/lib/replaceSymbols.js new file mode 100644 index 0000000..4bf349d --- /dev/null +++ b/node_modules/icss-utils/lib/replaceSymbols.js @@ -0,0 +1,22 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _replaceValueSymbols = require('./replaceValueSymbols.js'); + +var _replaceValueSymbols2 = _interopRequireDefault(_replaceValueSymbols); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var replaceSymbols = function replaceSymbols(css, replacements) { + css.walkDecls(function (decl) { + return decl.value = (0, _replaceValueSymbols2.default)(decl.value, replacements); + }); + css.walkAtRules('media', function (atRule) { + return atRule.params = (0, _replaceValueSymbols2.default)(atRule.params, replacements); + }); +}; + +exports.default = replaceSymbols; \ No newline at end of file diff --git a/node_modules/icss-utils/lib/replaceValueSymbols.js b/node_modules/icss-utils/lib/replaceValueSymbols.js new file mode 100644 index 0000000..ae6e553 --- /dev/null +++ b/node_modules/icss-utils/lib/replaceValueSymbols.js @@ -0,0 +1,20 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var matchValueName = /[$#]?[\w-\.]+/g; + +var replaceValueSymbols = function replaceValueSymbols(value, replacements) { + var matches = void 0; + while (matches = matchValueName.exec(value)) { + var replacement = replacements[matches[0]]; + if (replacement) { + value = value.slice(0, matches.index) + replacement + value.slice(matchValueName.lastIndex); + matchValueName.lastIndex -= matches[0].length - replacement.length; + } + } + return value; +}; + +exports.default = replaceValueSymbols; \ No newline at end of file diff --git a/node_modules/icss-utils/package.json b/node_modules/icss-utils/package.json new file mode 100644 index 0000000..c16f5bc --- /dev/null +++ b/node_modules/icss-utils/package.json @@ -0,0 +1,97 @@ +{ + "_from": "icss-utils@^2.1.0", + "_id": "icss-utils@2.1.0", + "_inBundle": false, + "_integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "_location": "/icss-utils", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "icss-utils@^2.1.0", + "name": "icss-utils", + "escapedName": "icss-utils", + "rawSpec": "^2.1.0", + "saveSpec": null, + "fetchSpec": "^2.1.0" + }, + "_requiredBy": [ + "/css-loader" + ], + "_resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "_shasum": "83f0a0ec378bf3246178b6c2ad9136f135b1c962", + "_spec": "icss-utils@^2.1.0", + "_where": "/home/pruss/Dev/3-minute-website/node_modules/css-loader", + "author": { + "name": "Glen Maddern" + }, + "babel": { + "presets": [ + [ + "env", + { + "targets": { + "node": 4 + } + } + ] + ] + }, + "bugs": { + "url": "https://github.com/css-modules/icss-utils/issues" + }, + "bundleDependencies": false, + "dependencies": { + "postcss": "^6.0.1" + }, + "deprecated": false, + "description": "ICSS utils for postcss ast", + "devDependencies": { + "babel-cli": "^6.24.1", + "babel-jest": "^20.0.3", + "babel-preset-env": "^1.5.1", + "eslint": "^3.19.0", + "husky": "^0.13.3", + "jest": "^20.0.3", + "lint-staged": "^3.4.2", + "prettier": "^1.3.1" + }, + "eslintConfig": { + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "extends": "eslint:recommended" + }, + "files": [ + "lib" + ], + "homepage": "https://github.com/css-modules/icss-utils#readme", + "keywords": [ + "css", + "modules", + "icss", + "postcss" + ], + "license": "ISC", + "lint-staged": { + "*.js": [ + "eslint", + "prettier --write", + "git add" + ] + }, + "main": "lib/index.js", + "name": "icss-utils", + "repository": { + "type": "git", + "url": "git+https://github.com/css-modules/icss-utils.git" + }, + "scripts": { + "build": "babel --out-dir lib src", + "precommit": "lint-staged", + "prepublish": "yarn test && yarn run build", + "test": "jest --coverage" + }, + "version": "2.1.0" +} -- cgit v1.2.3