Javascript needs more modern!


1.0.14 years ago4 years agoMinified + gzip package size for @heisian/quire in KB



Welcome to the future, where less is cool.

What is Quire?

Quire gets rid of the 're' in 'require.' What do you get out of Quire?

  • Less typing.
  • Convenient namespacing in deeply nested paths.
  • Avoid eslint's global-require rule altogether. Your code isn't crappy if you can abstract away the inconsistencies!

OK, I'm fully convinced. How do I use it???

Suppose you have a not-so-deeply nested file somewhere:

// path/shared/someModule.js
module.exports = () => 'Hello, dude!'

Let's say you also have a couple other modules in the same folder, anotherModule and yetAnotherModule.

Now, in a much more deeply nested file, Quire makes including the aforementioned modules a breeze! Check it:

// path/to/my/thingy/index.js
const Quire = require('quire')
const quire = new Quire('path/shared') // Easy to read, relative to root

const someModule = quire('someModule') // Nothin' but the module name, baby
const anotherModule = quire('anotherModule') // You know you like it, don't deny
const yetAnotherModule = quire('subpath/yetAnotherModule') // Aww yea, this rox!

// Look ma, no ../'s!

process.stdout.write((someModule()) // Outputs 'Hello, dude!'

So modern! So... wait.. why are you using CommonJS?

Until the war of "Michael Jackson script," dynamic imports, et. al, is won, we're stuck with one foot in the present, and one foot in the future. Which technically puts you in the future. So be happy.

P.S., have you heard about ES9 yet?

You know this software is legit coz it's got this crazy license block, yo.
Copyright (C) 2018 Timothy Huang

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.