GithubHelp home page GithubHelp logo

doc22940 / microjs.com Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microjs/microjs.com

1.0 1.0 0.0 6.59 MB

Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit!

Home Page: http://microjs.com/

License: MIT License

JavaScript 87.26% HTML 5.57% CSS 7.16%

microjs.com's Introduction

Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit!

How much library code do you really need — 50K? 100K? 150K? More? How much of that do you really use?

Sure, we all love our favorite monolithic frameworks, and sometimes we even use them fully. But how often do we reach for the ride-on John Deere tractor with air conditioning and six-speaker sound system, when a judiciously applied pocketknife would do the trick better, faster, slicker?

Micro-frameworks are definitely the pocketknives of the JavaScript library world: short, sweet, to the point. And at 5k and under, micro-frameworks are very very portable. A micro-framework does one thing and one thing only — and does it well. No cruft, no featuritis, no feature creep, no excess anywhere.

MicroJS.com helps you discover the most compact-but-powerful microframeworks, and makes it easy for you to pick one that’ll work for you.

Submitting new libraries and frameworks

Want to add your own? Fork this site on GitHub, add your framework to "data.js" and submit a pull request.

Rules

  • Must not have dependencies (It's ok to target a specific platform, like Node.js or WebKit)
  • Must do something useful, and must not be just a demo
  • Must be MIT/BSD-license or similar permissive license
  • Templating engines and loaders will only be added if they're outstanding and exceptional
  • Must be < 5k when minified and gzipped (see below)
  • Source file must be available for download and not change across releases (e.g. awesomesauce-1.1.0.js)
  • Prefer hand-coded/hand-optimized JavaScript over generated/cross-compiled code

To check the minified and compressed size of your library from the command line, either use ./build.js -v (see below) or run:

$ uglifyjs yourlib.js | gzip -9f | wc -c

or

$ wget -q -O- https://domain.tld/path/to/file.src | uglifyjs | gzip -9f | wc -c

How to add

  • Add your library to "data.js", pick a random point in the file (this helps with merging many contributions) and enter the required attributes: 'name', 'tags', 'url', 'source'
  • The a 'url' should point to wherever you host your README or docs and where code is downloaded code-download
  • If the 'url' is not a GitHub address but your project is hosted there, add a 'github' field with your username & lib name, e.g. 'timrwood/moment' so the builder can collect GitHub stats
  • The 'source' attribute must point to a single-file, or an array of files that can be concatenated to form your complete library in a ready-to-use form. The 'source' must not be minified (see below)
  • Running make should work and not return an error. To run make, you'll need node installed

If your source very small, you can simply include the whole thing in the source attribute as a string. If your source is split across multiple files, you can use an array of URLs (it's preferrable to just have a single source). If your source is released in a ZIP file you can point to the ZIP's URL and append a !/zip/entry.js to the end so the compiler knows where to look (it's still preferable to just have a single source URL!)

Using make / build

The builder reads data.js and checks the source of each entry. It will calculate the raw, minified and gzipped sizes of the entries.

You will see warnings where entries need to be checked and errors where entries will be excluded.

If you wish to see details of all entries, you can run the ./build.js -v command.

Submitting a PR

  • Fork repository
  • Clone repository to your local machine
  • Add to data.js file the representative attributes listed above
  • NOTE add the new files somewhere other than the bottom to make PR merging less conflict-prone
  • Run npm install if you haven't already and npm test
  • If your added package comes up with a SUCCESS message you are good to go, submit the PR
  • To filter on only your package results run ./build.js -v | grep YOUR_PACKAGE_NAME

All rights reserved

Please note that MicroJS.com is a curated site and that we reserve the right to refuse any listing for any reason.

The microjs.com code/website is released under a MIT License.

microjs.com's People

Contributors

rvagg avatar simonwaldherr avatar madrobby avatar pineapplemachine avatar ded avatar audiolion avatar sbrl avatar mathiasbynens avatar davidchambers avatar gamtiq avatar grossacasac avatar capmousse avatar daniellmb avatar dciccale avatar kbjr avatar avoidwork avatar philbooth avatar alpha123 avatar igorlima avatar fschaefer avatar skarukas avatar ryasmi avatar lachlanhardy avatar getify avatar jesseskinner avatar bahamas10 avatar chrisdavies avatar benbscholz avatar bemson avatar ts-thomas avatar

Stargazers

Acampbell avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.