It appears you have a well-structured Git repository with various files, including SVG icons and HTML documents. Here's a brief overview:
This commit is contained in:
20
backend/node_modules/postcss-minify-params/LICENSE
generated
vendored
Normal file
20
backend/node_modules/postcss-minify-params/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright 2015 Bogdan Chadkin <trysound@yandex.ru>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
39
backend/node_modules/postcss-minify-params/README.md
generated
vendored
Normal file
39
backend/node_modules/postcss-minify-params/README.md
generated
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# postcss-minify-params [![Build Status][ci-img]][ci]
|
||||
|
||||
> Minify at-rule params with PostCSS.
|
||||
|
||||
```css
|
||||
@media only screen and ( min-width: 400px, min-height: 500px ) {
|
||||
h2{
|
||||
color:blue
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```css
|
||||
@media only screen and (min-width:400px,min-height:500px) {
|
||||
h2{
|
||||
color:blue
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
postcss([ require('postcss-minify-params') ])
|
||||
```
|
||||
|
||||
See [PostCSS] docs for examples for your environment.
|
||||
|
||||
## Contributors
|
||||
|
||||
See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTORS.md).
|
||||
|
||||
## License
|
||||
|
||||
MIT © [Bogdan Chadkin](mailto:trysound@yandex.ru)
|
||||
|
||||
[PostCSS]: https://github.com/postcss/postcss
|
||||
[ci-img]: https://travis-ci.org/cssnano/postcss-minify-params.svg
|
||||
[ci]: https://travis-ci.org/cssnano/postcss-minify-params
|
41
backend/node_modules/postcss-minify-params/package.json
generated
vendored
Normal file
41
backend/node_modules/postcss-minify-params/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "postcss-minify-params",
|
||||
"version": "7.0.3",
|
||||
"description": "Minify at-rule params with PostCSS",
|
||||
"keywords": [
|
||||
"postcss",
|
||||
"css",
|
||||
"postcss-plugin",
|
||||
"minify",
|
||||
"optimise",
|
||||
"params"
|
||||
],
|
||||
"main": "src/index.js",
|
||||
"types": "types/index.d.ts",
|
||||
"files": [
|
||||
"src",
|
||||
"LICENSE",
|
||||
"types"
|
||||
],
|
||||
"author": "Bogdan Chadkin <trysound@yandex.ru>",
|
||||
"license": "MIT",
|
||||
"repository": "cssnano/cssnano",
|
||||
"bugs": {
|
||||
"url": "https://github.com/cssnano/cssnano/issues"
|
||||
},
|
||||
"homepage": "https://github.com/cssnano/cssnano",
|
||||
"dependencies": {
|
||||
"browserslist": "^4.24.5",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"cssnano-utils": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.12.0 || ^20.9.0 || >=22.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"postcss": "^8.5.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"postcss": "^8.4.32"
|
||||
}
|
||||
}
|
174
backend/node_modules/postcss-minify-params/src/index.js
generated
vendored
Normal file
174
backend/node_modules/postcss-minify-params/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,174 @@
|
||||
'use strict';
|
||||
const { dirname } = require('path');
|
||||
const browserslist = require('browserslist');
|
||||
const valueParser = require('postcss-value-parser');
|
||||
const { getArguments } = require('cssnano-utils');
|
||||
|
||||
/**
|
||||
* Return the greatest common divisor
|
||||
* of two numbers.
|
||||
*
|
||||
* @param {number} a
|
||||
* @param {number} b
|
||||
* @return {number}
|
||||
*/
|
||||
function gcd(a, b) {
|
||||
return b ? gcd(b, a % b) : a;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number} a
|
||||
* @param {number} b
|
||||
* @return {[number, number]}
|
||||
*/
|
||||
function aspectRatio(a, b) {
|
||||
const divisor = gcd(a, b);
|
||||
|
||||
return [a / divisor, b / divisor];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {valueParser.Node[]} args
|
||||
* @return {string}
|
||||
*/
|
||||
function split(args) {
|
||||
return args.map((arg) => valueParser.stringify(arg)).join('');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {valueParser.Node} node
|
||||
* @return {void}
|
||||
*/
|
||||
function removeNode(node) {
|
||||
node.value = '';
|
||||
node.type = 'word';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {unknown[]} items
|
||||
* @return {string}
|
||||
*/
|
||||
function sortAndDedupe(items) {
|
||||
const a = [...new Set(items)];
|
||||
a.sort();
|
||||
return a.join();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {boolean} legacy
|
||||
* @param {import('postcss').AtRule} rule
|
||||
* @return {void}
|
||||
*/
|
||||
function transform(legacy, rule) {
|
||||
const ruleName = rule.name.toLowerCase();
|
||||
|
||||
// We should re-arrange parameters only for `@media` and `@supports` at-rules
|
||||
if (!rule.params || !['media', 'supports'].includes(ruleName)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const params = valueParser(rule.params);
|
||||
|
||||
params.walk((node, index) => {
|
||||
if (node.type === 'div') {
|
||||
node.before = node.after = '';
|
||||
} else if (node.type === 'function') {
|
||||
node.before = '';
|
||||
if (
|
||||
node.nodes[0] &&
|
||||
node.nodes[0].type === 'word' &&
|
||||
node.nodes[0].value.startsWith('--') &&
|
||||
node.nodes[2] === undefined
|
||||
) {
|
||||
node.after = ' ';
|
||||
} else {
|
||||
node.after = '';
|
||||
}
|
||||
if (
|
||||
node.nodes[4] &&
|
||||
node.nodes[0].value.toLowerCase().indexOf('-aspect-ratio') === 3
|
||||
) {
|
||||
const [a, b] = aspectRatio(
|
||||
Number(node.nodes[2].value),
|
||||
Number(node.nodes[4].value)
|
||||
);
|
||||
|
||||
node.nodes[2].value = a.toString();
|
||||
node.nodes[4].value = b.toString();
|
||||
}
|
||||
} else if (node.type === 'space') {
|
||||
node.value = ' ';
|
||||
} else {
|
||||
const prevWord = params.nodes[index - 2];
|
||||
|
||||
if (
|
||||
node.value.toLowerCase() === 'all' &&
|
||||
rule.name.toLowerCase() === 'media' &&
|
||||
!prevWord
|
||||
) {
|
||||
const nextWord = params.nodes[index + 2];
|
||||
|
||||
if (!legacy || nextWord) {
|
||||
removeNode(node);
|
||||
}
|
||||
|
||||
if (nextWord && nextWord.value.toLowerCase() === 'and') {
|
||||
const nextSpace = params.nodes[index + 1];
|
||||
const secondSpace = params.nodes[index + 3];
|
||||
|
||||
removeNode(nextWord);
|
||||
removeNode(nextSpace);
|
||||
removeNode(secondSpace);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, true);
|
||||
|
||||
rule.params = sortAndDedupe(getArguments(params).map(split));
|
||||
|
||||
if (!rule.params.length) {
|
||||
rule.raws.afterName = '';
|
||||
}
|
||||
}
|
||||
|
||||
const allBugBrowers = new Set(['ie 10', 'ie 11']);
|
||||
|
||||
/**
|
||||
* @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions
|
||||
* @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions
|
||||
* @typedef {AutoprefixerOptions & BrowserslistOptions} Options
|
||||
*/
|
||||
|
||||
/**
|
||||
* @type {import('postcss').PluginCreator<Options>}
|
||||
* @param {Options} options
|
||||
* @return {import('postcss').Plugin}
|
||||
*/
|
||||
function pluginCreator(options = {}) {
|
||||
return {
|
||||
postcssPlugin: 'postcss-minify-params',
|
||||
|
||||
/**
|
||||
* @param {import('postcss').Result & {opts: BrowserslistOptions & {file?: string}}} result
|
||||
*/
|
||||
prepare(result) {
|
||||
const { stats, env, from, file } = result.opts || {};
|
||||
const browsers = browserslist(options.overrideBrowserslist, {
|
||||
stats: options.stats || stats,
|
||||
path: options.path || dirname(from || file || __filename),
|
||||
env: options.env || env,
|
||||
});
|
||||
|
||||
const hasAllBug = browsers.some((browser) => allBugBrowers.has(browser));
|
||||
|
||||
return {
|
||||
OnceExit(css) {
|
||||
css.walkAtRules((rule) => transform(hasAllBug, rule));
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
pluginCreator.postcss = true;
|
||||
module.exports = pluginCreator;
|
23
backend/node_modules/postcss-minify-params/types/index.d.ts
generated
vendored
Normal file
23
backend/node_modules/postcss-minify-params/types/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
export = pluginCreator;
|
||||
/**
|
||||
* @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions
|
||||
* @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions
|
||||
* @typedef {AutoprefixerOptions & BrowserslistOptions} Options
|
||||
*/
|
||||
/**
|
||||
* @type {import('postcss').PluginCreator<Options>}
|
||||
* @param {Options} options
|
||||
* @return {import('postcss').Plugin}
|
||||
*/
|
||||
declare function pluginCreator(options?: Options): import("postcss").Plugin;
|
||||
declare namespace pluginCreator {
|
||||
export { postcss, AutoprefixerOptions, BrowserslistOptions, Options };
|
||||
}
|
||||
declare var postcss: true;
|
||||
type AutoprefixerOptions = {
|
||||
overrideBrowserslist?: string | string[];
|
||||
};
|
||||
type BrowserslistOptions = Pick<browserslist.Options, "stats" | "path" | "env">;
|
||||
type Options = AutoprefixerOptions & BrowserslistOptions;
|
||||
import browserslist = require("browserslist");
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
backend/node_modules/postcss-minify-params/types/index.d.ts.map
generated
vendored
Normal file
1
backend/node_modules/postcss-minify-params/types/index.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";AAuIA;;;;GAIG;AAEH;;;;GAIG;AACH,yCAHW,OAAO,GACN,OAAO,SAAS,EAAE,MAAM,CA0BnC;;;;;2BAlCY;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE;2BAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;eACpD,mBAAmB,GAAG,mBAAmB"}
|
Reference in New Issue
Block a user