包详细信息

@remusao/small

remusao235.4kMPL-2.02.1.0

Smalles files for different MIME types

自述文件

Mono

tests lerna lgtm alerts lgtm grade dependabot license

Libraries

  • auto-config
  • thunderbird-msg-filters
  • trie

Philosophy

This repository is also a way for me to experiment with monorepos and how best to organize them. I have been trying out many different tools or "stacks" in the past and have stabilized on the following:

  • All code is written in TypeScript targeting ES6.
  • Eslint is used for linting code.
  • Lerna is used for version management and publishing (used by auto).
  • Yarn workspaces are used to share a lock file and node_modules folder.
  • Auto is used for continuous publishing of the libraries (using Lerna).
  • Each package contains its own package.json and dependencies.
  • Each package can be built independently.
  • Composite and incremental modes of TypeScript are leveraged for fast compilation.
  • Each package exposes commonjs and es6 entry points, built with tsc.
  • Tests are written in TypeScript and compiled like library code.
  • Mocha is used to launch tests.
  • Chai is used for test assertions.

There is currently no bundling or minification performed on published packages, but this will be done in the future using Rollup will be used.

Other thoughts:

  • No babel is used, tsc is more than capable of producing build output.
  • Dev/normal mode produces commonjs bundles, which can be used in watch mode to iterate faster, run tests, load library locally in Node.js.
  • Bundle mode produces extra es6 artifacts, which only happens in CI so it's fine if it takes a bit more time. ES6 output is also created using tsc.
  • Packages names are namespaced with the name of the GitHub account @remusao to prevent any naming collision (e.g. 'trie' package would have to be renamed) and provide some kind of consistency. Also, experience shows that fancy package names tend to be misunderstood and harder to discover.
  • As long as both commonjs and es6 modules will have to co-exist in the Node.js ecosystem, there will be extra complication for package maintainers. Ideally only es6 would be required, which would simplify building and bundling code. I expect a migration of the repository to 100% ES6 modules before end of 2020 when all tooling is compatible (e.g. mocha is currently adding first-class support for ES6 modules).

Development setup

  • corepack enable
  • yarn install --immutable

更新日志

(Fri May 16 2025)

:rocket: New Feature

  • @remusao/small@2.1.0

:house: Internal

:nut_and_bolt: Dependencies

  • Update lerna #872 (@chrmod)
  • Update node #871 (@chrmod)
  • build(deps-dev): bump eslint from 9.23.0 to 9.26.0 #856 (@dependabot[bot])
  • chore(deps): bump @babel/traverse from 7.12.1 to 7.27.1 #867 (@dependabot[bot])
  • build(deps-dev): bump @eslint/js from 9.23.0 to 9.26.0 #852 (@dependabot[bot])
  • build(deps-dev): bump eslint-config-prettier from 10.1.1 to 10.1.5 #855 (@dependabot[bot])
  • build(deps-dev): bump eslint-plugin-prettier from 5.2.5 to 5.4.0 #859 (@dependabot[bot])
  • build(deps-dev): bump tsx from 4.19.3 to 4.19.4 #849 (@dependabot[bot])
  • build(deps-dev): bump auto from 11.1.6 to 11.3.0 #848 (@dependabot[bot])
  • build(deps-dev): bump @types/benchmark from 2.1.1 to 2.1.5 #862 (@dependabot[bot])
  • chore(deps): bump braces from 3.0.2 to 3.0.3 #865 (@dependabot[bot])
  • chore(deps): bump get-func-name from 2.0.0 to 2.0.2 #866 (@dependabot[bot])
  • chore(deps): bump @babel/helpers from 7.12.1 to 7.27.1 #868 (@dependabot[bot])
  • build(deps-dev): bump typescript-eslint from 8.29.0 to 8.32.1 #847 (@dependabot[bot])
  • @remusao/badger@2.1.0, @remusao/bench@2.1.0, @remusao/counter@2.1.0, @remusao/guess-url-type@2.1.0, @remusao/small@2.1.0, @remusao/smaz-compress@2.2.0, @remusao/smaz-decompress@2.2.0, @remusao/smaz-generate@2.2.0, @remusao/smaz@2.2.0, @remusao/thunderbird-msg-filters@2.1.0, @remusao/trie@2.1.0, @remusao/url-match-patterns@2.1.0
  • @remusao/badger@2.1.0, @remusao/bench@2.1.0, @remusao/counter@2.1.0, @remusao/guess-url-type@2.1.0, @remusao/small@2.1.0, @remusao/smaz-benchmarks@2.2.0, @remusao/smaz-compress@2.2.0, @remusao/smaz-decompress@2.2.0, @remusao/smaz-generate@2.2.0, @remusao/smaz@2.2.0, @remusao/thunderbird-msg-filters@2.1.0, @remusao/trie@2.1.0, @remusao/url-match-patterns@2.1.0
  • @remusao/url-match-patterns@2.1.0
  • @remusao/badger@2.1.0, @remusao/counter@2.1.0, @remusao/guess-url-type@2.1.0, @remusao/small@2.1.0, @remusao/smaz-benchmarks@2.2.0, @remusao/smaz@2.2.0, @remusao/thunderbird-msg-filters@2.1.0, @remusao/url-match-patterns@2.1.0
  • @remusao/badger@2.1.0
  • @remusao/smaz-benchmarks@2.2.0

