mirror of
https://github.com/appium/appium.git
synced 2026-10-24 01:28:55 +08:00
f33b87bbf9
`@appium/schema` is a package which was extracted from `appium`. It _only_ contains the schema. The impetus here was to avoid cyclical dependencies, since `appium` depends on `@appium/types`, and `@appium/types` depends on the schema. This package breaks the cycle. The `scripts/generate-schema-json.js` (which converts the compiled JS schema file into JSON) has moved into this package, and the generated JSON file is now under version control. This is because the `generate-schema-types.js` script (previously `generate-schema-declarations`) depends on it, and `@appium/types` depends on the generated types. The generated types are _also_ under version control. I do not expect the schema to change often, so I believe the tradeoff to be worth it. ## @appium/schema `lib/appium-config-schema.js` is the "single source of truth" for the schema. ## appium - Removed schema source - Removed namespaces from internal types because they suck (see change to `types/index.d.ts`) - Removed unused `continuation-local-storage` - Add dep for `@appium/schema` - Added a TS project dependency on `@appium/schema` ## @appium/types - The "sources" have moved from `src` to `lib` for consistency. - `lib/appium-config.ts` (the generated types) are now under version control. - `lib/schema/` has been removed (it previously held the JSON schema artifact) - `scripts/generate-schema-declarations.js` becomes `scripts/generate-schema-types.js` - Updated scripts in `package.json` - Added dep for `@appium/schema` - Added a TS project dependency on `@appium/schema` ## Other - Reorganize root `tsconfig.json`; add `schema` reference; remove unused `noEmit: true` - Sort root `package.json` - Remove schema JSON and schema declarations scripts, since those are now both handled in their respective packages - Remove `lint-staged` config for schema file, since it didn't work right anyway (still need to do something about this, but probably doesn't need to be in a precommit hook) - Remove stuff from `.gitignore`
32 lines
591 B
JSON
32 lines
591 B
JSON
{
|
|
"compilerOptions": {
|
|
"baseUrl": "./packages",
|
|
"paths": {
|
|
"@appium/base-driver": ["base-driver"],
|
|
"@appium/schema": ["schema"],
|
|
"@appium/support": ["support"],
|
|
"@appium/types": ["types"],
|
|
"appium": ["appium"]
|
|
}
|
|
},
|
|
"exclude": ["packages/**/test/**", "packages/**/build/**"],
|
|
"files": [],
|
|
"references": [
|
|
{
|
|
"path": "packages/types"
|
|
},
|
|
{
|
|
"path": "packages/support"
|
|
},
|
|
{
|
|
"path": "packages/base-driver"
|
|
},
|
|
{
|
|
"path": "packages/appium"
|
|
},
|
|
{
|
|
"path": "packages/schema"
|
|
}
|
|
]
|
|
}
|