@octaviaflow/test-utils 1.0.0
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/dist/__tests__/renderer-test.d.ts +2 -0
- package/dist/__tests__/renderer-test.d.ts.map +1 -0
- package/dist/__tests__/renderer-test.js +20 -0
- package/dist/__tests__/renderer-test.js.map +1 -0
- package/dist/importer.d.ts +6 -0
- package/dist/importer.d.ts.map +1 -0
- package/dist/importer.js +47 -0
- package/dist/importer.js.map +1 -0
- package/dist/renderer.d.ts +17 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +112 -0
- package/dist/renderer.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-test.d.ts","sourceRoot":"","sources":["../../src/__tests__/renderer-test.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { SassRenderer } = require('../renderer');
|
|
3
|
+
const { render } = SassRenderer.create(__dirname);
|
|
4
|
+
describe('SassRenderer', () => {
|
|
5
|
+
it('should compile sass and return the result', async () => {
|
|
6
|
+
const { result } = await render(`
|
|
7
|
+
body {
|
|
8
|
+
background: black;
|
|
9
|
+
}
|
|
10
|
+
`);
|
|
11
|
+
expect(result.css).toBeDefined();
|
|
12
|
+
});
|
|
13
|
+
it('should retrieve values from sass with get-value', async () => {
|
|
14
|
+
const { getValue } = await render(`
|
|
15
|
+
$_: get-value(1);
|
|
16
|
+
`);
|
|
17
|
+
expect(getValue(0)).toEqual(1);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=renderer-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-test.js","sourceRoot":"","sources":["../../src/__tests__/renderer-test.js"],"names":[],"mappings":";AAUA,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEhD,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAElD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC;;;;KAI/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC;;KAEjC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.js"],"names":[],"mappings":";IA0BE;;kBA4CC"}
|
package/dist/importer.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const resolve = require('resolve');
|
|
5
|
+
const defaultResolveOptions = {
|
|
6
|
+
extensions: ['.scss'],
|
|
7
|
+
};
|
|
8
|
+
const Importer = {
|
|
9
|
+
create(cwd) {
|
|
10
|
+
function importer(url, prev) {
|
|
11
|
+
const baseDirectory = prev !== 'stdin' ? path.dirname(prev) : cwd;
|
|
12
|
+
if (url.startsWith('@')) {
|
|
13
|
+
const file = resolve.sync(url, {
|
|
14
|
+
...defaultResolveOptions,
|
|
15
|
+
basedir: cwd,
|
|
16
|
+
packageFilter(pkg) {
|
|
17
|
+
if (pkg.eyeglass !== undefined) {
|
|
18
|
+
pkg.main = `${pkg.eyeglass.sassDir}/index.scss`;
|
|
19
|
+
}
|
|
20
|
+
return pkg;
|
|
21
|
+
},
|
|
22
|
+
pathFilter(_pkg, _path, relativePath) {
|
|
23
|
+
return relativePath.replace(/^(scss[\\/])([a-z-]+)/, '$1_$2.scss');
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
return { file };
|
|
27
|
+
}
|
|
28
|
+
const candidates = [
|
|
29
|
+
`${path.basename(url)}.scss`,
|
|
30
|
+
`_${path.basename(url)}.scss`,
|
|
31
|
+
path.basename(url),
|
|
32
|
+
`_${path.basename(url)}`,
|
|
33
|
+
];
|
|
34
|
+
for (const candidate of candidates) {
|
|
35
|
+
const filepath = path.resolve(baseDirectory, path.dirname(url), candidate);
|
|
36
|
+
if (fs.existsSync(filepath)) {
|
|
37
|
+
return { file: filepath };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return importer;
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
module.exports = {
|
|
45
|
+
Importer,
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=importer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.js"],"names":[],"mappings":"AAUA,YAAY,CAAC;AAEb,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,CAAC,OAAO,CAAC;CACtB,CAAC;AAOF,MAAM,QAAQ,GAAG;IACf,MAAM,CAAC,GAAG;QACR,SAAS,QAAQ,CAAC,GAAG,EAAE,IAAI;YACzB,MAAM,aAAa,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAElE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC7B,GAAG,qBAAqB;oBACxB,OAAO,EAAE,GAAG;oBACZ,aAAa,CAAC,GAAG;wBACf,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAE/B,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,aAAa,CAAC;wBAClD,CAAC;wBACD,OAAO,GAAG,CAAC;oBACb,CAAC;oBACD,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY;wBAElC,OAAO,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;oBACrE,CAAC;iBACF,CAAC,CAAC;gBAEH,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,MAAM,UAAU,GAAG;gBACjB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO;gBAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO;gBAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;aACzB,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAC3B,aAAa,EACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EACjB,SAAS,CACV,CAAC;gBACF,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG;IACf,QAAQ;CACT,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export namespace SassRenderer {
|
|
2
|
+
function create(cwd: any, initialData?: string): {
|
|
3
|
+
convert: typeof convert;
|
|
4
|
+
render: (data: any) => Promise<{
|
|
5
|
+
result: sass.LegacyResult;
|
|
6
|
+
values: any[];
|
|
7
|
+
getValue(index: any): any;
|
|
8
|
+
get(key: any): any;
|
|
9
|
+
unwrap(key: any): any;
|
|
10
|
+
}>;
|
|
11
|
+
types: typeof sass.types;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
declare function convert(value: any): any;
|
|
15
|
+
import sass = require("sass");
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.js"],"names":[],"mappings":";IAiBE;;;;;;;;;;MAmDC;;AAMH,0CAmDC"}
|
package/dist/renderer.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const sass = require('sass');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const SassRenderer = {
|
|
6
|
+
create(cwd, initialData = '') {
|
|
7
|
+
const nodeModules = getNodeModulesFolders(cwd);
|
|
8
|
+
async function render(data) {
|
|
9
|
+
const values = [];
|
|
10
|
+
const valuesByKey = new Map();
|
|
11
|
+
const result = sass.renderSync({
|
|
12
|
+
data: `${initialData}\n${data}`,
|
|
13
|
+
functions: {
|
|
14
|
+
'get-value($arg)': (arg) => {
|
|
15
|
+
values.push(arg);
|
|
16
|
+
return sass.types.Null.NULL;
|
|
17
|
+
},
|
|
18
|
+
'get($key, $value)': (key, value) => {
|
|
19
|
+
valuesByKey.set(convert(key), {
|
|
20
|
+
value: convert(value),
|
|
21
|
+
nativeValue: value,
|
|
22
|
+
});
|
|
23
|
+
return sass.types.Null.NULL;
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
includePaths: [cwd, ...nodeModules],
|
|
27
|
+
quietDeps: true,
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
result,
|
|
31
|
+
values,
|
|
32
|
+
getValue(index) {
|
|
33
|
+
return convert(values[index]);
|
|
34
|
+
},
|
|
35
|
+
get(key) {
|
|
36
|
+
if (valuesByKey.has(key)) {
|
|
37
|
+
return valuesByKey.get(key);
|
|
38
|
+
}
|
|
39
|
+
throw new Error(`Unabled to find value with key: ${key}`);
|
|
40
|
+
},
|
|
41
|
+
unwrap(key) {
|
|
42
|
+
if (valuesByKey.has(key)) {
|
|
43
|
+
return valuesByKey.get(key).value;
|
|
44
|
+
}
|
|
45
|
+
throw new Error(`Unabled to find value with key: ${key}`);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
convert,
|
|
51
|
+
render,
|
|
52
|
+
types: sass.types,
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
function convert(value) {
|
|
57
|
+
const { types } = sass;
|
|
58
|
+
if (value instanceof types.Boolean) {
|
|
59
|
+
return value.getValue();
|
|
60
|
+
}
|
|
61
|
+
if (value instanceof types.Number) {
|
|
62
|
+
const unit = value.getUnit();
|
|
63
|
+
if (unit === '') {
|
|
64
|
+
return value.getValue();
|
|
65
|
+
}
|
|
66
|
+
return `${value.getValue()}${unit}`;
|
|
67
|
+
}
|
|
68
|
+
if (value instanceof types.String) {
|
|
69
|
+
return value.getValue();
|
|
70
|
+
}
|
|
71
|
+
if (value instanceof types.Color) {
|
|
72
|
+
return value.dartValue.toString();
|
|
73
|
+
}
|
|
74
|
+
if (value instanceof types.List) {
|
|
75
|
+
const length = value.getLength();
|
|
76
|
+
const result = Array(length);
|
|
77
|
+
for (let i = 0; i < length; i++) {
|
|
78
|
+
result[i] = convert(value.getValue(i));
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
if (value instanceof types.Map) {
|
|
83
|
+
const length = value.getLength();
|
|
84
|
+
const result = {};
|
|
85
|
+
for (let i = 0; i < length; i++) {
|
|
86
|
+
const key = convert(value.getKey(i));
|
|
87
|
+
result[key] = convert(value.getValue(i));
|
|
88
|
+
}
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
if (value instanceof types.Null) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
return value;
|
|
95
|
+
}
|
|
96
|
+
function getNodeModulesFolders(cwd) {
|
|
97
|
+
const { root } = path.parse(cwd);
|
|
98
|
+
const folders = [];
|
|
99
|
+
let directory = cwd;
|
|
100
|
+
while (directory !== root) {
|
|
101
|
+
const folder = path.join(directory, 'node_modules');
|
|
102
|
+
if (fs.existsSync(folder)) {
|
|
103
|
+
folders.push(folder);
|
|
104
|
+
}
|
|
105
|
+
directory = path.dirname(directory);
|
|
106
|
+
}
|
|
107
|
+
return folders;
|
|
108
|
+
}
|
|
109
|
+
module.exports = {
|
|
110
|
+
SassRenderer,
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.js"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@octaviaflow/test-utils",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/octaviaflow-design-system.git",
|
|
8
|
+
"directory": "packages/test-utils"
|
|
9
|
+
},
|
|
10
|
+
"bugs": "https://github.com/octaviaflow-design-system/issues",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"octaviaflow",
|
|
13
|
+
"octaviaflow-design-system",
|
|
14
|
+
"test-utils",
|
|
15
|
+
"react"
|
|
16
|
+
],
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"peerDependencies": {
|
|
21
|
+
"react": "^19.2.0",
|
|
22
|
+
"react-dom": "^19.2.0"
|
|
23
|
+
},
|
|
24
|
+
"main": "./dist/index.js",
|
|
25
|
+
"module": "./dist/index.mjs",
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"import": "./dist/index.mjs",
|
|
31
|
+
"require": "./dist/index.js"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "bun run clean && tsc",
|
|
39
|
+
"clean": "rimraf dist",
|
|
40
|
+
"lint": "eslint src",
|
|
41
|
+
"lint:fix": "eslint src --fix",
|
|
42
|
+
"format": "prettier --write src/**/*.{ts,tsx,js,jsx,json}",
|
|
43
|
+
"format:check": "prettier --check src/**/*.{ts,tsx,js,jsx,json}",
|
|
44
|
+
"test": "jest",
|
|
45
|
+
"test:watch": "jest --watch"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"prettier": "^3.3.3",
|
|
49
|
+
"resolve": "^1.12.0",
|
|
50
|
+
"sass": "^1.77.7"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@testing-library/jest-dom": "^6.0.0",
|
|
54
|
+
"@testing-library/react": "^16.0.0",
|
|
55
|
+
"@types/react": "^19.0.0",
|
|
56
|
+
"@types/react-dom": "^19.0.0",
|
|
57
|
+
"eslint": "^9.39.1",
|
|
58
|
+
"eslint-config-octaviaflow": "workspace:*",
|
|
59
|
+
"jest": "^29.7.0",
|
|
60
|
+
"jest-config-octaviaflow": "workspace:*",
|
|
61
|
+
"prettier-config-octaviaflow": "workspace:*",
|
|
62
|
+
"react": "^19.2.0",
|
|
63
|
+
"react-dom": "^19.2.0",
|
|
64
|
+
"rimraf": "^6.0.0",
|
|
65
|
+
"typescript": "^5.8.0",
|
|
66
|
+
"typescript-config-octaviaflow": "workspace:*"
|
|
67
|
+
}
|
|
68
|
+
}
|