GithubHelp home page GithubHelp logo

powser's Introduction

#Powser# I'll make my own package manager with blackjack and hookers

powser is a command line tool for downloading front-end dependencies using the cdnjs reopsitory.

Unlike bower this tool will eventually be meant for production dependency management. It does not attempt to checkout full source trees, it attempts to only fetch what is required for production.

For now, we defer to the cdnjs project to maintain both the list of projects, and the list of files worth downloading. Additionally, their CDN endpoints are used to fetch the files.

The goal is that developers can use powser to install packages quickly during development, but save them in a production quality manner, suitable for tracking the entire powser_components in a git repository.

The project is still in it's infancy, but I think it works quite well.

#Demo# asciicast

#How to use#

Installing powser

Installing from pip

$ pip install powser

Installing from source

python setup.py install

Searching for packages

$ powser search jquery
jquery
jquery.pjax
jquery-mobile
jqueryui
jquery-cookie
jquery.transit
jquery.isotope
jquery-validate
jquery-handsontable

Showing package information

$ powser show backbone.js

backbone.js
        default: 1.2.3
versions:
+ 1.2.3
        - backbone-min.js
        - backbone-min.map
        - backbone.js
+ 1.2.2
        - backbone-min.js
        - backbone-min.map
        - backbone.js

Installing a package

$ powser install jquery
Installing jquery version 2.2.0...

Downloading /jquery/2.2.0/jquery.js ... Done.
Downloading /jquery/2.2.0/jquery.min.js ... Done.
Downloading /jquery/2.2.0/jquery.min.map ... Done.

Successfully installed.
$ ls powser_components/jquery/2.2.0/
jquery.js  jquery.min.js  jquery.min.map

#Contributing#

Send ideas through github issues.

Send patches through pull requests. Code should ideally:

  • Follow PEP8
  • Generate no pyflakes warnings

#TODO#

  • Allow specific package versions to be installed
  • Implement automated tests
  • Implement a manifest file (possibly powser.json) to track what's been installed
  • Implement clean, prune, refresh functionality from manifest.
  • Investigate automatic dependency management.
  • Possibility to use other CDNs for initial download.
  • webassets integration - automatically build compressed packs from downloaded files
    • Possibility to automatically switch between CDN hosted/local assets

#License#

Written by JDeuce Released under the MIT License: http://www.opensource.org/licenses/mit-license.php

powser's People

Contributors

jdeuce avatar

Watchers

Arnstein Henriksen avatar James Cloos avatar  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.