Authors: 3


(Thu Apr 10 2025)

:rocket: New Feature

  • @remusao/smaz-compress@2.1.0, @remusao/smaz-decompress@2.1.0, @remusao/smaz@2.1.0

Authors: 1


(Mon Apr 07 2025)

:boom: Breaking Change

  • @remusao/badger@2.0.0, @remusao/bench@2.0.0, @remusao/counter@2.0.0, @remusao/guess-url-type@2.0.0, @remusao/small@2.0.0, @remusao/smaz-compress@2.0.0, @remusao/smaz-decompress@2.0.0, @remusao/smaz-generate@2.0.0, @remusao/smaz@2.0.0, @remusao/thunderbird-msg-filters@2.0.0, @remusao/trie@2.0.0, @remusao/url-match-patterns@2.0.0

Authors: 1


(Wed Apr 02 2025)

:bug: Bug Fix

  • fix(smaz-benchmarks): fix compatibility with node-gyp and cjs #842 (@seia-soto)

Authors: 1


(Thu Jul 11 2024)

:rocket: New Feature

  • @remusao/auto-config@1.2.0, @remusao/badger@1.3.0, @remusao/bench@1.2.0, @remusao/counter@1.4.0, @remusao/guess-url-type@1.3.0, @remusao/small@1.3.0, @remusao/smaz-compress@1.10.0, @remusao/smaz-decompress@1.10.0, @remusao/smaz-generate@1.10.0, @remusao/smaz@1.10.0, @remusao/thunderbird-msg-filters@1.7.0, @remusao/trie@1.5.0, @remusao/url-match-patterns@1.2.0

:bug: Bug Fix

  • CI: configure auto according to latest standard #837 (@chrmod)
  • Fix release - update auto #836 (@chrmod)
  • @remusao/auto-config@1.2.0, @remusao/badger@1.3.0, @remusao/bench@1.2.0, @remusao/counter@1.4.0, @remusao/guess-url-type@1.3.0, @remusao/small@1.3.0, @remusao/smaz-compress@1.10.0, @remusao/smaz-decompress@1.10.0, @remusao/smaz-generate@1.10.0, @remusao/smaz@1.10.0, @remusao/thunderbird-msg-filters@1.7.0, @remusao/trie@1.5.0, @remusao/url-match-patterns@1.2.0

⚠️ Pushed to master

  • @remusao/auto-config@1.2.0
    • CI: another publishing fix (@chrmod)

:memo: Documentation

:nut_and_bolt: Dependencies

Authors: 4


(Tue Nov 03 2020)

:bug: Bug Fix

  • @remusao/auto-config@1.1.2
    • Revert: Disable npm plugin for auto (too many packages published) #309 (@remusao)

:nail_care: Polish

  • @remusao/auto-config@1.1.2
    • Disable npm plugin for auto (too many packages published) #308 (@remusao)

:nut_and_bolt: Dependencies

Authors: 2


(Tue Jul 07 2020)

⚠️ Pushed to master

:nut_and_bolt: Dependencies

Authors: 1


(Sun Jun 14 2020)

