{
  "name": "@stencila/schema",
  "version": "1.7.1",
  "description": "Extensions to schema.org to support semantic, composable, parameterize-able and executable documents",
  "files": [
    "dist"
  ],
  "source": "ts/index.ts",
  "main": "dist/index.js",
  "module": "dist/index.mjs",
  "browser": "dist/browser/schema.mjs",
  "unpkg": "dist/browser/schema.umd.js",
  "types": "dist/ts/index.d.ts",
  "scripts": {
    "format": "npx prettier --write './**/*.{js,json,md,ts,yaml}'",
    "lint": "npx eslint 'ts/**/*.{js,ts}' --fix",
    "test": "npm run build:jsonschema && npm run build:ts && npm run build:jsonld && jest",
    "test:cover": "npm test -- --coverage",
    "build": "npm run build:jsonschema && npm run build:ts && npm run build:jsonld && npm run build:python && npm run build:r && npm run build:rust && npm run build:vscode && npm run build:dist",
    "build:jsonschema": "ts-node ts/schema.ts",
    "build:jsonld": "ts-node ts/bindings/jsonld.ts",
    "build:python": "ts-node ts/bindings/python.ts",
    "build:r": "ts-node ts/bindings/r.ts",
    "build:rust": "ts-node ts/bindings/rust.ts",
    "build:ts": "ts-node ts/bindings/typescript.ts",
    "build:vscode": "ts-node ts/bindings/vscode.ts",
    "build:browser": "microbundle --tsconfig tsconfig.browser.json -o dist/browser --format es,umd ts/index.browser.ts",
    "build:node": "microbundle --tsconfig tsconfig.lib.json --target node --format es,cjs ts/index.ts",
    "build:dist": "npm run build:node && npm run build:browser && cp public/*.schema.json dist && cp public/*.jsonld dist",
    "docs": "npm run docs:md && npm run docs:api",
    "docs:md": "ts-node ts/docs.ts",
    "docs:api": "ts-node ts/bindings/typescript.ts && typedoc ts/index.ts --readme ts/README.md --tsconfig tsconfig.docs.json --out ts/docs/",
    "clean": "rimraf coverage dist public ts/types.ts ts/docs python/docs r/docs"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/stencila/schema.git"
  },
  "author": "Contributors https://github.com/stencila/schema/contributors",
  "license": "Apache-2.0",
  "bugs": {
    "url": "https://github.com/stencila/schema/issues"
  },
  "homepage": "https://github.com/stencila/schema#readme",
  "devDependencies": {
    "@semantic-release/exec": "5.0.0",
    "@stencila/dev-config": "2.0.7",
    "@stencila/encoda": "0.116.1",
    "@stencila/logga": "4.0.0",
    "@stoplight/json-ref-resolver": "3.1.2",
    "@types/fs-extra": "9.0.11",
    "@types/jest": "26.0.23",
    "@types/js-yaml": "4.0.1",
    "@types/lodash": "4.14.168",
    "@types/node": "15.0.2",
    "@types/prettier": "2.2.3",
    "@types/toposort": "2.0.3",
    "ajv": "8.3.0",
    "ajv-formats": "2.1.0",
    "change-case": "4.1.2",
    "del": "6.0.0",
    "fs-extra": "10.0.0",
    "globby": "11.0.3",
    "got": "11.8.2",
    "jest": "26.6.3",
    "jest-file-snapshot": "0.5.0",
    "js-yaml": "4.1.0",
    "json-schema": "0.3.0",
    "lodash": "4.17.21",
    "microbundle": "0.13.0",
    "rimraf": "3.0.2",
    "toposort": "2.0.2",
    "ts-jest": "26.5.6",
    "ts-node": "9.1.1",
    "typedoc": "0.20.36",
    "typescript": "4.2.4"
  },
  "jest": {
    "preset": "ts-jest",
    "testEnvironment": "node",
    "testMatch": [
      "<rootDir>/ts/**/*.test.[jt]s?(x)"
    ],
    "modulePathIgnorePatterns": [
      "<rootDir>/dist"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/ts/__tests__/matchers.ts"
    ],
    "collectCoverageFrom": [
      "ts/util/*.ts",
      "!ts/util/index.ts"
    ],
    "watchPathIgnorePatterns": [
      "__file_snapshots__",
      "public",
      "dist"
    ]
  },
  "commitlint": {
    "extends": [
      "@commitlint/config-conventional"
    ],
    "rules": {
      "scope-case": [
        2,
        "always",
        "sentence-case"
      ],
      "subject-case": [
        2,
        "always",
        "sentence-case"
      ]
    }
  },
  "eslintConfig": {
    "extends": "@stencila/eslint-config",
    "ignorePatterns": [
      "*.test.ts"
    ],
    "rules": {
      "@typescript-eslint/no-unsafe-assignment": "warn",
      "@typescript-eslint/no-unsafe-call": "warn",
      "@typescript-eslint/no-unsafe-member-access": "warn",
      "@typescript-eslint/no-unsafe-return": "warn",
      "@typescript-eslint/restrict-template-expressions": "warn"
    },
    "env": {
      "es6": true,
      "node": true,
      "jest": true
    }
  },
  "eslintIgnore": [
    "public",
    "dist",
    "docs",
    "__file_snapshots__"
  ],
  "husky": {
    "hooks": {
      "pre-commit": "pretty-quick --staged",
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "prettier": "@stencila/dev-config/prettier-config.json",
  "release": {
    "extends": "@stencila/semantic-release-config",
    "plugins": [
      "@semantic-release/commit-analyzer",
      "@semantic-release/release-notes-generator",
      "@semantic-release/changelog",
      [
        "@semantic-release/exec",
        {
          "prepareCmd": "./.ci/prepare-release.sh ${nextRelease.version}"
        }
      ],
      "@semantic-release/npm",
      [
        "@semantic-release/git",
        {
          "assets": [
            "CHANGELOG.md",
            "package.json",
            "package-lock.json",
            "python/stencila/schema/types.py",
            "python/setup.py",
            "r/R/types.R",
            "r/NAMESPACE",
            "r/DESCRIPTION",
            "rust/src/types.rs",
            "rust/Cargo.toml",
            "rust/Cargo.lock",
            ".vscode/settings.json"
          ]
        }
      ],
      [
        "@semantic-release/github",
        {
          "assets": [
            {
              "path": "docs.tar.gz"
            }
          ]
        }
      ]
    ]
  },
  "renovate": {
    "extends": [
      "@stencila"
    ],
    "schedule": [
      "before 1am on Monday"
    ]
  }
}
