@hypequery/clickhouse 1.4.0-beta.1 → 1.4.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.
Files changed (125) hide show
  1. package/README.md +65 -2
  2. package/dist/cli/bin.js +65 -23
  3. package/dist/cli/generate-types.js +41 -3
  4. package/dist/core/cache/cache-manager.d.ts +4 -0
  5. package/dist/core/cache/cache-manager.d.ts.map +1 -0
  6. package/dist/core/cache/cache-manager.js +176 -0
  7. package/dist/core/cache/controller.d.ts +15 -0
  8. package/dist/core/cache/controller.d.ts.map +1 -0
  9. package/dist/core/cache/controller.js +58 -0
  10. package/dist/core/cache/key.d.ts +11 -0
  11. package/dist/core/cache/key.d.ts.map +1 -0
  12. package/dist/core/cache/key.js +26 -0
  13. package/dist/core/cache/providers/memory-lru.d.ts +31 -0
  14. package/dist/core/cache/providers/memory-lru.d.ts.map +1 -0
  15. package/dist/core/cache/providers/memory-lru.js +156 -0
  16. package/dist/core/cache/providers/noop.d.ts +7 -0
  17. package/dist/core/cache/providers/noop.d.ts.map +1 -0
  18. package/dist/core/cache/providers/noop.js +11 -0
  19. package/dist/core/cache/runtime-context.d.ts +30 -0
  20. package/dist/core/cache/runtime-context.d.ts.map +1 -0
  21. package/dist/core/cache/runtime-context.js +58 -0
  22. package/dist/core/cache/serialization.d.ts +6 -0
  23. package/dist/core/cache/serialization.d.ts.map +1 -0
  24. package/dist/core/cache/serialization.js +166 -0
  25. package/dist/core/cache/types.d.ts +52 -0
  26. package/dist/core/cache/types.d.ts.map +1 -0
  27. package/dist/core/cache/types.js +1 -0
  28. package/dist/core/cache/utils.d.ts +9 -0
  29. package/dist/core/cache/utils.d.ts.map +1 -0
  30. package/dist/core/cache/utils.js +30 -0
  31. package/dist/core/connection.d.ts.map +1 -1
  32. package/dist/core/connection.js +4 -3
  33. package/dist/core/cross-filter.d.ts +12 -9
  34. package/dist/core/cross-filter.d.ts.map +1 -1
  35. package/dist/core/cross-filter.js +8 -5
  36. package/dist/core/env/auto-client.browser.d.ts +3 -0
  37. package/dist/core/env/auto-client.browser.d.ts.map +1 -0
  38. package/dist/core/env/auto-client.browser.js +3 -0
  39. package/dist/core/env/auto-client.d.ts +9 -0
  40. package/dist/core/env/auto-client.d.ts.map +1 -0
  41. package/dist/core/env/auto-client.js +21 -0
  42. package/dist/core/features/aggregations.d.ts +18 -22
  43. package/dist/core/features/aggregations.d.ts.map +1 -1
  44. package/dist/core/features/aggregations.js +6 -6
  45. package/dist/core/features/analytics.d.ts +15 -19
  46. package/dist/core/features/analytics.d.ts.map +1 -1
  47. package/dist/core/features/analytics.js +2 -2
  48. package/dist/core/features/cross-filtering.d.ts +4 -24
  49. package/dist/core/features/cross-filtering.d.ts.map +1 -1
  50. package/dist/core/features/cross-filtering.js +0 -34
  51. package/dist/core/features/executor.d.ts +11 -9
  52. package/dist/core/features/executor.d.ts.map +1 -1
  53. package/dist/core/features/executor.js +14 -5
  54. package/dist/core/features/filtering.d.ts +32 -28
  55. package/dist/core/features/filtering.d.ts.map +1 -1
  56. package/dist/core/features/filtering.js +27 -26
  57. package/dist/core/features/joins.d.ts +7 -10
  58. package/dist/core/features/joins.d.ts.map +1 -1
  59. package/dist/core/features/pagination.d.ts +8 -10
  60. package/dist/core/features/pagination.d.ts.map +1 -1
  61. package/dist/core/features/pagination.js +15 -42
  62. package/dist/core/features/query-modifiers.d.ts +18 -21
  63. package/dist/core/features/query-modifiers.d.ts.map +1 -1
  64. package/dist/core/formatters/sql-formatter.d.ts.map +1 -1
  65. package/dist/core/formatters/sql-formatter.js +6 -0
  66. package/dist/core/join-relationships.d.ts +2 -1
  67. package/dist/core/join-relationships.d.ts.map +1 -1
  68. package/dist/core/query-builder.d.ts +69 -74
  69. package/dist/core/query-builder.d.ts.map +1 -1
  70. package/dist/core/query-builder.js +155 -114
  71. package/dist/core/tests/integration/pagination-test-tbc.js +1 -0
  72. package/dist/core/tests/integration/setup.d.ts +8 -1
  73. package/dist/core/tests/integration/setup.d.ts.map +1 -1
  74. package/dist/core/tests/integration/setup.js +55 -22
  75. package/dist/core/tests/integration/test-config.d.ts +2 -2
  76. package/dist/core/tests/integration/test-config.d.ts.map +1 -1
  77. package/dist/core/tests/integration/test-config.js +3 -4
  78. package/dist/core/tests/integration/test-data.json +190 -0
  79. package/dist/core/tests/test-utils.d.ts +18 -3
  80. package/dist/core/tests/test-utils.d.ts.map +1 -1
  81. package/dist/core/tests/test-utils.js +37 -10
  82. package/dist/core/types/builder-state.d.ts +25 -0
  83. package/dist/core/types/builder-state.d.ts.map +1 -0
  84. package/dist/core/types/builder-state.js +1 -0
  85. package/dist/core/types/select-types.d.ts +32 -0
  86. package/dist/core/types/select-types.d.ts.map +1 -0
  87. package/dist/core/types/select-types.js +1 -0
  88. package/dist/core/types/type-helpers.d.ts +5 -0
  89. package/dist/core/types/type-helpers.d.ts.map +1 -0
  90. package/dist/core/types/type-helpers.js +1 -0
  91. package/dist/core/utils/logger.d.ts +6 -0
  92. package/dist/core/utils/logger.d.ts.map +1 -1
  93. package/dist/core/utils/logger.js +7 -2
  94. package/dist/core/utils/predicate-builder.d.ts +29 -0
  95. package/dist/core/utils/predicate-builder.d.ts.map +1 -0
  96. package/dist/core/utils/predicate-builder.js +92 -0
  97. package/dist/core/utils/sql-expressions.d.ts +24 -10
  98. package/dist/core/utils/sql-expressions.d.ts.map +1 -1
  99. package/dist/core/utils/sql-expressions.js +7 -30
  100. package/dist/core/utils/streaming-helpers.d.ts +2 -0
  101. package/dist/core/utils/streaming-helpers.d.ts.map +1 -0
  102. package/dist/core/utils/streaming-helpers.js +137 -0
  103. package/dist/core/validators/filter-validator.d.ts +2 -1
  104. package/dist/core/validators/filter-validator.d.ts.map +1 -1
  105. package/dist/core/validators/value-validator.d.ts +2 -1
  106. package/dist/core/validators/value-validator.d.ts.map +1 -1
  107. package/dist/index.d.ts +11 -4
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +4 -0
  110. package/dist/types/base.d.ts +10 -15
  111. package/dist/types/base.d.ts.map +1 -1
  112. package/dist/types/clickhouse-types.d.ts +10 -7
  113. package/dist/types/clickhouse-types.d.ts.map +1 -1
  114. package/dist/types/filters.d.ts +1 -1
  115. package/dist/types/filters.d.ts.map +1 -1
  116. package/dist/types/index.d.ts +2 -0
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/types/index.js +2 -0
  119. package/dist/types/schema.d.ts +19 -0
  120. package/dist/types/schema.d.ts.map +1 -0
  121. package/dist/types/schema.js +1 -0
  122. package/package.json +14 -12
  123. package/dist/core/tests/integration/test-initializer.d.ts +0 -7
  124. package/dist/core/tests/integration/test-initializer.d.ts.map +0 -1
  125. package/dist/core/tests/integration/test-initializer.js +0 -32
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@hypequery/clickhouse",
3
- "version": "1.4.0-beta.1",
3
+ "version": "1.4.0",
4
4
  "description": "ClickHouse typescript query builder",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
