{
  "name": "@specs-feup/clava-code-transforms",
  "version": "1.2.0",
  "author": "Tiago Lascasas Santos <tiagolascasas@outlook.com> (https://tiagolascasas.dev)",
  "description": "A set of advanced C/C++ code transformations for Clava",
  "type": "module",
  "private": false,
  "scripts": {
    "build": "tsc",
    "build:watch": "tsc --watch",
    "publish:latest": "npm publish --tag latest",
    "publish:staging": "node publish.js staging",
    "publish:nightly": "node publish.js nightly",
    "lint": "eslint .",
    "docs": "typedoc",
    "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
    "test:amalgamation": "clava classic dist/test/TestAmalgamator.js -p inputs/disparity/ -ncg -std c11 -cr -cfs -pi",
    "test:amalgamation-typedefs": "clava classic dist/test/TestAmalgamatorTypedefs.js -p inputs/mser/ -ncg -std c11 -cr -cfs -pi",
    "test:arrayflat": "clava dist/test/TestArrayFlattener.js -- clang inputs/arrayflat/",
    "test:arrayflat-constprop": "clava dist/test/TestFlatteningConstant.js -- clang inputs/optical-flow/",
    "test:constprop": "clava dist/test/TestConstantPropagator.js -- clang inputs/constprop/",
    "test:hoisting": "clava dist/test/TestHoisting.js -- clang inputs/hoisting/",
    "test:loopchar": "clava dist/test/TestLoopCharacterizer.js -- clang inputs/loopchar/",
    "test:outliner": "clava dist/test/TestOutliner.js -- clang inputs/outlining/",
    "test:outliner-edgecases": "clava dist/test/TestOutlinerEdgecases.js -- clang inputs/outlining-edgecases/",
    "test:outliner-pointer": "clava classic dist/test/TestOutlinerEdgecases.js -p inputs/outlining-edgecases/PointerReassignment.c",
    "test:scopeflat": "clava dist/test/TestScopeFlattener.js -- clang inputs/scopeflat/",
    "test:structdecomp": "clava classic dist/test/TestStructDecomposer.js -p inputs/structdecomp/ -std c11",
    "test:structdecomp-cpp": "clava classic dist/test/TestStructDecomposer.js -p inputs/structdecomp-cpp/ -std c++11",
    "test:structdecomp-optiflow": "clava classic dist/test/TestStructDecomposer.js -p inputs/optical-flow/ -std c++11",
    "test:voidifying": "clava dist/test/TestVoidifier.js -- clang inputs/voidifying/",
    "bench:3d-rend": "clava classic dist/test/TestBenchmark3DRendering.js -p inputs/3d-rendering/ -std c++11",
    "bench:digit-recog": "clava classic dist/test/TestBenchmarkDigitRecog.js -p inputs/digit-recognition/ -std c++11",
    "bench:optiflow": "clava classic dist/test/TestBenchmarkOpticalFlow.js -p inputs/optical-flow/ -std c++11",
    "clean": "rm -rf node_modules package-lock.json dist/ woven_code/ output/"
  },
  "exports": {
    "./ConstantFolder": "./dist/src/constfolding/ConstantFolder.js",
    "./ConstantPropagator": "./dist/src/constfolding/ConstantPropagator.js",
    "./FoldingPropagationCombiner": "./dist/src/constfolding/FoldingPropagationCombiner.js",
    "./ArrayFlattener": "./dist/src/flattening/ArrayFlattener.js",
    "./StructFlattener": "./dist/src/flattening/StructFlattener.js",
    "./ScopeFlattener": "./dist/src/flattening/ScopeFlattener.js",
    "./Outliner": "./dist/src/function/Outliner.js",
    "./Voidifier": "./dist/src/function/Voidifier.js",
    "./LoopCharacterizer": "./dist/src/loop/LoopCharacterizer.js",
    "./Amalgamator": "./dist/src/program/Amalgamator.js"
  },
  "files": [
    "dist/src"
  ],
  "dependencies": {
    "@specs-feup/clava": "^3.0.8",
    "@specs-feup/lara": "^3.0.5",
    "chalk": "^5.3.0"
  },
  "devDependencies": {
    "@jest/globals": "^29.7.0",
    "@specs-feup/clava-visualization": "^1.0.5",
    "@types/jest": "^29.5.14",
    "@typescript-eslint/eslint-plugin": "^7.16.0",
    "@typescript-eslint/parser": "^7.16.0",
    "cross-env": "^7.0.3",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-jest": "^28.6.0",
    "eslint-plugin-tsdoc": "^0.2.17",
    "jest": "^29.7.0",
    "ts-jest": "^29.3.2",
    "typedoc": "^0.26.4",
    "typescript": "^5.5.3"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/specs-feup/clava-code-transforms.git"
  }
}
