name: tlaternet
version: 1.0.0
description: tlaternet web interface
author: Tristan Maat <tm@tlater.net>
license: MIT
private: true

dependencies:
  # Libraries
  gl-matrix: ^3.4.3   # To help with 3D math in WebGL code
  classnames: ^2.3.1  # To manage CSS class names in react code

  # Fonts
  hack-font: ^3.3.0
  '@fontsource/arimo': ^4.5.8
  '@fontsource/nunito': ^4.5.9
  '@fortawesome/fontawesome-free': ^6.1.1

  # Frameworks for static content
  bulma: ^0.9.4

  # React-redux stuff
  react: ^18.2.0
  react-dom: ^18.2.0
  react-use-error-boundary: ^3.0.0 # TODO(tlater): Remove when react implement their own
  redux: ^4.2.0
  '@reduxjs/toolkit': ^1.8.3
  react-redux: ^8.0.2

devDependencies:
  # Parcel & plugins
  parcel: ^2.7.0
  '@parcel/transformer-sass': ^2.7.0
  '@parcel/transformer-glsl': ^2.7.0

  # Build tools
  typescript: ^4.7.4

  sass: ^1.53.0

  posthtml-extend: ^0.6.3
  posthtml-favicons: ^1.4.0
  posthtml-include: ^1.7.4
  posthtml-markdownit: ^1.3.0

  '@babel/preset-env': ^7.18.6

  # Type shims
  '@types/react-dom': ^18.0.6
  '@types/react-redux': ^7.1.24

  # Dev tools
  npm-check-updates: ^16.0.5

  prettier: ^2.7.1

  typescript-language-server: ^0.11.2
  typescript-eslint-language-service: ^5.0.0

  eslint: ^8.21.0
  '@typescript-eslint/parser': ^5.32.0
  '@typescript-eslint/eslint-plugin': ^5.32.0

  vscode-langservers-extracted: ^4.2.1

scripts:
  # Dev workflow
  build: parcel build --no-autoinstall
  serve: parcel serve --no-autoinstall
  watch: parcel watch --no-autoinstall

  # Production build
  build-dist: parcel build --no-cache --no-autoinstall

  # Checks
  check: tsc --noEmit
  style: prettier --check src
  lint: eslint --max-warnings=0 --format unix src

# Parcel config
source:
  - src/index.html
  - src/error.html

browserslist: '> 1%, not dead'