8
+ "browser": {
9
+ "./dist/core/env/auto-client.js": "./dist/core/env/auto-client.browser.js"
10
+ },
8
11
  "exports": {
9
12
  ".": {
10
13
  "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.js"
12
16
  }
13
17
  },
14
18
  "license": "Apache-2.0",
@@ -20,11 +24,12 @@
20
24
  "verify-build": "node scripts/verify-build.js",
21
25
  "diagnose-ci": "node scripts/diagnose-ci.js",
22
26
  "dev": "tsc --watch",
23
- "test": "npm run test:unit",
24
- "test:unit": "jest --testPathIgnorePatterns='integration' --config=jest.config.cjs",
27
+ "test": "npm run test:types && npm run test:unit",
28
+ "test:unit": "vitest run --config vitest.config.ts",
29
+ "test:types": "tsc --project tsconfig.type-tests.json",
25
30
  "test:integration": "node scripts/run-integration-tests.js",
26
- "test:watch": "jest --testPathIgnorePatterns='integration' --watch --config=jest.config.cjs",
27
- "test:coverage": "jest --coverage --config=jest.config.cjs",
31
+ "test:watch": "vitest watch --config vitest.config.ts",
32
+ "test:coverage": "vitest run --coverage --config vitest.config.ts",
28
33
  "test:cli": "node scripts/test-cli-integration.js",
