{
  "name": "@dafengzhen/runtime-variants",
  "version": "0.1.4",
  "description": "Runtime variants engine for feature gating and versioned configuration resolution based on environment, user, experiments, and context.",
  "keywords": [
    "ab-testing",
    "configuration",
    "context-aware",
    "experiments",
    "feature-flags",
    "feature-gates",
    "gating",
    "rollout",
    "rule-engine",
    "runtime-config",
    "versioned-object",
    "versioning"
  ],
  "homepage": "https://github.com/dafengzhen/runtime-variants#readme",
  "bugs": {
    "url": "https://github.com/dafengzhen/runtime-variants/issues"
  },
  "license": "MIT",
  "author": "dafengzhen",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/dafengzhen/runtime-variants.git"
  },
  "files": [
    "dist"
  ],
  "type": "module",
  "main": "./dist/cjs/modern/index.js",
  "module": "./dist/esm/modern/index.js",
  "types": "./dist/types/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/types/index.d.ts",
      "import": "./dist/esm/modern/index.js",
      "require": "./dist/cjs/modern/index.js",
      "default": "./dist/esm/modern/index.js"
    },
    "./flags": {
      "import": "./dist/esm/modern/flags/index.js",
      "require": "./dist/cjs/modern/flags/index.js",
      "default": "./dist/esm/modern/flags/index.js"
    },
    "./versioned": {
      "import": "./dist/esm/modern/versioned/index.js",
      "require": "./dist/cjs/modern/versioned/index.js",
      "default": "./dist/esm/modern/versioned/index.js"
    }
  },
  "scripts": {
    "build:types": "tsc -p tsconfig.types.json",
    "build:modern": "parcel build src/index.ts --target modern-esm --target modern-cjs",
    "build:legacy": "parcel build src/index.ts --target legacy-esm --target legacy-cjs",
    "build:dev": "parcel build src/index.ts --target modern-esm-dev --target modern-cjs-dev --target legacy-esm-dev --target legacy-cjs-dev",
    "build": "npm run build:types && npm run build:modern && npm run build:legacy && npm run build:dev",
    "prepare": "husky install",
    "test": "jest",
    "watch": "parcel watch",
    "fmt": "oxfmt",
    "fmt:check": "oxfmt --check",
    "lint": "oxlint",
    "lint:fix": "oxlint --fix",
    "lint:fmt": "npm run lint:fix && npm run fmt"
  },
  "dependencies": {
    "@swc/helpers": "^0.5.18",
    "browserslist-config-baseline": "^0.5.0"
  },
  "devDependencies": {
    "@babel/core": "^7.29.0",
    "@babel/preset-env": "^7.29.0",
    "@babel/preset-typescript": "^7.28.5",
    "@commitlint/cli": "^20.4.1",
    "@commitlint/config-conventional": "^20.4.1",
    "@commitlint/prompt-cli": "^20.4.1",
    "@dafengzhen/event-bus": "^0.1.10",
    "@jest/globals": "^30.2.0",
    "@parcel/packager-ts": "^2.16.4",
    "@parcel/transformer-typescript-types": "^2.16.4",
    "@types/node": "^25.2.0",
    "babel-jest": "^30.2.0",
    "husky": "^9.1.7",
    "jest": "^30.2.0",
    "jest-environment-jsdom": "^30.2.0",
    "oxfmt": "^0.28.0",
    "oxlint": "^1.43.0",
    "parcel": "^2.16.4",
    "ts-node": "^10.9.2",
    "typescript": "^5.9.3"
  },
  "peerDependencies": {
    "@dafengzhen/event-bus": "^0.1.10"
  },
  "lint-staged": {
    "*.{js,jsx,ts,tsx,mjs,cjs}": "npm run lint",
    "*": "npm run fmt --no-error-on-unmatched-pattern"
  },
  "targets": {
    "legacy-cjs": {
      "distDir": "./dist/cjs/legacy",
      "engines": {
        "browsers": ">0.3%, Chrome >= 87, ChromeAndroid >= 87, Edge >= 87, Firefox >= 83, FirefoxAndroid >= 83, Safari >= 14, iOS >= 14"
      },
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": true,
      "outputFormat": "commonjs",
      "sourceMap": true
    },
    "legacy-cjs-dev": {
      "distDir": "./dist/cjs/legacy-dev",
      "engines": {
        "browsers": ">0.3%, Chrome >= 87, ChromeAndroid >= 87, Edge >= 87, Firefox >= 83, FirefoxAndroid >= 83, Safari >= 14, iOS >= 14"
      },
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": false,
      "outputFormat": "commonjs",
      "sourceMap": true
    },
    "legacy-esm": {
      "distDir": "./dist/esm/legacy",
      "engines": {
        "browsers": ">0.3%, Chrome >= 87, ChromeAndroid >= 87, Edge >= 87, Firefox >= 83, FirefoxAndroid >= 83, Safari >= 14, iOS >= 14"
      },
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": true,
      "outputFormat": "esmodule",
      "sourceMap": true
    },
    "legacy-esm-dev": {
      "distDir": "./dist/esm/legacy-dev",
      "engines": {
        "browsers": ">0.3%, Chrome >= 87, ChromeAndroid >= 87, Edge >= 87, Firefox >= 83, FirefoxAndroid >= 83, Safari >= 14, iOS >= 14"
      },
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": false,
      "outputFormat": "esmodule",
      "sourceMap": true
    },
    "modern-cjs": {
      "distDir": "./dist/cjs/modern",
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": true,
      "outputFormat": "commonjs",
      "sourceMap": true
    },
    "modern-cjs-dev": {
      "distDir": "./dist/cjs/modern-dev",
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": false,
      "outputFormat": "commonjs",
      "sourceMap": true
    },
    "modern-esm": {
      "distDir": "./dist/esm/modern",
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": true,
      "outputFormat": "esmodule",
      "sourceMap": true
    },
    "modern-esm-dev": {
      "distDir": "./dist/esm/modern-dev",
      "includeNodeModules": {
        "@dafengzhen/event-bus": false
      },
      "isLibrary": true,
      "optimize": false,
      "outputFormat": "esmodule",
      "sourceMap": true
    }
  }
}
