Skip to content

Commit 61ba1d8

Browse files
authored
feat: es-schema module poc (#232)
* feat: add @elastic/es-schemas workspace package * refactor: rewrite ES API imports to @elastic/es-schemas * chore: wire workspace, build scripts, release-please * chore: update notice
1 parent 67eb4b5 commit 61ba1d8

113 files changed

Lines changed: 176 additions & 62 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/release-please-config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"extra-files": [
1111
"src/cli.ts"
1212
]
13+
},
14+
"packages/es-schemas": {
15+
"component": "es-schemas",
16+
"release-type": "node"
1317
}
1418
},
1519
"plugins": [

NOTICE.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4343
THE SOFTWARE.
4444

4545

46+
------------------------------------------------------------------------
47+
@elastic/config-resolver@0.1.0
48+
License: UNLICENSED
49+
------------------------------------------------------------------------
50+
51+
# @elastic/config-resolver
52+
53+
Expression resolver used by the [Elastic CLI](https://github.com/elastic/cli)
54+
config pipeline. Walks arbitrary JSON-like values and replaces strings of the
55+
form `$(name:params)` with values fetched from a pluggable set of resolvers.
56+
57+
Built-in resolvers: `file`, `env`, `cmd`, `keychain` (macOS), `secret_service`
58+
(Linux), `pass`, `credential_manager` (Windows).
59+
60+
Additional resolvers can be registered at runtime via `registerResolver`.
61+
62+
Published in-tree as a private workspace package. This is not currently
63+
released to the public npm registry; depend on it through the workspace.
64+
65+
66+
------------------------------------------------------------------------
67+
@elastic/es-schemas@0.1.0
68+
License: Apache-2.0
69+
Repository: https://github.com/elastic/cli
70+
Publisher: Elastic Client Library Maintainers
71+
------------------------------------------------------------------------
72+
73+
4674
------------------------------------------------------------------------
4775
@elastic/transport@9.3.5
4876
License: Apache-2.0

package-lock.json

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,13 @@
66
"bin": {
77
"elastic": "dist/cli.js"
88
},
9+
"workspaces": [
10+
"packages/*"
11+
],
912
"scripts": {
1013
"build": "tsc -b",
1114
"test": "npm run build && npm run test:unit && npm run test:license",
12-
"test:unit": "node --import tsx/esm --test --experimental-test-coverage --test-coverage-lines=90 --test-coverage-branches=90 --test-coverage-functions=90 --test-coverage-include='src/**/*.ts' --test-coverage-include='packages/*/src/**/*.ts' --test-coverage-exclude='src/es/apis/schemas/**' --test-coverage-exclude='src/cloud/apis/**' --test-coverage-exclude='src/es/apis.ts' --test-coverage-exclude='src/cloud/apis.ts' --test-coverage-exclude='src/cloud/serverless-apis.ts' --test-coverage-exclude='node_modules/**'",
15+
"test:unit": "node --import tsx/esm --test --experimental-test-coverage --test-coverage-lines=90 --test-coverage-branches=90 --test-coverage-functions=90 --test-coverage-include='src/**/*.ts' --test-coverage-include='packages/*/src/**/*.ts' --test-coverage-exclude='src/cloud/apis/**' --test-coverage-exclude='src/es/apis.ts' --test-coverage-exclude='src/cloud/apis.ts' --test-coverage-exclude='src/cloud/serverless-apis.ts' --test-coverage-exclude='node_modules/**'",
1316
"test:lint": "eslint src packages",
1417
"codegen:functional": "npx tsx codegen/functional/index.ts --tests-dir ../elasticsearch-clients-tests/tests",
1518
"test:functional:es": "bash test/functional/es/run.sh",
@@ -49,11 +52,9 @@
4952
"directories": {
5053
"test": "test"
5154
},
52-
"workspaces": [
53-
"packages/*"
54-
],
5555
"dependencies": {
5656
"@elastic/config-resolver": "*",
57+
"@elastic/es-schemas": "*",
5758
"@elastic/transport": "^9.3.5",
5859
"cli-table3": "^0.6.5",
5960
"commander": "^14.0.3",

packages/es-schemas/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dist/
2+
tsconfig.tsbuildinfo

packages/es-schemas/package.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"name": "@elastic/es-schemas",
3+
"version": "0.1.0",
4+
"description": "Zod schemas for Elasticsearch API request validation.",
5+
"type": "module",
6+
"main": "dist/index.js",
7+
"types": "dist/index.d.ts",
8+
"exports": {
9+
".": {
10+
"types": "./src/index.ts",
11+
"import": "./dist/index.js"
12+
},
13+
"./*.js": {
14+
"types": "./src/*.ts",
15+
"import": "./dist/*.js"
16+
}
17+
},
18+
"files": [
19+
"dist",
20+
"src"
21+
],
22+
"scripts": {
23+
"build": "tsc"
24+
},
25+
"license": "Apache-2.0",
26+
"author": {
27+
"name": "Elastic Client Library Maintainers",
28+
"company": "Elastic BV"
29+
},
30+
"repository": {
31+
"type": "git",
32+
"url": "git+https://github.com/elastic/cli.git",
33+
"directory": "packages/es-schemas"
34+
},
35+
"peerDependencies": {
36+
"zod": "^4.0.0"
37+
}
38+
}

0 commit comments

Comments
 (0)