1.0.7 • Published 24 days ago

@hloth/scaffold v1.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
24 days ago

Scaffold

NPX tool for me to easily scaffold new project, containing TypeScript config for modern ES, eslint with my favorite code style and Jest tests with TS support.

Moreover, this tool was scaffolded with itself! It tests itself automatically with Jest after each build by creating simple test project and testing Jest with Jest's test.

This project is mostly for demonstrating which defaults I use, it is not intended to be used by anyone, simply because everyone has it's own preferences, so don't judge me for using X here. Though I'm still accepting any criticism that may help me improve this setup to work faster and better :)

Size of generated project is just 142 MB with all dependencies

I think there is a better alternatives to some things I use here, so suggest me alternative tools in the Issues tab if you know:

  • Append .js extension to imports during build
    • Currently is done using external @zoltu/typescript-transformer-append-js-extension plugin with ttypescript
  • Build replacing process
    • Currently ./out dir is removed via external del-cli package and then files are copied via cpy-cli which may pose threat with security vulnerabilities. Maybe change to native commands such as rm and cp?
  • Add support for Yarn when installing dependencies

Tool usage

npx @hloth/scaffold project-name --tests

or

git clone https://github.com/VityaSchel/scaffold && cd scaffold && npm i && npm run set && sf project-name

Generated project usage

Project structure

.
├── src
│   ├── .env.ts
│   └── index.ts
├── out
├── test
│   └── index.test.ts
├── .env
├── babel.config.cjs
├── jest.config.js
├── tsconfig.json
├── .swcrc
├── LICENSE.md
├── package.json
└── package-lock.json

Scripts

Build: npm run build Run: npm start or node out/index.js Test (with TypeScript): npm test

Building

Previusly building was done with ttsc which is a postprocessor for Typescript with plugins support. In v1.0.1 it was replaced with esbuild and then swc. swc was faster, so now we're using it.

1.0.7

24 days ago

1.0.6

1 month ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

9 months ago

1.0.1

1 year ago

1.0.0

1 year ago