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

upk

v0.0.1-beta7

Published

Easy, Simple Package Dependency Manager for Unity3D

Downloads

6

Readme

upk

npm version

A simple, opened, decentralized package manager for Unity3D

Features

upk is developed to manage assets for Unity3D development.

Installation

It can be installed fromnpm

$ npm i -g upk

Usage

Firstly, you have to create Upkfile on the root directory of your Unity project.

And then, exec command as follows:

$ upk install --verbose

Upkfile

Upkfile is the list of dependencies. It's like this:

dependencies [
  git "keroxp/UniCommon", "^0.0.7"
  git "neuecc/UniRx", null,
    include: [
      src: "Assets/Plugins/*", dest: "Assets/"
    ]
  upk "SDUnity-Chan", "http://unity-chan.com/download/download.php?id=SDUnityChan&v=1.01"
  upk "Unity-Chan-Toon-Shader", -> zip "http://unity-chan.com/download/download.php?id=UTS2_0&v=2.0.3"
  upk "SocialConnector", -> git "anchan828/social-connector"
]

The file looks like DSL but is actually pure CoffeeScript file.

git (urlLike: string, semver?: string, opts?)

git is the resolver for remote git repository. It will clone repository into UpkModules folder and then copy specified files into Assets folder.

Any valid git can be accepped for urlLike 1st argument. If repository exists on Github, :user/:repo style also can be accepted.

semver for second argument is semantic version range for package.

opts is optional argument that describe which file should be copied into Assets folder.

include: {src: string, dest: string}[]
exclude: string[]

upk (assetName: string, resolver: string | () => Promise<string>)

upk is the resolver for remote unitypackage file. Downloading upk file, extract assets into specified location that are described in unitypackage file.

assetName is used for identifier of the asset and for directory name of package.

resolver is url-like string or resolver function of upk file.

If url-like string was given, then download file from the url and extract it directory. If any async function that returns Promise<string> was given, then extract assets from the promised file or directory.

You can pass zip and git resolver by default. Both will promise resolved resouce directory by downloading remote files.

upk resolver search for .unitypackage file in resolved path. If resolved path is a file, then check it whether has .unitypackage extension. If is a directory, it search by glob {,*/}*.unitypackage pattern. That will find file in the root directory and its all first subdirecties.

Extraction of unitypackage file will be done by its own way. Just like opening it with Unity application, all asset files will be located into Assets folder.

asset(name: string, resolver: string | () => Promise, opts)

asset resolver copy specified file. Except for there are no version control, it has almost same feature with git.

zip(urlLike: string, pathResolver?: () => string)

zip resolver will download zip file and extract it into module directory.
Execution of this resolver is not permitted on the root context. This can only be passed for 2nd argument of zip and asset resolver. zip itself just download and extract zip file.

pathResolver is optional argument. It determines root directory of extracted files. By default, extracted directory will be used.

Known Issues

This package is still pre-release beta version. There may be bugs and limitation.

LICENSE

MIT