Giter VIP home page Giter VIP logo

fresko's Issues

Implement CLI hot-reload

Latest fresko version removed dependency to shelljs ๐Ÿš€

However, if one's project is relying on fresko to automatically run npm/yarn/pnpm install on a project that just got upgraded to latest fresko version (which happened @sline-io today), developers will run into this issue:

Error: Cannot find module '/XXX/node_modules/shelljs/src/exec-child.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

This is due to the fact that the fresko CLI currently running into the developer's terminal was still the version which had the dependency to shelljs - but during the CLI run the fresko dependencies changed - removing here the path to shelljs

Implementing a hot-reload feature into fresko would solve this issue, here's how it'd work:

  1. fresko is ran using git hooks - will save it's package version in memory
  2. each time a prompt's command is ran, we will check again if fresko package version changed
  3. if package version got changed, fresko would exit & reload itself, using the new version that just got installed
  4. optional: find a way to recover the CLI current state, to avoid re-starting the prompt sequence from the beginning

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.