@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.
Files changed (59) hide show
  1. package/README.md +11 -0
  2. package/executors.json +9 -0
  3. package/package.json +19 -0
  4. package/src/executors/yaml-style/README.md +41 -0
  5. package/src/executors/yaml-style/converter/abstract.d.ts +26 -0
  6. package/src/executors/yaml-style/converter/abstract.js +64 -0
  7. package/src/executors/yaml-style/converter/abstract.js.map +1 -0
  8. package/src/executors/yaml-style/converter/index.d.ts +0 -0
  9. package/src/executors/yaml-style/converter/index.js +1 -0
  10. package/src/executors/yaml-style/converter/index.js.map +1 -0
  11. package/src/executors/yaml-style/converter/json.d.ts +6 -0
  12. package/src/executors/yaml-style/converter/json.js +39 -0
  13. package/src/executors/yaml-style/converter/json.js.map +1 -0
  14. package/src/executors/yaml-style/converter/literal.d.ts +9 -0
  15. package/src/executors/yaml-style/converter/literal.js +33 -0
  16. package/src/executors/yaml-style/converter/literal.js.map +1 -0
  17. package/src/executors/yaml-style/converter/scss.d.ts +29 -0
  18. package/src/executors/yaml-style/converter/scss.js +224 -0
  19. package/src/executors/yaml-style/converter/scss.js.map +1 -0
  20. package/src/executors/yaml-style/converter/typescript.d.ts +15 -0
  21. package/src/executors/yaml-style/converter/typescript.js +279 -0
  22. package/src/executors/yaml-style/converter/typescript.js.map +1 -0
  23. package/src/executors/yaml-style/executor.d.ts +7 -0
  24. package/src/executors/yaml-style/executor.js +90 -0
  25. package/src/executors/yaml-style/executor.js.map +1 -0
  26. package/src/executors/yaml-style/schema.d.ts +3 -0
  27. package/src/executors/yaml-style/schema.json +19 -0
  28. package/src/executors/yaml-style/test-cases/.eslintignore +6 -0
  29. package/src/executors/yaml-style/test-cases/.prettierignore +6 -0
  30. package/src/executors/yaml-style/test-cases/array/expected.d.ts +5 -0
  31. package/src/executors/yaml-style/test-cases/array/expected.js +26 -0
  32. package/src/executors/yaml-style/test-cases/array/expected.js.map +1 -0
  33. package/src/executors/yaml-style/test-cases/array/expected.json +20 -0
  34. package/src/executors/yaml-style/test-cases/array/expected.scss +16 -0
  35. package/src/executors/yaml-style/test-cases/array/input.yml +16 -0
  36. package/src/executors/yaml-style/test-cases/colors/expected.d.ts +40 -0
  37. package/src/executors/yaml-style/test-cases/colors/expected.js +73 -0
  38. package/src/executors/yaml-style/test-cases/colors/expected.js.map +1 -0
  39. package/src/executors/yaml-style/test-cases/colors/expected.json +54 -0
  40. package/src/executors/yaml-style/test-cases/colors/expected.scss +30 -0
  41. package/src/executors/yaml-style/test-cases/colors/input.yml +36 -0
  42. package/src/executors/yaml-style/test-cases/scss-map/expected.d.ts +27 -0
  43. package/src/executors/yaml-style/test-cases/scss-map/expected.js +53 -0
  44. package/src/executors/yaml-style/test-cases/scss-map/expected.js.map +1 -0
  45. package/src/executors/yaml-style/test-cases/scss-map/expected.json +42 -0
  46. package/src/executors/yaml-style/test-cases/scss-map/expected.scss +40 -0
  47. package/src/executors/yaml-style/test-cases/scss-map/input.yml +20 -0
  48. package/src/index.d.ts +0 -0
  49. package/src/index.js +1 -0
  50. package/src/index.js.map +1 -0
  51. package/src/util/git.d.ts +1 -0
  52. package/src/util/git.js +18 -0
  53. package/src/util/git.js.map +1 -0
  54. package/src/util/index.d.ts +2 -0
  55. package/src/util/index.js +8 -0
  56. package/src/util/index.js.map +1 -0
  57. package/src/util/spawn.d.ts +1 -0
  58. package/src/util/spawn.js +19 -0
  59. package/src/util/spawn.js.map +1 -0
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # nx
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build nx` to build the library.
8
+
9
+ ## Running unit tests
10
+
11
+ Run `nx test nx` to execute the unit tests via [Jest](https://jestjs.io).
package/executors.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "executors": {
3
+ "yaml-style": {
4
+ "implementation": "./src/executors/yaml-style/executor",
5
+ "schema": "./src/executors/yaml-style/schema.json",
6
+ "description": "yaml-style executor"
7
+ }
8
+ }
9
+ }
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>;