{
  "name": "weblgl",
  "version": "1.0.0",
  "description": "A simple WebGL app to demonstrate my skills",
  "scripts": {
    "type-check:server": "tsc --pretty --project config/tsconfig.server.json --noEmit",
    "type-check:client": "tsc --pretty --project config/tsconfig.client.json --noEmit",
    "type-check": "concurrently \"npm:type-check:server\" \"npm:type-check:client\"",
    "type-check:server:watch": "tsc --watch --preserveWatchOutput --pretty --project config/tsconfig.server.dev.json --noEmit",
    "type-check:client:watch": "tsc --watch --preserveWatchOutput --pretty --project config/tsconfig.client.dev.json --noEmit",
    "type-check:watch": "concurrently \"npm:type-check:server:watch\" \"npm:type-check:client:watch\"",
    "build:server:types": "tsc --emitDeclarationOnly --project config/tsconfig.server.json",
    "build:server:js": "webpack --config config/webpack.server.prod.js",
    "build:server": "npm run build:server:types && npm run build:server:js",
    "build:client:types": "tsc --emitDeclarationOnly --project config/tsconfig.client.json",
    "build:client:js": "webpack --config config/webpack.client.prod.js",
    "build:client": "npm run build:client:types && npm run build:client:js",
    "build": "npm run build:server && npm run build:client",
    "dev:server:types": "tsc --emitDeclarationOnly --watch --preserveWatchOutput --pretty --project config/tsconfig.server.json",
    "dev:server:js": "webpack --config config/webpack.server.dev.js",
    "dev:server": "concurrently \"npm:dev:server:types\" \"npm:dev:server:js\"",
    "dev:client:types": "tsc --emitDeclarationOnly --watch --preserveWatchOutput --pretty --project config/tsconfig.client.json",
    "dev:client:js": "webpack --config config/webpack.client.dev.js",
    "dev:client": "concurrently \"npm:dev:client:types\" \"npm:dev:client:js\"",
    "dev:start": "mkdir -p dist/server && touch dist/server/bundle.js && nodemon dist/server/bundle.js",
    "dev": "concurrently \"npm:dev:server\" \"npm:dev:client\" \"npm:dev:start\"",
    "start": "node dist/server/bundle.js"
  },
  "repository": {
    "type": "git",
    "url": "https://git.gaetanbrochard.dev/gbrochar/weblgl.git"
  },
  "author": "gbrochar",
  "license": "AGPL-3.0-only",
  "devDependencies": {
    "@babel/core": "^7.12.7",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
    "@babel/preset-env": "^7.12.7",
    "@babel/preset-react": "^7.12.7",
    "@babel/preset-typescript": "^7.12.7",
    "@babel/runtime-corejs3": "^7.12.5",
    "@types/express": "^4.17.9",
    "@types/jquery": "^3.5.4",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@typescript-eslint/eslint-plugin": "^4.8.1",
    "@typescript-eslint/parser": "^4.8.1",
    "babel-loader": "^8.2.1",
    "concurrently": "^5.3.0",
    "core-js": "^3.7.0",
    "eslint": "^7.14.0",
    "eslint-config-google": "^0.14.0",
    "eslint-plugin-react": "^7.21.5",
    "eslint-webpack-plugin": "^2.4.0",
    "glsl-shader-loader": "^0.1.6",
    "nodemon": "^2.0.6",
    "typescript": "^4.1.2",
    "webpack": "^5.6.0",
    "webpack-cli": "^4.2.0",
    "webpack-merge": "^5.4.0",
    "webpack-node-externals": "^2.5.2"
  },
  "dependencies": {
    "ejs": "^3.1.5",
    "express": "^4.17.1",
    "gl-mat4": "^1.2.0",
    "jquery": "^3.5.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1"
  }
}
