GithubHelp home page GithubHelp logo

slim's Introduction

StealJS

StealJS is an awesome front-end module loader that makes writing large applications easy. Learn more at stealjs.com.

This repository houses the source for the website.

Contributing

If you’d like to have your Steal plugin added under the Ecosystems section on the website, please add an issue and we can discuss it.

If you want to work on the website, first clone it:

git clone https://github.com/stealjs/stealjs.git

Then install the dependencies:

npm install

Then generate the documentation:

npm run document

License

Steal, StealTools, and all sub-projects are licensed under the MIT License.

slim's People

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

slim's Issues

Overview

This project is the implementation of the minimal production loader RFC. The repository is for the loader part.

The loader needs to be able to:

  • Execute a bundle of JavaScript.
  • Progressively load JavaScript using some syntax (of our choosing) (maybe like steal.import).
  • Execute bundles loaded in any order (using script async).
  • Allow for some type of runtime plugins. This is mostly (and perhaps only) for CSS, so that's the target.

As code size is extremely important here, some guidelines for what we want to achieve:

  • The loader should not be any larger than the one provided by webpack.
  • The loader could possibly be broken up by feature set to minimize size. For example there might be a loader.js that does the main loader stuff, and then a progressive.js which adds the ability to support steal.import, and then a plugin.js which adds the ability for plugins to exist. The build process would determine which features are needed and combine loader.js, progressive.js, and plugin.js. Whether we do this depends on the code size.

Plan

As this is a rather large project this issue needs to be broken up into several tasks.

Loader

Build

This change will happen within steal-tools. We will need some optional way to enable the minimal loader. Probably with an option.

stealTools.build({}, {
  minimalLoader: true
});

The challenge here is to figure out how to detect which features we do not support and to throw appropriate error messages. We cannot support:

  • Use of runtime configuration
  • Use of steal-specific modules like @loader or @steal. We can probably just hardcode these for now.

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.