Git Product home page Git Product logo

blprnt's People

Contributors

les2 avatar ro0gr avatar stefanpenner avatar turbo87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

blprnt's Issues

tests

  • clean-remove
  • insert-into-file
  • markdown-color
  • open-editor
  • print-command
  • printable-properties
  • process-template
  • walk-up-path
  • blueprint
    • shake out unit tests
    • improve unit coverage
  • edit-file-diff ( needs tests )
    • implement tests
  • improve unit file-info test coverage
    • .checkForConflict
    • .confirmOverwriteTask

flesh out readme

  • how to use it
  • more detailed usage (or defer to API docs)
  • features

Give Attribution (existing contributors are very important)

This is being extracted from an existing code-base. For good reasons:

  • improve quality
  • improve iteration velocity
  • make accessible to other efforts (i atleast have needed this in the past elsewhere)
  • it as originally intended as such

Although the License remains the same, but the git commit history is a tad tricky to restore. So at a very least, we can give a shoutout to those contributors in the readme or in a separate contributors.md file.

Evaluate which blueprint hooks need to be promise aware

Some blueprints may require asynchronous logic to be performed for some hooks that are currently run synchronously. This was currently worked around by the following PR: ember-cli/ember-cli#3199 by passing in the resolved locals, to then mutate as necessary. To avoid this, we could make the locals and fileMapTokens hooks promise aware.

We should also investigate any other hooks that may benefit from allowing asynchronous operations.

Call blueprint's origin hook

Hi, considering this gist and its changes: https://gist.github.com/jgwhite/1e7871f886a9836c33d3/revisions

There is a need to "extend" blueprints in order to be able to easily change or extend the templates that the blueprints are using while not changing any installation logic (i.e. needed packages and the like). The current approach is to use `this.lookupBlueprint('name') and then call the appropriate method on it, like

afterInstall: function() {
    return this.lookupBlueprint('name').afterInstall();
}

This currently can lead to errors if the parent blueprint invokes tasks like npm install because the context isn't correct. What would be nice is something like an origin method that does the exact same thing while taking care of the environment stuff.

someHook: function(options) {
    return this.origin();
}

Simliar to this.super in ember.js it should take care of the arguments by itself. The method should still take arguments in order to be able to change them. I avoided the name super because its not actually the same concept as to call a "super" method.

If the need for calling different hooks from the origin there could be something like originInvoke()

someHook: function(options) {
    return this.originInvoke("otherhook");
    return this.invokeOnOirigin("otherhook");
    return this.invokeOrigins("otherhook");
    return this.callOrigins("otherhook");
}

decouple from ember-cli

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.