Compare commits

..

5 Commits

Author SHA1 Message Date
7a39d520dd Publish
- @advdominion/browserslist-to-targets@1.0.1
 - @advdominion/sass-importer@1.0.1
 - @advdominion/stylelint-config@2.1.0
2026-09-08 23:28:13 +04:00
e4d9075ebe Enable length-zero-no-unit rule 2026-09-08 23:27:07 +04:00
b8286098ff Fix README 2026-09-08 23:23:19 +04:00
27a16018f3 Fix README 2026-09-08 23:23:10 +04:00
5c773895cb Удалены babel-plugin-nunjucks и lightningcss-loader 2026-09-08 13:24:44 +04:00
13 changed files with 12 additions and 221 deletions

View File

@@ -1,70 +0,0 @@
# babel-plugin-nunjucks
Плагин для [babel-loader](https://github.com/babel/babel-loader), позволяющий использовать шаблонизатор [Nunjucks](https://mozilla.github.io/nunjucks/) внутри JS-файлов.
## Установка
```bash
yarn add -D @advdominion/babel-plugin-nunjucks
```
## Использование
Используются [Tagged templates](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#tagged_templates) с тегом `njk`:
```js
njk`
{% from "./item.njk" import item as item %}
<div class="items">
{% for n in range(0, 10) %}
{{item()}}
{% endfor %}
</div>
`;
```
Пример конфигурации Webpack:
```js
[
{
test: /\.js$/,
exclude: [/mocks\.js$/],
use: [
{
loader: 'babel-loader',
options: {
cacheDirectory: true,
},
},
],
},
{
test: /mocks\.js$/,
use: [
{
loader: 'babel-loader',
options: {
compact: false,
plugins: [
[
'@advdominion/babel-plugin-nunjucks',
{
templatesFolder: 'src/templates/',
},
],
],
},
},
],
},
];
```
## Опции
- `templatesFolder` - строка, обязательный параметр. Путь до папки с файлами шаблонов
- `globals` - массив, необязательный параметр. Глобальные переменные для Nunjucks (например, `[{name: "message", value: "Hello, world!"}]`)
**Важно:** Параметр `cacheDirectory` в опциях babel-loader должен быть отключён.

View File

@@ -1,25 +0,0 @@
import nunjucks from 'nunjucks';
const babelPluginNunjucks = ({ types: t }) => {
return {
pre(state) {
const options = state.opts.plugins[0].options;
this.njkenv = new nunjucks.Environment(new nunjucks.FileSystemLoader(options.templatesFolder));
if (options.globals) {
for (const { name, value } of options.globals) {
this.njkenv.addGlobal(name, value);
}
}
},
visitor: {
TaggedTemplateExpression(path) {
if (path.get('tag').isIdentifier({ name: 'njk' })) {
const render = this.njkenv.renderString(path.node.quasi.quasis[0].value.raw);
path.replaceWith(t.stringLiteral(render));
}
},
},
};
};
export default babelPluginNunjucks;

View File

@@ -1,18 +0,0 @@
{
"name": "@advdominion/babel-plugin-nunjucks",
"version": "4.0.0",
"type": "module",
"main": "index.js",
"repository": {
"type": "git",
"url": "https://gitea.optiweb.ru/public/frontend.git"
},
"license": "MIT",
"publishConfig": {
"access": "public"
},
"peerDependencies": {
"@babel/core": "^8.0.0",
"nunjucks": "^3.0.0"
}
}

View File

@@ -1,6 +1,6 @@
# @advdominion/browserslist-to-targets # @advdominion/browserslist-to-targets
Преобразует конфиг [browserslist](https://github.com/browserslist/browserslist) в массив target-строк, совместимый с [esbuild](https://esbuild.github.io) и [Oxc](https://oxc-project.github.io). Преобразует конфиг [browserslist](https://github.com/browserslist/browserslist) в массив target-строк, совместимый с [esbuild](https://esbuild.github.io) и [Oxc](https://oxc.rs).
## Зачем ## Зачем

View File

@@ -1,6 +1,6 @@
{ {
"name": "@advdominion/browserslist-to-targets", "name": "@advdominion/browserslist-to-targets",
"version": "1.0.0", "version": "1.0.1",
"type": "module", "type": "module",
"main": "index.js", "main": "index.js",
"repository": { "repository": {

View File

@@ -1,53 +0,0 @@
# lightningcss-loader
[Lightning CSS](https://lightningcss.dev) loader for [Webpack](https://webpack.js.org)
## Usage
```js
import { transform } from 'lightningcss';
return {
...,
rules: [
{
test: /\.css$/,
use: [
{
loader: '@advdominion/lightningcss-loader',
options: {
implementation: transform,
},
},
],
},
],
};
```
### Passing options to Lightning CSS
```js
import { transform } from 'lightningcss';
return {
...,
rules: [
{
test: /\.css$/,
use: [
{
loader: '@advdominion/lightningcss-loader',
options: {
implementation: transform,
drafts: {
customMedia: true,
},
minify: false,
},
},
],
},
],
};
```

View File

@@ -1,22 +0,0 @@
const lightningcssLoader = function (source, sourceMap) {
const { implementation, ...options } = this.getOptions();
const callback = this.async();
if (typeof implementation !== 'function') {
throw new TypeError(
`[lightningcss-loader]: The "implementation" option is required and must provide "transform" function of the LightningCSS`,
);
}
const { code, map } = implementation({
filename: this.resourcePath,
code: Buffer.from(source),
sourceMap: this.sourceMap,
inputSourceMap: this.sourceMap && sourceMap ? JSON.stringify(sourceMap) : undefined,
...options,
});
callback(undefined, code.toString(), map && JSON.parse(map.toString()));
};
export default lightningcssLoader;

View File

@@ -1,14 +0,0 @@
{
"name": "@advdominion/lightningcss-loader",
"version": "1.0.2",
"type": "module",
"main": "index.js",
"repository": {
"type": "git",
"url": "https://gitea.optiweb.ru/public/frontend.git"
},
"license": "MIT",
"publishConfig": {
"access": "public"
}
}

View File

@@ -23,6 +23,7 @@ yarn add -D @advdominion/sass-importer
## Использование ## Использование
```js ```js
import { createRequire } from 'node:module';
import { createImporter } from '@advdominion/sass-importer'; import { createImporter } from '@advdominion/sass-importer';
const require = createRequire(import.meta.url); const require = createRequire(import.meta.url);

View File

@@ -1,6 +1,6 @@
{ {
"name": "@advdominion/sass-importer", "name": "@advdominion/sass-importer",
"version": "1.0.0", "version": "1.0.1",
"type": "module", "type": "module",
"main": "index.js", "main": "index.js",
"repository": { "repository": {

View File

@@ -13,6 +13,7 @@ export default {
'block-no-empty': null, 'block-no-empty': null,
'no-invalid-double-slash-comments': null, 'no-invalid-double-slash-comments': null,
'no-invalid-position-declaration': [true, { ignoreAtRules: ['media'] }], 'no-invalid-position-declaration': [true, { ignoreAtRules: ['media'] }],
'length-zero-no-unit': true,
'property-disallowed-list': [ 'property-disallowed-list': [
['animation', 'background', 'border', 'flex', 'font', 'grid', 'margin', 'padding', 'transition'], ['animation', 'background', 'border', 'flex', 'font', 'grid', 'margin', 'padding', 'transition'],
{ {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@advdominion/stylelint-config", "name": "@advdominion/stylelint-config",
"version": "2.0.1", "version": "2.1.0",
"type": "module", "type": "module",
"main": "index.js", "main": "index.js",
"repository": { "repository": {

View File

@@ -5,15 +5,6 @@ __metadata:
version: 10 version: 10
cacheKey: 10c0 cacheKey: 10c0
"@advdominion/babel-plugin-nunjucks@workspace:packages/babel-plugin-nunjucks":
version: 0.0.0-use.local
resolution: "@advdominion/babel-plugin-nunjucks@workspace:packages/babel-plugin-nunjucks"
peerDependencies:
"@babel/core": ^8.0.0
nunjucks: ^3.0.0
languageName: unknown
linkType: soft
"@advdominion/browserslist-to-targets@workspace:packages/browserslist-to-targets": "@advdominion/browserslist-to-targets@workspace:packages/browserslist-to-targets":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@advdominion/browserslist-to-targets@workspace:packages/browserslist-to-targets" resolution: "@advdominion/browserslist-to-targets@workspace:packages/browserslist-to-targets"
@@ -42,18 +33,18 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@advdominion/lightningcss-loader@workspace:packages/lightningcss-loader":
version: 0.0.0-use.local
resolution: "@advdominion/lightningcss-loader@workspace:packages/lightningcss-loader"
languageName: unknown
linkType: soft
"@advdominion/pluralize@workspace:packages/pluralize": "@advdominion/pluralize@workspace:packages/pluralize":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@advdominion/pluralize@workspace:packages/pluralize" resolution: "@advdominion/pluralize@workspace:packages/pluralize"
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@advdominion/sass-importer@workspace:packages/sass-importer":
version: 0.0.0-use.local
resolution: "@advdominion/sass-importer@workspace:packages/sass-importer"
languageName: unknown
linkType: soft
"@advdominion/scroll-to@workspace:packages/scroll-to": "@advdominion/scroll-to@workspace:packages/scroll-to":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@advdominion/scroll-to@workspace:packages/scroll-to" resolution: "@advdominion/scroll-to@workspace:packages/scroll-to"