:rocket: New Feature

  • @remusao/badger@1.2.0, @remusao/bench@1.1.0, @remusao/url-match-patterns@1.1.0

:nut_and_bolt: Dependencies

Authors: 2


(Sat May 30 2020)

:nail_care: Polish

  • @remusao/badger@1.1.3
    • Badge rotation should only trigger if tab is active #181 (@remusao)

:nut_and_bolt: Dependencies

Authors: 2


(Sat May 23 2020)

:nail_care: Polish

  • @remusao/badger@1.1.2

Authors: 1


(Sat May 23 2020)

:nail_care: Polish

  • @remusao/badger@1.1.1
    • badger: make sure update stops when badge is disabled #172 (@remusao)

Authors: 1


(Sat May 23 2020)

:rocket: New Feature

  • @remusao/badger@1.1.0

:nut_and_bolt: Dependencies

Authors: 2


(Tue Apr 07 2020)

:nail_care: Polish

  • @remusao/guess-url-type@1.1.2

Authors: 1


(Tue Apr 07 2020)

:bug: Bug Fix

  • @remusao/guess-url-type@1.1.1

:house: Internal

  • @remusao/thunderbird-msg-filters@1.4.1

:nut_and_bolt: Dependencies

Authors: 2


(Mon Apr 06 2020)

:nail_care: Polish

  • @remusao/small@1.1.2

:nut_and_bolt: Dependencies

Authors: 2


(Mon Apr 06 2020)

:rocket: New Feature

  • @remusao/guess-url-type@1.1.0

Authors: 1


(Mon Apr 06 2020)

:nail_care: Polish

  • @remusao/small@1.1.1

:nut_and_bolt: Dependencies

Authors: 2


(Mon Apr 06 2020)

:bug: Bug Fix

  • @remusao/auto-config@1.1.1

:nut_and_bolt: Dependencies

Authors: 2


(Fri Apr 03 2020)

:rocket: New Feature

  • @remusao/small@1.1.0

:nut_and_bolt: Dependencies

Authors: 2


(Wed Feb 12 2020)

:running_woman: Performance

  • @remusao/counter@1.2.0, @remusao/smaz-compress@1.8.0, @remusao/smaz-decompress@1.8.0, @remusao/smaz-generate@1.8.0, @remusao/smaz@1.8.0, @remusao/thunderbird-msg-filters@1.4.0, @remusao/trie@1.3.0
    • Use Map instead of array for trie to lower memory usage #21 (@remusao)

:nut_and_bolt: Dependencies

Authors: 2


(Mon Feb 03 2020)

:bug: Bug Fix

  • @remusao/counter@1.1.1, @remusao/smaz-compress@1.7.1, @remusao/smaz-decompress@1.7.1, @remusao/smaz-generate@1.7.1, @remusao/smaz@1.7.1, @remusao/thunderbird-msg-filters@1.3.1, @remusao/trie@1.2.1

Authors: 1


(Mon Feb 03 2020)

:rocket: New Feature

  • @remusao/counter@1.1.0, @remusao/smaz-compress@1.7.0, @remusao/smaz-decompress@1.7.0, @remusao/smaz-generate@1.7.0, @remusao/smaz@1.7.0

:house: Internal

  • Fix name and email in auto config #7 (@remusao)
  • Only trigger release workflow on pull_request or master #6 (@remusao)
  • @remusao/thunderbird-msg-filters@1.3.0, @remusao/trie@1.2.0
    • Use chai and mocha instead of jest for testing #9 (@remusao)

:memo: Documentation

Authors: 1


(Sat Feb 01 2020)

:rocket: New Feature

  • @remusao/thunderbird-msg-filters@1.2.0
    • feat: add new thunderbird-msg-filters package #5 (@remusao)

:house: Internal

  • internal: make use of custom auto config #4 (@remusao)

Authors: 1


(Sat Feb 01 2020)

:rocket: New Feature

  • @remusao/auto-config@1.1.0, @remusao/trie@1.1.0

:bug: Bug Fix

  • fix: fetching git tags in release workflow #3 (@remusao)

Authors: 1


(Sat Feb 01 2020)

⚠️ Pushed to master

  • @remusao/trie@1.0.1
    • fix: add dist folder to gitignore (@remusao)

Authors: 1