{
   "name": "data-dashboard",
   "version": "0.5.7",
   "description": "A data-driven dashboard console for report widgets",
   "license": "MIT",
   "type": "module",
   "module": "server.js",
   "browser": "docs/index.html",
   "repository": {
      "type": "git",
      "url": "git+https://github.com/dna-engine/data-dashboard.git"
   },
   "homepage": "https://data-dashboard.js.org",
   "bugs": "https://github.com/dna-engine/data-dashboard/issues",
   "keywords": [
      "charts",
      "dashboard",
      "data-dashboard",
      "dna-engine",
      "html5",
      "javascript",
      "report",
      "typescript",
      "widgets"
   ],
   "jshintConfig": {
      "esversion": 11,
      "strict": "implied",
      "eqeqeq": true,
      "undef": true,
      "unused": true,
      "mocha": true,
      "node": true
   },
   "recursiveExecConfig": {
      "commands": {
         "lessc": "lessc {{file}} build/2-dev/web-app/{{basename}}.css",
         "rollup": "rollup {{file}} --file build/2-dev/web-app/{{filename}} --name {{nameCamelCase}} --format iife --globals chart.js:globalThis,dna-engine:globalThis,fetch-json:globalThis,pretty-print-json:globalThis,simple-datatables:globalThis,web-ignition:globalThis",
         "csso": "csso {{file}} --output    build/3-min/web-app/{{filename}}",
         "uglifyjs": "uglifyjs {{file}} --output build/3-min/web-app/{{filename}}"
      }
   },
   "replacerConfig": {
      "macros": {
         "css-header": "/*! {{file.base}} */",
         "js-header": "//! {{file.base}}",
         "insert-file": "{[p] render {{quote}}{{file.path}}{{quote}} %}",
         "less-import": "@import {{quote}}../../../../{{file.dir}}/{{file.name}}{{quote}};"
      }
   },
   "runScriptsConfig": {
      "clean": [
         "rimraf build docs src/web-app/+page/generated"
      ],
      "libraries": [
         "make-dir build/1-pre/libs",
         "csso node_modules/web-ignition/dist/reset.min.css                      --output build/1-pre/libs/reset.min.css",
         "csso node_modules/dna-engine/dist/dna-engine.css                       --output build/1-pre/libs/dna-engine.css",
         "csso node_modules/simple-datatables/dist/style.css                     --output build/1-pre/libs/simple-datatables.css",
         "csso node_modules/pretty-print-json/dist/css/pretty-print-json.min.css --output build/1-pre/libs/pretty-print-json.css",
         "replacer build/1-pre/libs --ext=.css build/2-dev/web-app --concat=libraries.css --header={{macro:css-header}}",
         "replacer  node_modules/chart.js/dist/chart.umd.js --no-source-map      build/1-pre/libs",
         "copy-file node_modules/dna-engine/dist/dna-engine.min.js               --folder build/1-pre/libs",
         "copy-file node_modules/fetch-json/dist/fetch-json.min.js               --folder build/1-pre/libs",
         "copy-file node_modules/pretty-print-json/dist/pretty-print-json.min.js --folder build/1-pre/libs",
         "copy-file node_modules/simple-datatables/dist/umd/simple-datatables.js --folder build/1-pre/libs",
         "copy-file node_modules/web-ignition/dist/lib-x.min.js                  --folder build/1-pre/libs",
         "replacer build/1-pre/libs --ext=.js build/2-dev/web-app --concat=libraries.js --header={{macro:js-header}} --no-liquid"
      ],
      "generated": [
         "replacer src/web-app/+page/widgets --ext=.html --content={{macro:insert-file}} src/web-app/+page/generated --find=[p] --replacement=% --concat=widgets.html",
         "replacer src/web-app/+page/widgets --ext=.less --content={{macro:less-import}} src/web-app/+page/generated --concat=widgets.less"
      ],
      "bundle-js": [
         "recursive-exec build/1-pre/web-app --ext=.js --exclude=+ {{command:rollup}}"
      ],
      "build1-pre": [
         "jshint . --exclude-path .gitignore",
         "eslint --max-warnings 0",
         "tsc",
         "replacer src/web-app --ext=.html --exclude=+ build/1-pre/web-app --rename=index.html"
      ],
      "build2-dev": [
         "img-src-placeholder build/1-pre/web-app    build/2-dev/web-app",
         "copy-folder src/web-app/+common/assets     build/2-dev/web-app/assets",
         "lessc       src/web-app/+common/style.less build/2-dev/web-app/style.css",
         "recursive-exec src/web-app --ext=.less --exclude=+ {{command:lessc}}",
         "run-scripts bundle-js"
      ],
      "build3-min": [
         "copy-folder    build/2-dev/web-app --ext=.html            build/3-min/web-app",
         "copy-folder    build/2-dev/web-app/assets                 build/3-min/web-app/assets",
         "copy-file      build/2-dev/web-app/libraries.css --folder build/3-min/web-app",
         "copy-file      build/2-dev/web-app/libraries.js --folder  build/3-min/web-app",
         "recursive-exec build/2-dev/web-app --ext=.css             {{command:csso}}",
         "recursive-exec build/2-dev/web-app --ext=.js              {{command:uglifyjs}}"
      ],
      "build4-rev": [
         "rev-web-assets build/3-min/web-app build/4-rev/web-app --manifest --meta-content-base=https://data-dashboard.js.org",
         "copy-file build/4-rev/web-app/manifest.json --move build/4-rev --folder"
      ],
      "docs": [
         "add-dist-header build/4-rev/web-app            docs --all-files --recursive",
         "replacer --virtual-input . --rename=robots.txt docs --content=#{{space}}Allow{{space}}bots",
         "replacer --virtual-input . --rename=CNAME      docs --content=data-dashboard.js.org"
      ],
      "dev": [
         "tsc --watch --preserveWatchOutput",
         "chokidar 'build/1-pre/web-app/**/*.js' --command 'run-scripts bundle-js'",
         "browser-sync . --startPath build/2-dev/web-app --files build/2-dev/web-app"
      ]
   },
   "scripts": {
      "pretest": "run-scripts clean libraries generated build1-pre build2-dev build3-min build4-rev docs",
      "test": "mocha spec/*.spec.js --timeout 7000",
      "posttest": "html-validator docs",
      "dev": "npm test && run-scripts dev --parallel",
      "interactive": "openBrowser=true npm start"
   },
   "dependencies": {
      "fetch-json": "~3.3",
      "open": "~11.0"
   },
   "devDependencies": {
      "@eslint/js": "~9.39",
      "@fortawesome/fontawesome-free": "~7.1",
      "@types/node": "~25.0",
      "add-dist-header": "~1.6",
      "assert-deep-strict-equal": "~1.2",
      "browser-sync": "~3.0",
      "chart.js": "~4.5",
      "chokidar-cli": "~3.0",
      "copy-file-util": "~1.3",
      "copy-folder-util": "~1.2",
      "csso-cli": "~4.0",
      "dna-engine": "~3.3",
      "eslint": "~9.39",
      "img-src-placeholder": "~1.2",
      "jshint": "~2.13",
      "less": "~4.5",
      "make-dir-cli": "~4.0",
      "mocha": "~11.7",
      "pretty-print-json": "~3.0",
      "puppeteer": "~24.36",
      "puppeteer-browser-ready": "~1.4",
      "recursive-exec": "~1.1",
      "replacer-util": "~1.5",
      "rev-web-assets": "~1.5",
      "rimraf": "~6.1",
      "rollup": "~4.56",
      "run-scripts-util": "~1.3",
      "simple-datatables": "~10.2",
      "typescript": "~5.9",
      "typescript-eslint": "~8.53",
      "uglify-js": "~3.19",
      "w3c-html-validator": "~2.2",
      "web-ignition": "~2.5"
   }
}
