mirror of
https://github.com/appium/appium.git
synced 2026-02-22 19:29:49 -06:00
`@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`
187 lines
6.8 KiB
JSON
187 lines
6.8 KiB
JSON
{
|
|
"name": "appium-monorepo",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"description": "Automation for Apps.",
|
|
"keywords": [
|
|
"automation",
|
|
"javascript",
|
|
"selenium",
|
|
"webdriver",
|
|
"ios",
|
|
"android",
|
|
"firefoxos",
|
|
"testing"
|
|
],
|
|
"homepage": "https://appium.io",
|
|
"bugs": {
|
|
"url": "https://github.com/appium/appium/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/appium/appium.git"
|
|
},
|
|
"license": "Apache-2.0",
|
|
"author": "https://github.com/appium",
|
|
"scripts": {
|
|
"build": "run-s build:distfiles build:types",
|
|
"build:distfiles": "lerna run --parallel --prefix --concurrency=8 build",
|
|
"build:loose": "run-s -c build:distfiles build:types || true",
|
|
"build:types": "tsc -b",
|
|
"clean": "run-s clean:*",
|
|
"clean:distfiles": "npx rimraf \"packages/*/build\"",
|
|
"clean:monorepo": "npx rimraf node_modules package-lock.json",
|
|
"clean:packages": "lerna clean -y && npx rimraf \"packages/*/package-lock.json\"",
|
|
"clean:types": "tsc -b --clean",
|
|
"dev": "lerna run --parallel --prefix --concurrency=8 dev",
|
|
"dev:types": "tsc -b --watch",
|
|
"doctor": "node ./packages/doctor",
|
|
"e2e-test": "lerna run --parallel --max-buffer=128 test:e2e",
|
|
"generate-docs": "lerna run --scope=appium generate-docs",
|
|
"postinstall": "npm run build:loose",
|
|
"install-fake-driver": "npm start -- driver install --source=local ./packages/fake-driver",
|
|
"lint": "eslint .",
|
|
"lint:fix": "npm run lint -- --fix",
|
|
"precommit-lint": "lint-staged",
|
|
"precommit-msg": "echo 'Pre-commit checks...'",
|
|
"prepublishOnly": "npm run build",
|
|
"reinstall": "npm run clean && npm install",
|
|
"start": "appium",
|
|
"sync-pkgs": "run-p sync-pkgs:*",
|
|
"sync-pkgs:appium-readme": "sync-monorepo-packages --force --no-package-json --packages=packages/appium README.md",
|
|
"sync-pkgs:common-fields": "sync-monorepo-packages --fields=author,license,bugs,homepage,engines",
|
|
"sync-pkgs:keywords": "sync-monorepo-packages --field=keywords --packages=\"packages/*\" --packages=\"!packages/eslint-config-appium\" --packages=\"!packages/types\"",
|
|
"sync-pkgs:license": "sync-monorepo-packages --force --no-package-json LICENSE",
|
|
"pretest": "npm run build",
|
|
"test": "lerna run test",
|
|
"posttest": "npm run lint",
|
|
"test:appium": "lerna run --scope=appium test",
|
|
"test:base-driver": "lerna run --scope=@appium/base-driver test",
|
|
"pretest:ci": "npm run build:distfiles",
|
|
"test:ci": "lerna run test",
|
|
"test:doctor": "lerna run --scope=@appium/doctor test",
|
|
"test:e2e:appium": "lerna run --scope=appium test:e2e",
|
|
"test:e2e:base-driver": "lerna run --scope=@appium/base-driver test:e2e",
|
|
"test:e2e:fake-driver": "lerna run --scope=@appium/fake-driver test:e2e",
|
|
"test:e2e:gulp-plugins": "lerna run --scope=@appium/gulp-plugins test:e2e",
|
|
"test:e2e:opencv": "lerna run --scope=@appium/opencv test:e2e",
|
|
"test:e2e:support": "lerna run --scope=@appium/support test:e2e",
|
|
"test:fake-driver": "lerna run --scope=@appium/fake-driver test",
|
|
"test:gulp-plugins": "lerna run --scope=@appium/gulp-plugins test",
|
|
"test:opencv": "lerna run --scope=@appium/opencv test",
|
|
"test:support": "lerna run --scope=@appium/support test",
|
|
"test:test-support": "lerna run --scope=@appium/test-support test",
|
|
"uninstall-fake-driver": "npm start -- driver uninstall fake",
|
|
"upload": "gulp github-upload",
|
|
"preversion": "npm run sync-pkgs && git add -A packages/appium/README.md packages/*/package.json && npm run build:schema",
|
|
"zip": "zip -qr ./appium.zip ./packages/appium",
|
|
"zip-and-upload": "run-s zip upload"
|
|
},
|
|
"pre-commit": [
|
|
"precommit-msg",
|
|
"precommit-lint"
|
|
],
|
|
"lint-staged": {
|
|
"*.js": "eslint --fix"
|
|
},
|
|
"dependencies": {
|
|
"@appium/base-driver": "file:packages/base-driver",
|
|
"@appium/doctor": "file:packages/doctor",
|
|
"@appium/eslint-config-appium": "file:packages/eslint-config-appium",
|
|
"@appium/fake-driver": "file:packages/fake-driver",
|
|
"@appium/gulp-plugins": "file:packages/gulp-plugins",
|
|
"@appium/opencv": "file:packages/opencv",
|
|
"@appium/schema": "file:packages/schema",
|
|
"@appium/support": "file:packages/support",
|
|
"@appium/test-support": "file:packages/test-support",
|
|
"@appium/types": "file:packages/types",
|
|
"appium": "file:packages/appium"
|
|
},
|
|
"devDependencies": {
|
|
"@appium/fake-plugin": "1.3.1",
|
|
"@babel/cli": "7.17.6",
|
|
"@babel/core": "7.17.9",
|
|
"@babel/eslint-parser": "7.17.0",
|
|
"@babel/plugin-transform-runtime": "7.17.0",
|
|
"@babel/preset-env": "7.16.11",
|
|
"@babel/register": "7.17.7",
|
|
"@babel/runtime": "7.17.9",
|
|
"@colors/colors": "1.5.0",
|
|
"@types/archiver": "5.3.1",
|
|
"@types/argparse": "2.0.10",
|
|
"@types/async-lock": "1.1.3",
|
|
"@types/base64-stream": "1.0.2",
|
|
"@types/bluebird": "3.5.36",
|
|
"@types/chai": "4.3.0",
|
|
"@types/chai-as-promised": "7.1.5",
|
|
"@types/express": "4.17.13",
|
|
"@types/fancy-log": "1.3.1",
|
|
"@types/find-root": "1.1.2",
|
|
"@types/gulp": "4.0.9",
|
|
"@types/jsftp": "2.1.2",
|
|
"@types/json-schema": "7.0.11",
|
|
"@types/klaw": "3.0.3",
|
|
"@types/lockfile": "1.0.2",
|
|
"@types/method-override": "0.0.32",
|
|
"@types/mocha": "9.1.0",
|
|
"@types/mv": "2.1.2",
|
|
"@types/ncp": "2.0.5",
|
|
"@types/node": "16.11.26",
|
|
"@types/npmlog": "4.1.4",
|
|
"@types/pluralize": "0.0.29",
|
|
"@types/pngjs": "6.0.1",
|
|
"@types/rimraf": "3.0.2",
|
|
"@types/semver": "7.3.9",
|
|
"@types/serve-favicon": "2.5.3",
|
|
"@types/shell-quote": "1.7.1",
|
|
"@types/sinon": "10.0.11",
|
|
"@types/sinon-chai": "3.2.8",
|
|
"@types/teen_process": "1.16.0",
|
|
"@types/through2": "2.0.36",
|
|
"@types/uuid": "8.3.4",
|
|
"@wdio/types": "7.19.1",
|
|
"asyncbox": "2.9.2",
|
|
"babel-plugin-istanbul": "6.1.1",
|
|
"babel-plugin-source-map-support": "2.1.3",
|
|
"chai": "4.3.6",
|
|
"chai-as-promised": "7.1.1",
|
|
"chai-webdriverio-async": "2.6.0",
|
|
"eslint": "7.32.0",
|
|
"eslint-find-rules": "4.1.0",
|
|
"eslint-plugin-import": "2.26.0",
|
|
"eslint-plugin-mocha": "9.0.0",
|
|
"eslint-plugin-promise": "6.0.0",
|
|
"fancy-log": "2.0.0",
|
|
"finalhandler": "1.2.0",
|
|
"get-port": "5.1.1",
|
|
"gulp": "4.0.2",
|
|
"handlebars": "4.7.7",
|
|
"json-schema-to-typescript": "10.1.5",
|
|
"lerna": "4.0.0",
|
|
"lint-staged": "12.3.7",
|
|
"log-symbols": "4.1.0",
|
|
"mjpeg-server": "0.3.1",
|
|
"mocha": "9.2.2",
|
|
"npm-run-all": "4.1.5",
|
|
"pre-commit": "1.2.2",
|
|
"rewiremock": "3.14.3",
|
|
"serve-static": "1.15.0",
|
|
"sinon": "13.0.1",
|
|
"sinon-chai": "3.7.0",
|
|
"sync-monorepo-packages": "0.3.4",
|
|
"through2": "4.0.2",
|
|
"type-fest": "2.12.2",
|
|
"typescript": "4.6.3",
|
|
"validate.js": "0.13.1",
|
|
"webdriverio": "7.19.3",
|
|
"yaml-js": "0.3.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=12",
|
|
"npm": ">=6"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
}
|
|
}
|