npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

doran-cli

v0.0.7

Published

vala package manager

Downloads

18

Readme

doran

the missing package manager for Vala

Install

npm install -g doran-cli

    or

yarn global add doran-cli

yarn global add /home/darkoverlordofdata/Documents/GitHub/doran

Usage

doran init project-name             # create folder and initialize project
doran install [-k] <package-name>   # install module package-name
doran uninstall <package-name>      # uninstall module package-name
doran update [-t template]          # refresh CMakeLists.txt
doran source path/to/source         # change source path

Options:
-h  [--help]      # display this message
-k  [--link]      # link local dependancy
-t  [--template]  # template name
-v  [--version]   # display version

Overview

Doran recognizes 2 package types, default and package. Default is a top level project containing the main proc. Packages are source libraries, and compiled as sub-projects to the default project. All projects can be a mixture of Vala, C, and C++.

Project templates are Liquid templates. If you've used Jekyll, chances are you've used Liquid. Template values are pulled from the project component.json. The json node "files" is maintained by scanning "source" during update. The "dependencies" node is maintained by doran install. The remaining nodes are initialized by doran init, and them maintained by the developer.

Run doran update when any changes are made to the project - this will re-write the CMakeFiles.txt for the project or package.

For an example of most doran features, look at https://github.com/darkoverlordofdata/valagame

start a new project

doran init myproject
cd myproject
mkdir build
./configure
cd build
make

start a new package

doran init --template package mysub
rename mysub doran-mysub
cd doran-mysub
mkdir build
./configure
cd build
make

add package to registry

  1. project name should be formated doran-project-name.
  2. pull request to add a file to the registry/remote and registry/local folders in github.com/darkoverlordofdata/doran
  3. local folders should be located as a sibling, as ../../GitHub/doran-project-name

add package to project

cd myproject
doran install mysub

link package to project

cd mysub
bower link
cd ../myproject
doran install mysub
del ./.lib/mysub
doran install --link mysub

supported platforms

Works on Windows10, Fedora 28, Ubuntu 18.04, Rasbian Stretch on rpi3

component.json

name
    project name
template
    template name -> |default|package|
version
    application version
vala
    min version of vala to use
authors
    list of authors
description
    appliction
license
    MIT, Apache2, etc.
private
    true = application
    false = library
dependencies
    source libraries maintained using bower
files
    files in src folder (maintained by doran)
packages
    pkg-config dependencies
libraries
    other libraries
includes
    folders with *.h files
links
    project local -L libs
options
    valac options
definitions
    define -D symbols for the compiler
copy
    folder to copy exe to for testing
vapidir
    local vapi folder
console
    false for windowed applications
symbols
    symbols to define for valac / flags for c

Why?

Autovala is like the best thing ever. But it doesn't work on windows, and it's depencencies and scope make it unlikely that it ever will. Doran runs on both windows and linux.

The intention was that this is a prototype. but it works too well. So I'm leaving well enough alone.

Doran packages are cmake modules shoved into bower format. Doran scans the src folder to build a file list, using it to generate a CMakeLists.txt file to drive build via cmake.

Bower? Yeah, I know. Don't use bower, but I'm not running it on a server. Doran only uses client functionality locally to manage downloads of Vala and c/c++ dependencies from github.

At this point, doran is experimental, and is just used to package my own projects.