29
34
  "lint": "eslint src/**/*.ts",
30
35
  "semantic-release": "npx semantic-release",
@@ -52,7 +57,6 @@
52
57
  }
53
58
  },
54
59
  "devDependencies": {
55
- "@babel/plugin-transform-modules-commonjs": "^7.26.3",
56
60
  "@clickhouse/client": "^1.11.2",
57
61
  "@clickhouse/client-common": "^1.11.2",
58
62
  "@clickhouse/client-web": "^1.11.2",
@@ -62,17 +66,15 @@
62
66
  "@semantic-release/github": "^9.2.6",
63
67
  "@semantic-release/npm": "^11.0.2",
64
68
  "@semantic-release/release-notes-generator": "^12.1.0",
65
- "@types/jest": "^29.5.11",
66
69
  "@types/node": "^18.19.80",
67
70
  "glob": "^11.0.3",
68
- "jest": "^29.7.0",
69
- "jest-esbuild": "^0.3.0",
70
71
  "semantic-release": "^23.0.2",
71
- "ts-jest": "^29.1.1",
72
72
  "ts-node": "^10.9.0",
73
73
  "typedoc": "^0.28.1",
74
74
  "typedoc-plugin-markdown": "^4.6.0",
75
- "typescript": "^5.7.3"
75
+ "typescript": "^5.7.3",
76
+ "@vitest/coverage-v8": "^2.1.6",
77
+ "vitest": "^2.1.6"
76
78
  },
77
79
  "ts-node": {
78
80
  "esm": true,
@@ -1,7 +0,0 @@
1
- /**
2
- * Common initialization for all integration tests
3
- * Import this at the beginning of each test file to ensure consistent setup
4
- */
5
- export declare const skipIntegrationTests: () => boolean;
6
- export declare const initializeForTest: () => Promise<void>;
7
- //# sourceMappingURL=test-initializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-initializer.d.ts","sourceRoot":"","sources":["../../../../src/core/tests/integration/test-initializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,oBAAoB,eAEhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,IAAI,CAqBtD,CAAC"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Common initialization for all integration tests
3
- * Import this at the beginning of each test file to ensure consistent setup
4
- */
5
- import { startClickHouseContainer, waitForClickHouse, ensureConnectionInitialized, setupTestDatabase } from './setup.js';
6
- export const skipIntegrationTests = () => {
7
- return process.env.SKIP_INTEGRATION_TESTS === 'true' || process.env.CI === 'true';
8
- };
9
- export const initializeForTest = async () => {
10
- if (skipIntegrationTests()) {
11
- return;
12
- }
13
- try {
14
- // Initialize the connection
15
- ensureConnectionInitialized();
16
- // Make sure container is running
17
- await startClickHouseContainer();
18
- // Wait for ClickHouse to be ready
19
- await waitForClickHouse();
20
- // Set up the test database
21
- await setupTestDatabase();
22
- }
23
- catch (error) {
24
- console.error('Failed to initialize test environment:', error);
25
- throw error;
26
- }
27
- };
28
- // Automatically initialize when this module is imported
29
- initializeForTest().catch(error => {
30
- console.error('Test initialization failed:', error);
31
- process.exit(1);
32
- });