{
  "name": "wavedrom",
  "version": "3.6.1",
  "description": "Digital timing diagram in your browser",
  "homepage": "http://wavedrom.com",
  "author": "alex.drom@gmail.com",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/wavedrom/wavedrom.git"
  },
  "bugs": {
    "url": "https://github.com/wavedrom/wavedrom/issues"
  },
  "main": "./lib",
  "bin": {
    "wavedrom": "bin/cli.js"
  },
  "exports": {
    ".": "./lib/index.js",
    "./package.json": "./package.json",
    "./skins/*": "./skins/*"
  },
  "unpkg": "wavedrom.unpkg.min.js",
  "jsdelivr": "wavedrom.unpkg.min.js",
  "files": [
    "bin/cli.js",
    "wavedrom.js",
    "wavedrom.min.js",
    "wavedrom.unpkg.js",
    "wavedrom.unpkg.min.js",
    "LICENSE",
    "lib/**",
    "skins/**"
  ],
  "scripts": {
    "test": "npm-run-all eslint nyc",
    "eslint": "eslint lib/*.js",
    "nyc": "nyc -r=lcov -r=text mocha test",
    "dist": "esbuild ./lib/wave-drom.js --bundle --format=iife --outfile=wavedrom.js",
    "watch.dist": "esbuild ./lib/wave-drom.js --bundle --format=iife --outfile=wavedrom.js --watch",
    "dist.min": "node -e \"const banner = require('child_process').execSync('node ./bin/header.js < /dev/null').toString(); require('child_process').execSync('esbuild ./lib/wave-drom.js --bundle --format=iife --minify --outfile=wavedrom.min.js --banner:js=\\\"' + banner.trim() + '\\\"')\"",
    "unpkg": "esbuild ./lib/index.js --bundle --format=iife --global-name=wavedrom --outfile=wavedrom.unpkg.js",
    "unpkg.min": "node -e \"const banner = require('child_process').execSync('node ./bin/header.js < /dev/null').toString(); require('child_process').execSync('esbuild ./lib/index.js --bundle --format=iife --global-name=wavedrom --minify --outfile=wavedrom.unpkg.min.js --banner:js=\\\"' + banner.trim() + '\\\"')\"",
    "prepare": "npm-run-all test dist dist.min unpkg unpkg.min",
    "clean": "node -e \"const fs = require('fs'); ['wavedrom.js', 'coverage', '.nyc_output'].forEach(p => fs.rmSync(p, { recursive: true, force: true })); fs.readdirSync('.').forEach(f => { if (f.startsWith('wavedrom.') && f.endsWith('.js')) { fs.rmSync(f, { force: true }); } })\"",
    "skins": "node -e \"['default', 'narrow', 'dark', 'lowkey', 'narrower', 'narrowerer'].forEach(S => require('child_process').execSync('node bin/svg2js.js -i unpacked/skins/' + S + '.svg > skins/' + S + '.js'))\""
  },
  "keywords": [
    "waveform",
    "verilog",
    "RTL"
  ],
  "engines": {
    "node": ">=20"
  },
  "devDependencies": {
    "@drom/eslint-config": "^0.12.0",
    "chai": "6.2.2",
    "esbuild": "0.28.0",
    "eslint": "^8.57.1",
    "mocha": "11.7.5",
    "npm-run-all": "^4.1.5",
    "nyc": "18.0.0"
  },
  "dependencies": {
    "bit-field": "^1.9.0",
    "json5": "^2.2.3",
    "logidrom": "^0.3.1",
    "onml": "^2.1.0",
    "tspan": "^0.4.0"
  },
  "eslintConfig": {
    "extends": "@drom/eslint-config/eslint4/node4",
    "rules": {
      "camelcase": 0
    }
  }
}
