@ngutil/nx 0.0.3-dev.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/executors.json +9 -0
- package/package.json +19 -0
- package/src/executors/yaml-style/README.md +41 -0
- package/src/executors/yaml-style/converter/abstract.d.ts +26 -0
- package/src/executors/yaml-style/converter/abstract.js +64 -0
- package/src/executors/yaml-style/converter/abstract.js.map +1 -0
- package/src/executors/yaml-style/converter/index.d.ts +0 -0
- package/src/executors/yaml-style/converter/index.js +1 -0
- package/src/executors/yaml-style/converter/index.js.map +1 -0
- package/src/executors/yaml-style/converter/json.d.ts +6 -0
- package/src/executors/yaml-style/converter/json.js +39 -0
- package/src/executors/yaml-style/converter/json.js.map +1 -0
- package/src/executors/yaml-style/converter/literal.d.ts +9 -0
- package/src/executors/yaml-style/converter/literal.js +33 -0
- package/src/executors/yaml-style/converter/literal.js.map +1 -0
- package/src/executors/yaml-style/converter/scss.d.ts +29 -0
- package/src/executors/yaml-style/converter/scss.js +224 -0
- package/src/executors/yaml-style/converter/scss.js.map +1 -0
- package/src/executors/yaml-style/converter/typescript.d.ts +15 -0
- package/src/executors/yaml-style/converter/typescript.js +279 -0
- package/src/executors/yaml-style/converter/typescript.js.map +1 -0
- package/src/executors/yaml-style/executor.d.ts +7 -0
- package/src/executors/yaml-style/executor.js +90 -0
- package/src/executors/yaml-style/executor.js.map +1 -0
- package/src/executors/yaml-style/schema.d.ts +3 -0
- package/src/executors/yaml-style/schema.json +19 -0
- package/src/executors/yaml-style/test-cases/.eslintignore +6 -0
- package/src/executors/yaml-style/test-cases/.prettierignore +6 -0
- package/src/executors/yaml-style/test-cases/array/expected.d.ts +5 -0
- package/src/executors/yaml-style/test-cases/array/expected.js +26 -0
- package/src/executors/yaml-style/test-cases/array/expected.js.map +1 -0
- package/src/executors/yaml-style/test-cases/array/expected.json +20 -0
- package/src/executors/yaml-style/test-cases/array/expected.scss +16 -0
- package/src/executors/yaml-style/test-cases/array/input.yml +16 -0
- package/src/executors/yaml-style/test-cases/colors/expected.d.ts +40 -0
- package/src/executors/yaml-style/test-cases/colors/expected.js +73 -0
- package/src/executors/yaml-style/test-cases/colors/expected.js.map +1 -0
- package/src/executors/yaml-style/test-cases/colors/expected.json +54 -0
- package/src/executors/yaml-style/test-cases/colors/expected.scss +30 -0
- package/src/executors/yaml-style/test-cases/colors/input.yml +36 -0
- package/src/executors/yaml-style/test-cases/scss-map/expected.d.ts +27 -0
- package/src/executors/yaml-style/test-cases/scss-map/expected.js +53 -0
- package/src/executors/yaml-style/test-cases/scss-map/expected.js.map +1 -0
- package/src/executors/yaml-style/test-cases/scss-map/expected.json +42 -0
- package/src/executors/yaml-style/test-cases/scss-map/expected.scss +40 -0
- package/src/executors/yaml-style/test-cases/scss-map/input.yml +20 -0
- package/src/index.d.ts +0 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -0
- package/src/util/git.d.ts +1 -0
- package/src/util/git.js +18 -0
- package/src/util/git.js.map +1 -0
- package/src/util/index.d.ts +2 -0
- package/src/util/index.js +8 -0
- package/src/util/index.js.map +1 -0
- package/src/util/spawn.d.ts +1 -0
- package/src/util/spawn.js +19 -0
- package/src/util/spawn.js.map +1 -0
package/README.md
ADDED
package/executors.json
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ngutil/nx",
|
|
3
|
+
"version": "0.0.3-dev.17",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public",
|
|
6
|
+
"directory": "../../dist/packages/nx/"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@nx/devkit": "18.0.5",
|
|
10
|
+
"glob": "^10.3.10",
|
|
11
|
+
"is-plain-object": "^5.0.0",
|
|
12
|
+
"tslib": "^2.3.0",
|
|
13
|
+
"yaml": "^2.4.0"
|
|
14
|
+
},
|
|
15
|
+
"type": "commonjs",
|
|
16
|
+
"main": "./src/index.js",
|
|
17
|
+
"typings": "./src/index.d.ts",
|
|
18
|
+
"executors": "./executors.json"
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# yaml-style
|
|
2
|
+
|
|
3
|
+
## Usage
|
|
4
|
+
|
|
5
|
+
Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
nx add @ngutil/nx
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Add to `package.json`
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
// ...
|
|
16
|
+
"targets": {
|
|
17
|
+
// ...
|
|
18
|
+
"webmanifest": {
|
|
19
|
+
"executor": "@ngutil/nx:yaml-style",
|
|
20
|
+
"options": {
|
|
21
|
+
// ...
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Yaml file format
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
meta:
|
|
32
|
+
ts: {}
|
|
33
|
+
scss:
|
|
34
|
+
# - flatten: (default) convert content into flattened variables
|
|
35
|
+
# - map: convert content to scss map
|
|
36
|
+
type: flatten | map
|
|
37
|
+
json: {}
|
|
38
|
+
content:
|
|
39
|
+
variable: value
|
|
40
|
+
# ...
|
|
41
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Literal } from "./literal";
|
|
2
|
+
export type ConvertData = {
|
|
3
|
+
[key: string]: ConvertData | string | number | boolean;
|
|
4
|
+
};
|
|
5
|
+
export type ConverterFn = (options: any, data: ConvertData) => Promise<string>;
|
|
6
|
+
export type ConverterOptions = {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
};
|
|
9
|
+
export type Converter = {
|
|
10
|
+
options: {
|
|
11
|
+
new (option: ConverterOptions): CommonOptions;
|
|
12
|
+
};
|
|
13
|
+
convert: ConverterFn;
|
|
14
|
+
ext: string;
|
|
15
|
+
};
|
|
16
|
+
export type Converters = {
|
|
17
|
+
[key: string]: Converter;
|
|
18
|
+
};
|
|
19
|
+
export type Values = Array<Literal>;
|
|
20
|
+
export declare class CommonOptions {
|
|
21
|
+
filename?: string;
|
|
22
|
+
protected _rawOptions: ConverterOptions;
|
|
23
|
+
constructor(options: ConverterOptions);
|
|
24
|
+
}
|
|
25
|
+
export declare function pascalCase(value: string): string;
|
|
26
|
+
export declare function dashedCase(value: string): string;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dashedCase = exports.pascalCase = exports.CommonOptions = void 0;
|
|
4
|
+
class CommonOptions {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this._rawOptions = options;
|
|
7
|
+
this.filename = this._rawOptions.filename;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.CommonOptions = CommonOptions;
|
|
11
|
+
// export function eachValue(data: ConvertData): Values {
|
|
12
|
+
// const res = []
|
|
13
|
+
// _eachValue(data, [], res)
|
|
14
|
+
// return res
|
|
15
|
+
// }
|
|
16
|
+
// function _eachValue(data: any, path: string[], res: Values) {
|
|
17
|
+
// if (Array.isArray(data)) {
|
|
18
|
+
// if (path.length === 0) {
|
|
19
|
+
// throw new Error(`Start with array is not supported`)
|
|
20
|
+
// }
|
|
21
|
+
// for (const [i, v] of data.entries()) {
|
|
22
|
+
// _eachValue(v, path.concat([String(i)]), res)
|
|
23
|
+
// }
|
|
24
|
+
// } else if (typeof data === "string") {
|
|
25
|
+
// res.push(parseString(data, path.slice(0)))
|
|
26
|
+
// } else if (typeof data === "number") {
|
|
27
|
+
// res.push(new CommonValue({ path: path.slice(0), value: data }))
|
|
28
|
+
// } else if (isPlainObject(data)) {
|
|
29
|
+
// for (const [k, v] of Object.entries(data)) {
|
|
30
|
+
// // TODO: maybe {_value, _comment}
|
|
31
|
+
// _eachValue(v, path.concat([k]), res)
|
|
32
|
+
// }
|
|
33
|
+
// } else {
|
|
34
|
+
// throw new Error(`Not supported value: ${data}`)
|
|
35
|
+
// }
|
|
36
|
+
// }
|
|
37
|
+
// const RX_UNIT = /^([\d.\-+]+)\s*([^\d\s;]+)\s*(?:;\s*\/\/\/?\s*(.*?))?$/
|
|
38
|
+
// const RX_COMMON = /^([^;]+)\s*(?:;\s*\/\/\/?\s*(.*?))?$/
|
|
39
|
+
// function _parseLiteral(value: string, path: string[]) {
|
|
40
|
+
// // TODO: redesign, use NumberWithUnit
|
|
41
|
+
// const unitMatch = value.match(RX_UNIT)
|
|
42
|
+
// if (unitMatch) {
|
|
43
|
+
// return new DurationValue({ path, value: Number(unitMatch[1]), unit: unitMatch[2], comment: unitMatch[3] })
|
|
44
|
+
// } else {
|
|
45
|
+
// const commonMatch = value.match(RX_COMMON)
|
|
46
|
+
// if (commonMatch) {
|
|
47
|
+
// return new CommonValue({ path, value: commonMatch[1], comment: commonMatch[2] })
|
|
48
|
+
// } else {
|
|
49
|
+
// return new CommonValue({ path, value })
|
|
50
|
+
// }
|
|
51
|
+
// }
|
|
52
|
+
// }
|
|
53
|
+
// export function isInt(value: string): boolean {
|
|
54
|
+
// return /^\d+$/.test(value)
|
|
55
|
+
// }
|
|
56
|
+
function pascalCase(value) {
|
|
57
|
+
return value.replace(/(?:^\w|[A-Z]|\b\w)/g, match => match.toUpperCase()).replace(/[\s_-]+/g, "");
|
|
58
|
+
}
|
|
59
|
+
exports.pascalCase = pascalCase;
|
|
60
|
+
function dashedCase(value) {
|
|
61
|
+
return pascalCase(value).replace(/[A-Z]/g, (match, i) => i === 0 ? match.toLowerCase() : `-${match.toLowerCase()}`);
|
|
62
|
+
}
|
|
63
|
+
exports.dashedCase = dashedCase;
|
|
64
|
+
//# sourceMappingURL=abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/executors/yaml-style/converter/abstract.ts"],"names":[],"mappings":";;;AAaA,MAAa,aAAa;IAItB,YAAY,OAAyB;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAA;IAC7C,CAAC;CACJ;AARD,sCAQC;AAED,yDAAyD;AACzD,qBAAqB;AACrB,gCAAgC;AAChC,iBAAiB;AACjB,IAAI;AAEJ,gEAAgE;AAChE,iCAAiC;AACjC,mCAAmC;AACnC,mEAAmE;AACnE,YAAY;AACZ,iDAAiD;AACjD,2DAA2D;AAC3D,YAAY;AACZ,6CAA6C;AAC7C,qDAAqD;AACrD,6CAA6C;AAC7C,0EAA0E;AAC1E,wCAAwC;AACxC,uDAAuD;AACvD,gDAAgD;AAChD,mDAAmD;AACnD,YAAY;AACZ,eAAe;AACf,0DAA0D;AAC1D,QAAQ;AACR,IAAI;AAEJ,2EAA2E;AAC3E,2DAA2D;AAC3D,0DAA0D;AAC1D,4CAA4C;AAC5C,6CAA6C;AAC7C,uBAAuB;AACvB,qHAAqH;AACrH,eAAe;AACf,qDAAqD;AACrD,6BAA6B;AAC7B,+FAA+F;AAC/F,mBAAmB;AACnB,sDAAsD;AACtD,YAAY;AACZ,QAAQ;AACR,IAAI;AAEJ,kDAAkD;AAClD,iCAAiC;AACjC,IAAI;AAEJ,SAAgB,UAAU,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AACrG,CAAC;AAFD,gCAEC;AAED,SAAgB,UAAU,CAAC,KAAa;IACpC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACpD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAC5D,CAAA;AACL,CAAC;AAJD,gCAIC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/executors/yaml-style/converter/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CommonOptions, ConvertData, ConverterOptions } from "./abstract";
|
|
2
|
+
export declare class JsonOptions extends CommonOptions {
|
|
3
|
+
constructor(options: ConverterOptions);
|
|
4
|
+
}
|
|
5
|
+
export declare function convertToJson(options: JsonOptions, data: ConvertData): Promise<string>;
|
|
6
|
+
export declare function _convertToJson(options: JsonOptions, data: any): any;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._convertToJson = exports.convertToJson = exports.JsonOptions = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const is_plain_object_1 = require("is-plain-object");
|
|
6
|
+
const abstract_1 = require("./abstract");
|
|
7
|
+
const literal_1 = require("./literal");
|
|
8
|
+
class JsonOptions extends abstract_1.CommonOptions {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
super(options);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.JsonOptions = JsonOptions;
|
|
14
|
+
function convertToJson(options, data) {
|
|
15
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
const obj = _convertToJson(options, data);
|
|
17
|
+
return JSON.stringify(obj, null, 2);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.convertToJson = convertToJson;
|
|
21
|
+
function _convertToJson(options, data) {
|
|
22
|
+
if ((0, is_plain_object_1.isPlainObject)(data)) {
|
|
23
|
+
const res = {};
|
|
24
|
+
for (const [k, v] of Object.entries(data)) {
|
|
25
|
+
res[(0, abstract_1.pascalCase)(k)] = _convertToJson(options, v);
|
|
26
|
+
}
|
|
27
|
+
return res;
|
|
28
|
+
}
|
|
29
|
+
else if (Array.isArray(data)) {
|
|
30
|
+
return data.map(v => _convertToJson(options, v));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// TODO: LiteralVaraints from TS
|
|
34
|
+
const literal = literal_1.Literal.parse(data);
|
|
35
|
+
return literal.unit ? `${literal.value}${literal.unit}` : literal.value;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports._convertToJson = _convertToJson;
|
|
39
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/executors/yaml-style/converter/json.ts"],"names":[],"mappings":";;;;AAAA,qDAA+C;AAE/C,yCAAqF;AACrF,uCAAmC;AAEnC,MAAa,WAAY,SAAQ,wBAAa;IAC1C,YAAY,OAAyB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;CACJ;AAJD,kCAIC;AAED,SAAsB,aAAa,CAAC,OAAoB,EAAE,IAAiB;;QACvE,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;CAAA;AAHD,sCAGC;AAED,SAAgB,cAAc,CAAC,OAAoB,EAAE,IAAS;IAC1D,IAAI,IAAA,+BAAa,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC;SAAM,CAAC;QACJ,gCAAgC;QAChC,MAAM,OAAO,GAAG,iBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAA;IAC3E,CAAC;AACL,CAAC;AAdD,wCAcC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const UNIT_REGEX = "v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s";
|
|
2
|
+
export declare const NUMBER_REGEX = "[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)";
|
|
3
|
+
export declare class Literal {
|
|
4
|
+
readonly value: number | boolean | string;
|
|
5
|
+
readonly unit?: string;
|
|
6
|
+
readonly comment?: string;
|
|
7
|
+
static parse(value: any): Literal;
|
|
8
|
+
constructor(value: number | boolean | string, unit?: string, comment?: string);
|
|
9
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { NUMBER_REGEX, UNIT_REGEX } from "@ngutil/common"
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Literal = exports.NUMBER_REGEX = exports.UNIT_REGEX = void 0;
|
|
5
|
+
// TODO: fix this shit
|
|
6
|
+
// XXX: copied from @ngutil/common/number-with-unit, becuase jest unable to run if i mport ...
|
|
7
|
+
exports.UNIT_REGEX = "v[h|w|min|max]|p[c|t|x]|[re|e|c|m]m|[l|c]h|%|in|Q|ex|m?s";
|
|
8
|
+
exports.NUMBER_REGEX = "[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)";
|
|
9
|
+
const LITERAL_NUMBER = `(?<number>${exports.NUMBER_REGEX})\\s*(?<unit>${exports.UNIT_REGEX})?`;
|
|
10
|
+
const LITERAL_COMMENT = `(?:\\s*;\\s*///?\\s*(?<comment>.*?))?`;
|
|
11
|
+
const LITERAL_REGEX = new RegExp(`^(?:(?:${LITERAL_NUMBER})|(?<str>[^;\\\\]+))${LITERAL_COMMENT}$`);
|
|
12
|
+
class Literal {
|
|
13
|
+
static parse(value) {
|
|
14
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
15
|
+
return new Literal(value);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const raw = `${value}`.trim();
|
|
19
|
+
const match = raw.match(LITERAL_REGEX);
|
|
20
|
+
const baseValue = match.groups["number"] != null ? Number(match.groups["number"]) : match.groups["str"].trim();
|
|
21
|
+
const unit = match.groups["unit"] != null ? match.groups["unit"].trim() : undefined;
|
|
22
|
+
const comment = match.groups["comment"] != null ? match.groups["comment"].trim() : undefined;
|
|
23
|
+
return new Literal(baseValue, unit, comment);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
constructor(value, unit, comment) {
|
|
27
|
+
this.value = value;
|
|
28
|
+
this.unit = unit;
|
|
29
|
+
this.comment = comment;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.Literal = Literal;
|
|
33
|
+
//# sourceMappingURL=literal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/executors/yaml-style/converter/literal.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAE5D,sBAAsB;AACtB,8FAA8F;AACjF,QAAA,UAAU,GAAG,0DAA0D,CAAA;AACvE,QAAA,YAAY,GAAG,uCAAuC,CAAA;AAEnE,MAAM,cAAc,GAAG,aAAa,oBAAY,gBAAgB,kBAAU,IAAI,CAAA;AAC9E,MAAM,eAAe,GAAG,uCAAuC,CAAA;AAC/D,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,UAAU,cAAc,uBAAuB,eAAe,GAAG,CAAC,CAAA;AAEnG,MAAa,OAAO;IAChB,MAAM,CAAC,KAAK,CAAC,KAAU;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,CAAA;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAEtC,MAAM,SAAS,GACX,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAEhG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YACnF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YAE5F,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAChD,CAAC;IACL,CAAC;IAED,YACoB,KAAgC,EAChC,IAAa,EACb,OAAgB;QAFhB,UAAK,GAAL,KAAK,CAA2B;QAChC,SAAI,GAAJ,IAAI,CAAS;QACb,YAAO,GAAP,OAAO,CAAS;IACjC,CAAC;CACP;AAvBD,0BAuBC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CommonOptions, ConvertData, ConverterOptions } from "./abstract";
|
|
2
|
+
import { Literal } from "./literal";
|
|
3
|
+
export type ScssType = "flatten" | "map";
|
|
4
|
+
type Flattened = {
|
|
5
|
+
path: string[];
|
|
6
|
+
value: Literal;
|
|
7
|
+
};
|
|
8
|
+
export declare class ScssOptions extends CommonOptions {
|
|
9
|
+
/**
|
|
10
|
+
* @default "map"
|
|
11
|
+
*/
|
|
12
|
+
type?: ScssType;
|
|
13
|
+
/**
|
|
14
|
+
* If this value is provided, the converter creates placeholder selectors
|
|
15
|
+
*
|
|
16
|
+
* ```sass
|
|
17
|
+
* %<path> {
|
|
18
|
+
* /// comment
|
|
19
|
+
* <placeholderProperty>: value;
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
placeholderProperty?: string;
|
|
25
|
+
constructor(options: ConverterOptions);
|
|
26
|
+
}
|
|
27
|
+
export declare function convertToScss(options: ScssOptions, data: ConvertData): Promise<string>;
|
|
28
|
+
export declare function flatten(data: ConvertData): Flattened[];
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.flatten = exports.convertToScss = exports.ScssOptions = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const is_plain_object_1 = require("is-plain-object");
|
|
6
|
+
const abstract_1 = require("./abstract");
|
|
7
|
+
const literal_1 = require("./literal");
|
|
8
|
+
// export type ScssType = `placeholder ${_ScssType}` | `${_ScssType} placeholder` | _ScssType
|
|
9
|
+
class ScssOptions extends abstract_1.CommonOptions {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
super(options);
|
|
12
|
+
if (options.type == null) {
|
|
13
|
+
this.type = "flatten";
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.type = options.type;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ScssOptions = ScssOptions;
|
|
21
|
+
function convertToScss(options, data) {
|
|
22
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const header = `/* ! AUTO GENERATED DO NOT EDIT ! */\n\n`;
|
|
24
|
+
switch (options.type) {
|
|
25
|
+
case "flatten":
|
|
26
|
+
return header + flattenConverter(options, data) + "\n";
|
|
27
|
+
case "map":
|
|
28
|
+
return header + mapConverter(options, data) + "\n";
|
|
29
|
+
default:
|
|
30
|
+
throw new Error(`Not supported type value: ${options.type}`);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
exports.convertToScss = convertToScss;
|
|
35
|
+
/**
|
|
36
|
+
* /// optional comment
|
|
37
|
+
* $<path>: value;
|
|
38
|
+
*/
|
|
39
|
+
function flattenConverter(options, data) {
|
|
40
|
+
return flatten(data)
|
|
41
|
+
.map(value => {
|
|
42
|
+
const varName = "$" + value.path.map(abstract_1.dashedCase).join("-");
|
|
43
|
+
const varValue = value.value.unit ? `${value.value.value}${value.value.unit}` : value.value.value;
|
|
44
|
+
const comment = value.value.comment ? `/// ${value.value.comment}\n` : "";
|
|
45
|
+
return `${comment}${varName}: ${varValue} !default;`;
|
|
46
|
+
})
|
|
47
|
+
.join("\n");
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* $<path[0]>: (
|
|
51
|
+
* "<path[1]>": value,
|
|
52
|
+
* );
|
|
53
|
+
*/
|
|
54
|
+
function mapConverter(options, data) {
|
|
55
|
+
const mod = new ScssModule();
|
|
56
|
+
_mapConverter(options, data, [], mod, mod);
|
|
57
|
+
const result = [];
|
|
58
|
+
mod.render(result, 0);
|
|
59
|
+
return result.join("").trim();
|
|
60
|
+
}
|
|
61
|
+
function _mapConverter(options, data, path, parent, mod) {
|
|
62
|
+
const scssName = new ScssName(path);
|
|
63
|
+
if (Array.isArray(data)) {
|
|
64
|
+
const scssList = new ScssList([]);
|
|
65
|
+
parent.addElement(scssName, scssList);
|
|
66
|
+
for (const [k, v] of data.entries()) {
|
|
67
|
+
_mapConverter(options, v, scssName.path.concat([String(k)]), scssList, mod);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if ((0, is_plain_object_1.isPlainObject)(data)) {
|
|
71
|
+
let target;
|
|
72
|
+
if (path.length === 0) {
|
|
73
|
+
target = mod;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
const scssMap = new ScssMap({});
|
|
77
|
+
parent.addElement(scssName, scssMap);
|
|
78
|
+
target = scssMap;
|
|
79
|
+
}
|
|
80
|
+
for (const [k, v] of Object.entries(data)) {
|
|
81
|
+
_mapConverter(options, v, scssName.path.concat([k]), target, mod);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
parent.addElement(scssName, ScssValue.coerce(data));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* %<path> {
|
|
90
|
+
* /// comment
|
|
91
|
+
* <placeholderProperty>: value;
|
|
92
|
+
* }
|
|
93
|
+
*/
|
|
94
|
+
function placeholderConverter(options, data) { }
|
|
95
|
+
function flatten(data) {
|
|
96
|
+
const res = [];
|
|
97
|
+
_flatten(data, [], res);
|
|
98
|
+
return res;
|
|
99
|
+
}
|
|
100
|
+
exports.flatten = flatten;
|
|
101
|
+
function _flatten(data, path, res) {
|
|
102
|
+
if (Array.isArray(data)) {
|
|
103
|
+
if (path.length === 0) {
|
|
104
|
+
throw new Error(`Start with array is not supported`);
|
|
105
|
+
}
|
|
106
|
+
for (const [i, v] of data.entries()) {
|
|
107
|
+
_flatten(v, path.concat([String(i)]), res);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if ((0, is_plain_object_1.isPlainObject)(data)) {
|
|
111
|
+
for (const [k, v] of Object.entries(data)) {
|
|
112
|
+
// TODO: maybe {_value, _comment}
|
|
113
|
+
_flatten(v, path.concat([k]), res);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
res.push({ path: path.slice(0), value: literal_1.Literal.parse(data) });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
class ScssName {
|
|
121
|
+
constructor(path) {
|
|
122
|
+
this.path = path;
|
|
123
|
+
const converted = path.map(abstract_1.dashedCase);
|
|
124
|
+
this.id = "$" + converted.join("-");
|
|
125
|
+
this.local = converted[converted.length - 1];
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
class ScssElement {
|
|
129
|
+
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
130
|
+
addElement(name, value) {
|
|
131
|
+
throw new Error("Can't add child");
|
|
132
|
+
}
|
|
133
|
+
ident(level) {
|
|
134
|
+
return " ".repeat(level);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
class ScssModule extends ScssElement {
|
|
138
|
+
constructor() {
|
|
139
|
+
super(...arguments);
|
|
140
|
+
this.elements = {};
|
|
141
|
+
}
|
|
142
|
+
render(out, identLevel) {
|
|
143
|
+
for (const [k, v] of Object.entries(this.elements)) {
|
|
144
|
+
out.push(`${this.ident(identLevel)}${k}: `);
|
|
145
|
+
v.render(out, identLevel);
|
|
146
|
+
out.push(`;\n`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
addElement(name, value) {
|
|
150
|
+
this.elements[name.id] = value;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
class ScssMap extends ScssElement {
|
|
154
|
+
constructor(values) {
|
|
155
|
+
super();
|
|
156
|
+
this.values = values;
|
|
157
|
+
}
|
|
158
|
+
render(out, identLevel) {
|
|
159
|
+
const entries = Object.entries(this.values);
|
|
160
|
+
const lastIndex = entries.length - 1;
|
|
161
|
+
out.push(`(\n`);
|
|
162
|
+
for (const [i, [k, v]] of entries.entries()) {
|
|
163
|
+
out.push(`${this.ident(identLevel + 1)}"${(0, abstract_1.dashedCase)(k)}": `);
|
|
164
|
+
v.render(out, identLevel + 1);
|
|
165
|
+
if (i !== lastIndex) {
|
|
166
|
+
out.push(",");
|
|
167
|
+
}
|
|
168
|
+
out.push("\n");
|
|
169
|
+
}
|
|
170
|
+
out.push(`${this.ident(identLevel)})`);
|
|
171
|
+
}
|
|
172
|
+
addElement(name, value) {
|
|
173
|
+
this.values[name.local] = value;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
class ScssList extends ScssElement {
|
|
177
|
+
constructor(values) {
|
|
178
|
+
super();
|
|
179
|
+
this.values = values;
|
|
180
|
+
}
|
|
181
|
+
render(out, identLevel) {
|
|
182
|
+
const lastIndex = this.values.length - 1;
|
|
183
|
+
switch (this.values.length) {
|
|
184
|
+
case 0:
|
|
185
|
+
out.push("()");
|
|
186
|
+
break;
|
|
187
|
+
case 1:
|
|
188
|
+
out.push("(");
|
|
189
|
+
this.values[0].render(out, identLevel);
|
|
190
|
+
out.push(",)");
|
|
191
|
+
break;
|
|
192
|
+
default:
|
|
193
|
+
out.push(`(\n`);
|
|
194
|
+
for (const [i, v] of this.values.entries()) {
|
|
195
|
+
out.push(this.ident(identLevel + 1));
|
|
196
|
+
v.render(out, identLevel + 1);
|
|
197
|
+
if (i !== lastIndex) {
|
|
198
|
+
out.push(",");
|
|
199
|
+
}
|
|
200
|
+
out.push("\n");
|
|
201
|
+
}
|
|
202
|
+
out.push(`${this.ident(identLevel)})`);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
addElement(name, value) {
|
|
207
|
+
this.values.push(value);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
class ScssValue extends ScssElement {
|
|
211
|
+
static coerce(value) {
|
|
212
|
+
return new ScssValue(literal_1.Literal.parse(value));
|
|
213
|
+
}
|
|
214
|
+
constructor(literal) {
|
|
215
|
+
super();
|
|
216
|
+
this.literal = literal;
|
|
217
|
+
}
|
|
218
|
+
render(out, _identLevel) {
|
|
219
|
+
const literal = this.literal;
|
|
220
|
+
const varValue = literal.unit ? `${literal.value}${literal.unit}` : String(literal.value);
|
|
221
|
+
out.push(varValue);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scss.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/executors/yaml-style/converter/scss.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CommonOptions, ConvertData, ConverterOptions } from "./abstract";
|
|
2
|
+
export type TsType = "class";
|
|
3
|
+
export declare class TypescriptOptions extends CommonOptions {
|
|
4
|
+
#private;
|
|
5
|
+
/**
|
|
6
|
+
* @default "const-enum"
|
|
7
|
+
*/
|
|
8
|
+
type?: TsType;
|
|
9
|
+
/**
|
|
10
|
+
* @default true
|
|
11
|
+
*/
|
|
12
|
+
durationAsInt?: boolean;
|
|
13
|
+
constructor(options: ConverterOptions);
|
|
14
|
+
}
|
|
15
|
+
export declare function convertToTs(options: TypescriptOptions, data: ConvertData): Promise<string>;
|