@traqula/test-utils 0.0.23 → 0.0.25

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.
@@ -1,50 +1,63 @@
1
- /* eslint-disable import/no-nodejs-modules,no-sync */
2
- import * as fs from 'node:fs';
1
+ /* eslint-disable import/no-nodejs-modules */
2
+ import { readdirSync } from 'node:fs';
3
+ import { join } from 'node:path';
3
4
  import { readFile } from '../fileUtils.js';
4
5
  import { getStaticFilePath } from './utils.js';
5
6
  export function* positiveTest(type, filter) {
6
- const dir = getStaticFilePath(type);
7
- const statics = fs.readdirSync(dir);
7
+ const astDir = getStaticFilePath('ast');
8
+ const jsonSourceTrackedDir = join(astDir, 'ast-source-tracked', type);
9
+ const jsonNonSourceTrackedDir = join(astDir, 'ast-no-source-tracked', type);
10
+ const sparqlDir = join(astDir, 'sparql', type);
11
+ const sparqlGeneratedDir = join(astDir, 'sparql-generated', type);
12
+ const statics = readdirSync(jsonSourceTrackedDir);
8
13
  for (const file of statics) {
9
- if (file.endsWith('.json')) {
10
- if (filter && !filter(file.replace('.json', ''))) {
11
- continue;
12
- }
13
- yield {
14
- name: file.replace(/\.json$/u, ''),
15
- statics: async () => {
16
- const query = await readFile(`${dir}/${file.replace('.json', '.sparql')}`);
17
- const result = await readFile(`${dir}/${file}`);
18
- let autoGen;
19
- try {
20
- autoGen = await readFile(`${dir}/${file.replace('.json', '-generated.sparql')}`);
21
- }
22
- catch {
23
- autoGen = query;
24
- }
25
- const json = JSON.parse(result);
26
- return {
27
- query,
28
- ast: json,
29
- autoGen,
30
- };
31
- },
32
- };
14
+ if (filter && !filter(file.replace('.json', ''))) {
15
+ continue;
33
16
  }
17
+ const name = file.replace(/\.json$/u, '');
18
+ yield {
19
+ name,
20
+ statics: async () => {
21
+ const query = await readFile(join(sparqlDir, `${name}.sparql`));
22
+ const sourceTracked = await readFile(join(jsonSourceTrackedDir, file));
23
+ let noSourceTracked;
24
+ try {
25
+ noSourceTracked = await readFile(join(jsonNonSourceTrackedDir, file));
26
+ }
27
+ catch {
28
+ noSourceTracked = '{}';
29
+ }
30
+ let autoGen;
31
+ try {
32
+ autoGen = await readFile(join(sparqlGeneratedDir, `${name}.sparql`));
33
+ }
34
+ catch {
35
+ autoGen = '';
36
+ }
37
+ return {
38
+ query,
39
+ astWithSource: JSON.parse(sourceTracked),
40
+ astNoSource: JSON.parse(noSourceTracked),
41
+ autoGen,
42
+ };
43
+ },
44
+ };
34
45
  }
35
46
  }
36
47
  export function* negativeTest(type, filter) {
37
- const dir = getStaticFilePath(type);
38
- const statics = fs.readdirSync(dir);
48
+ const astDir = getStaticFilePath('ast');
49
+ const sparqlGeneratedDir = join(astDir, 'sparql', type);
50
+ const statics = readdirSync(sparqlGeneratedDir);
39
51
  for (const file of statics) {
40
52
  if (file.endsWith('.sparql')) {
41
53
  if (filter && !filter(file.replace('.sparql', ''))) {
42
54
  continue;
43
55
  }
56
+ const name = file.replace(/\.sparql$/u, '');
44
57
  yield {
45
- name: file.replace(/\.sparql$/u, ''),
58
+ name,
46
59
  statics: async () => {
47
- const query = await readFile(`${dir}/${file}`);
60
+ const query = await readFile(join(sparqlGeneratedDir, file));
48
61
  return {
49
62
  query,
50
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../../lib/generators/generators.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAW/C,MAAM,SAAS,CAAC,CAAC,YAAY,CAC3B,IAA2C,EAC3C,MAAkC;IAElC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;gBAClC,OAAO,EAAE,KAAK,IAAG,EAAE;oBACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;oBAC3E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;oBAChD,IAAI,OAAe,CAAC;oBACpB,IAAI,CAAC;wBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBACnF,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,GAAG,KAAK,CAAC;oBAClB,CAAC;oBACD,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACzC,OAAO;wBACL,KAAK;wBACL,GAAG,EAAE,IAAI;wBACT,OAAO;qBACR,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AASD,MAAM,SAAS,CAAC,CAAC,YAAY,CAC3B,IAAiD,EACjD,MAAkC;IAElC,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBACnD,SAAS;YACX,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpC,OAAO,EAAE,KAAK,IAAG,EAAE;oBACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;oBAC/C,OAAO;wBACL,KAAK;qBACN,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["/* eslint-disable import/no-nodejs-modules,no-sync */\nimport * as fs from 'node:fs';\nimport { readFile } from '../fileUtils.js';\nimport { getStaticFilePath } from './utils.js';\n\ninterface PositiveTest {\n name: string;\n statics: () => Promise<{\n query: string;\n ast: unknown;\n autoGen: string;\n }>;\n}\n\nexport function* positiveTest(\n type: 'paths' | 'sparql-1-1' | 'sparql-1-2',\n filter?: (name: string) => boolean,\n): Generator<PositiveTest> {\n const dir = getStaticFilePath(type);\n const statics = fs.readdirSync(dir);\n for (const file of statics) {\n if (file.endsWith('.json')) {\n if (filter && !filter(file.replace('.json', ''))) {\n continue;\n }\n yield {\n name: file.replace(/\\.json$/u, ''),\n statics: async() => {\n const query = await readFile(`${dir}/${file.replace('.json', '.sparql')}`);\n const result = await readFile(`${dir}/${file}`);\n let autoGen: string;\n try {\n autoGen = await readFile(`${dir}/${file.replace('.json', '-generated.sparql')}`);\n } catch {\n autoGen = query;\n }\n const json: unknown = JSON.parse(result);\n return {\n query,\n ast: json,\n autoGen,\n };\n },\n };\n }\n }\n}\n\ninterface NegativeTest {\n name: string;\n statics: () => Promise<{\n query: string;\n }>;\n}\n\nexport function* negativeTest(\n type: 'sparql-1-1-invalid' | 'sparql-1-2-invalid',\n filter?: (name: string) => boolean,\n): Generator<NegativeTest> {\n const dir = getStaticFilePath(type);\n const statics = fs.readdirSync(dir);\n for (const file of statics) {\n if (file.endsWith('.sparql')) {\n if (filter && !filter(file.replace('.sparql', ''))) {\n continue;\n }\n yield {\n name: file.replace(/\\.sparql$/u, ''),\n statics: async() => {\n const query = await readFile(`${dir}/${file}`);\n return {\n query,\n };\n },\n };\n }\n }\n}\n"]}
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../../lib/generators/generators.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-nodejs-modules */\nimport { readdirSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { readFile } from '../fileUtils.js';\nimport { getStaticFilePath } from './utils.js';\n\ninterface PositiveTest {\n name: string;\n statics: () => Promise<{\n query: string;\n astWithSource: unknown;\n astNoSource: unknown;\n autoGen: string;\n }>;\n}\n\nexport function* positiveTest(\n type: 'paths' | 'sparql-1-1' | 'sparql-1-2',\n filter?: (name: string) => boolean,\n): Generator<PositiveTest> {\n const astDir = getStaticFilePath('ast');\n const jsonSourceTrackedDir = join(astDir, 'ast-source-tracked', type);\n const jsonNonSourceTrackedDir = join(astDir, 'ast-no-source-tracked', type);\n const sparqlDir = join(astDir, 'sparql', type);\n const sparqlGeneratedDir = join(astDir, 'sparql-generated', type);\n const statics = readdirSync(jsonSourceTrackedDir);\n for (const file of statics) {\n if (filter && !filter(file.replace('.json', ''))) {\n continue;\n }\n const name = file.replace(/\\.json$/u, '');\n yield {\n name,\n statics: async() => {\n const query = await readFile(join(sparqlDir, `${name}.sparql`));\n const sourceTracked = await readFile(join(jsonSourceTrackedDir, file));\n let noSourceTracked: string;\n try {\n noSourceTracked = await readFile(join(jsonNonSourceTrackedDir, file));\n } catch {\n noSourceTracked = '{}';\n }\n let autoGen: string;\n try {\n autoGen = await readFile(join(sparqlGeneratedDir, `${name}.sparql`));\n } catch {\n autoGen = '';\n }\n return {\n query,\n astWithSource: JSON.parse(sourceTracked),\n astNoSource: JSON.parse(noSourceTracked),\n autoGen,\n };\n },\n };\n }\n}\n\ninterface NegativeTest {\n name: string;\n statics: () => Promise<{\n query: string;\n }>;\n}\n\nexport function* negativeTest(\n type: 'sparql-1-1-invalid' | 'sparql-1-2-invalid',\n filter?: (name: string) => boolean,\n): Generator<NegativeTest> {\n const astDir = getStaticFilePath('ast');\n const sparqlGeneratedDir = join(astDir, 'sparql', type);\n const statics = readdirSync(sparqlGeneratedDir);\n for (const file of statics) {\n if (file.endsWith('.sparql')) {\n if (filter && !filter(file.replace('.sparql', ''))) {\n continue;\n }\n const name = file.replace(/\\.sparql$/u, '');\n yield {\n name,\n statics: async() => {\n const query = await readFile(join(sparqlGeneratedDir, file));\n return {\n query,\n };\n },\n };\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/test-utils",
3
3
  "type": "module",
4
- "version": "0.0.23",
4
+ "version": "0.0.25",
5
5
  "description": "Test utils used by the Traqula monorepo",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -26,10 +26,10 @@
26
26
  },
27
27
  "main": "dist/esm/lib/index.js",
28
28
  "files": [
29
- "dist/**/*.d.ts",
30
- "dist/**/*.js",
31
- "dist/**/*.js.map",
32
- "dist/**/package.json",
29
+ "dist/*/lib/**/*.d.ts",
30
+ "dist/*/lib/**/*.js",
31
+ "dist/*/lib/**/*.js.map",
32
+ "dist/cjs/package.json",
33
33
  "lib/generators/**/*.json",
34
34
  "lib/generators/**/*.sparql"
35
35
  ],
@@ -37,9 +37,9 @@
37
37
  "node": "^20.19.0 || >=22.12.0"
38
38
  },
39
39
  "scripts": {
40
- "build": "yarn build:ts && yarn build:transpile",
40
+ "build": "yarn build:ts && yarn build:cjs",
41
41
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\" -b",
42
- "build:transpile": "esbuild \"dist/esm/**/*.js\" --outdir=dist/cjs/lib --platform=node --format=cjs"
42
+ "build:cjs": "node \"../../node_modules/typescript/bin/tsc\" -b tsconfig.cjs.json"
43
43
  },
44
44
  "dependencies": {
45
45
  "rdf-data-factory": "^2.0.1",
@@ -48,5 +48,5 @@
48
48
  "devDependencies": {
49
49
  "@rdfjs/types": "^2.0.0"
50
50
  },
51
- "gitHead": "36ec1aae80524a84f044182811a55ebeef6d9cda"
51
+ "gitHead": "52cfb2b513294dc154febc0209ac811ceeb6785b"
52
52
  }