bytebeat-composer/README.md

2.2 KiB

web template

baffling assemblage of thingamabobs that i (SArpnt) consider acceptable for web development. i am very picky about very particular things, and this setup seems to do the best overall.

building

  • install pnpm
  • pnpm i --prod; pnpm run build

output is in _site, you can start a webserver there.

development

  • install pnpm
  • pnpm i
  • pnpm run to view various available commands
    • serve creates a webserver with hot reloading
    • test runs various tests, it does not check that the build will succeed this is generally intended to be used after a build or during a serve the current tests are typescript and jest
    • fulltest tests the build too

issues / todo list

  • testing and formatting at the same time should have a dedicated script i would like to call this "clean" but that generally means deleting build files
  • eleventy should not have access to dev dependencies for building
  • prettier
    • prettier can only be configured with dotfiles, which are hidden on *nix and don't glob. i generally don't like important files to behave strangely, and i especially don't like them to behave differently on different platforms.
    • prettier does not format css how i like, so it is currently ignored
    • prettier does not format markdown correctly, so it is disabled https://github.com/prettier/prettier/issues/5019
    • prettier is supposed to read .gitignore but it only reads the one in the root directory
    • it is generally incredibly easy to destroy things that are not supposed to be formatted
  • pug
    • the pug language is an improvement from html in important ways but isn't ideal and severely lacks tooling
    • prettier (using pug plugin) does not format inline css in pug how i like
    • prettier (using pug plugin) does not format inline js in pug
    • the prettier pug plugin lacks options
    • the pug formatter requires the use of prettier which is itself a problem i would like to replace prettier with biome
  • iirc inline css and inline js in pug isn't minified i need to go check i don't actually remember
  • no cache busting (it's very difficult)
  • i don't like how pnpm formats package.json5
  • tsconfig.json is not json5