Socket
Socket
Sign inDemoInstall

@paulmillr/jsbt

Package Overview
Dependencies
0
Maintainers
0
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@paulmillr/jsbt


Version published
Weekly downloads
423
decreased by-10%
Maintainers
0
Install size
6.00 kB
Created
Weekly downloads
 

Readme

Source

@paulmillr/jsbt

Build tools for js projects. Includes tsconfigs, templates and CI workflows

Usage

Copy all files from repo-template when creating a new project. Then, edit EDIT_ME parts in copied files.

Libraries can have different structure. Edit it to your needs:

  • A library can be single-file (index.ts), or multiple-files (src directory)
  • A library can be ESM-only (one tsconfig), or hybrid ESM+Common.js (two tsconfigs)

Make sure to adjust package.json steps: lint, format, test, build and tsconfig

Structure

  • repo-template - files that should be copied when a new repo is created
    • .github - github ci workflows:
      • run npm tests on every commit
      • publish npm package on every release, using GitHub CI and provenance
      • upload standalone build files to github release, from build directory
    • .prettierrc.json, tsconfig.esm.json: prettier and typescript configs
    • LICENSE - MIT license
    • build - directory that uses esbuild to create a standalone build file that can be used in browsers etc
  • tsconfig - typescript config files that can be loaded through NPM
    • @paulmillr/jsbt/tsconfig.esm.json - ESM base config
    • @paulmillr/jsbt/tsconfig.cjs.json - common.js base config
  • jsbt.js - binary, provides helpers for build directory, such as reading package.json and transforming its package name into snake-cased or camelCased name. When installed through NPM, it can be used as npx jsbt. For example, for package "@namespace/ab-cd", it would emit:
    • npx jsbt outfile - namespace-ab-cd
    • npx jsbt global - namespaceAbCd

Updates

  • When prettier, tsconfig, esbuild are updated, adjust repo-template/package.json and repo-template/build/package.json
  • When node.js LTS is updated, adjust repo-template/.github/workflows/*.yml
  • When GitHub CI checkout action is updated, adjust repo-template/.github/workflows/*.yml
    • contents with actions/checkout@ will need to be set to new values
    • ensure it's commit ids and not tags, because tags are mutable (less secure)

License

MIT License

Keywords

FAQs

Last updated on 01 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc