GithubHelp home page GithubHelp logo

crunchicorn's People

Contributors

guilhermesilveira avatar joewalnes avatar noisysocks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crunchicorn's Issues

Cannot run command

When I try to run the command I get this error.

ERROR [Error: Couldn't find preset "es2015-rollup" relative to directory "...."]

Then when i installed that npm module i get this error:

ERROR { [Error: Cannot find module 'babel-runtime/helpers/interop-require-default'] code: 'MODULE_NOT_FOUND' }

Then Finally when i have that installed i get this error:

ERROR [Error: Couldn't find preset "stage-3" relative to directory "/Users/tal/Projects/sitefs/site"]

Create distribution suitable for non-Node users

Although this is implemented in Node, that should never be of concern to the user. At the moment, the only way to install though is via npm. Create a distribution for users who don't have npm/node available. This would be a completely self contained package.

Get into major package managers like brew, ubuntu ppa, etc.

Pretty console messages

Error handling is pretty ugly at the moment. Make it look nice on the console. With color if running on a tty.

Hot reloading

The goal of hot reloading is to allow code changes to propagate to the browser without forcing a refresh. This allows insanely fast feedback loops for UI changes.

This is a placeholder for a discussion on how to implement it.

One thing I don't want to do is force users to have to run a custom development server. This tightly couples users to Node based apps and doesn't support the needs of other server side web stacks (e.g. Rails, PHP, Go, Java, etc...).

Also, users should not have to write any additional code to get this to work. It should simply be a matter of --hot.

My preference is for hot loading to be provided by the browser developer tools, and should not require bundling additional code into a web-app. There may have to be a small out of band trigger that the cmd line tool can use to notify the browser that it should refresh the code and trigger a render.

File watching

Implement --watch (alias -w) cmd line option to keep running and watch files.

Lessons learned from other tools:

  • Console should give feedback about when changes detected, output ready, errors, etc
  • Allow multiple watches to run at once (e.g. in1.js out1.js in2.js out2.js
  • Support custom completion cmd line hooks for success and error (which may send notifications, perform post processing build steps, etc)
  • If errors occur, propagate the messages to the browser so they don't go unnoticed
  • Avoid polling where possible: use notifications if filesystem supports it

Standalone CSS module packing

In the same way we can do in.js out.js, also support in.css out.css, which applies the same CSS rules but doesn't use the custom JS injector.

Option to generate Makefile prerequisites

This is a feature for GNU make users that will greatly speed up the builds. If users don't use Make, they don't need to know about it.

Cmd line flag to generate a foo.depends file that can be included in a project Makefile. This list all files involved in creating the file output (including sources, transitive sources, third party libs, package.json, etc). When Make is run again, it can check the staleness of these files and only build if any of these have changed.

http://www.gnu.org/software/make/manual/html_node/Automatic-Prerequisites.html

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.