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

@dcl/asset-packs

v2.1.2

Published

This repo holds all the asset packs for the Editor and Web Editor. When the repo is deployed, all the files are hashed and uploaded to an S3 bucket under `contents/:hash` and an npm package `@dcl/asset-packs` is published with a `catalog.json` that holds

Downloads

2,957

Readme

asset-packs

This repo holds all the asset packs for the Editor and Web Editor. When the repo is deployed, all the files are hashed and uploaded to an S3 bucket under contents/:hash and an npm package @dcl/asset-packs is published with a catalog.json that holds all the asset packs and assets data, and their contents point to the hashes in the bucket. Also a bin/index.js is compiled and published along in the npm package, which must be included in scenes that make use of Smart Items. The bucket is accessible through the builder-items.decentraland.* via Cloudflare.

Production

  • npm: @dcl/asset-packs@latest

  • cdn: https://builder-items.decentraland.org/contents/:hash

Development

  • npm: @dcl/asset-packs@next

  • cdn: https://builder-items.decentraland.zone/contents/:hash

Deployment

Every push to the main branch will be deployed to the development environemnt.

Every release will be deployed to the production environment.

Local Development

You can develop this repo locally and test it within the Web Editor by doing the following:

Go to this repo in your machine and do this:

  1. Run npm run start to watch for changes and start the SDK7 dev server (on port 8000 by default).
  2. On a new terminal, run docker-compose up to start the local content server on http://localhost:9000/asset-packs
  3. On a new terminal, run npm run upload to upload all assets to your local content server (copy the .env.example into .env if you haven't done that before).
  4. Run npm link to allow other projects to symlink to this one.
  5. Copy the path to the bin/index.js in this repo (something like /Users/my-user/path/to/asset-packs/bin/index.js).

Go the js-sdk-toolchain repo in your machine and do this:

  1. Run cd packages/@dcl/inspector.
  2. Run npm link @dcl/asset-packs to symlink to your local repository
  3. Run npm start to start a local dev server. It should start by default on port 8000 but since we are already using it for the SDK7 dev server, it will start on port 8001.

Go to the builder repo in your machine and do this:

  1. Set the REACT_APP_INSPECTOR_PORT env var in .env to be 8001 (this is the @dcl/inspector dev server we started in the previous section).
  2. Set the REACT_APP_BIN_INDEX_JS_DEV_PORT to the port where the SDK7 started running in the first section (by defualt 8000).
  3. Set the REACT_APP_BIN_INDEX_JS_DEV_PATH env var in .env to the path to the bin/index.js that you copied in the first section.
  4. Set the INSPECTOR_CONTENT_URL variable in src/config/env/[dev|stg|prod].json to be http://localhost:9000/asset-packs (this is the content server we started in the first section).
  5. Run npm start to start the builder local server which should start on port 3000

Now you are all set, you can start developing the SDK7 scene in this repo, use it from the local Builder and test it by previewing the scene, which should use your local Builder Server serving the development javascript files.

Troubleshooting

Missing @dcl/ecs dependency

This package has a dependency on @dcl/ecs for several types. This is package is not added as a dependency even though it should be, because this causes an issue when installing @dcl/sdk@next on a scene. The problem is the following dependency chains:

  1. @dcl/sdk -> @dcl/ecs
  2. @dcl/sdk -> @dcl/sdk-commands -> @dcl/inspector -> @dcl/asset-packs -> @dcl/ecs

When a user installs @dcl/sdk@next on as scene, that updates @dcl/ecs from 1) but not the one from 2) and due to the clash npm stores the @latest version on the top level of node_modules and the @next version only whithin the @dcl/sdk/node_modules. This can cause runtime issues.

So we decisded to remove the explicit dependency of @dcl/ecs from the @dcl/asset-packs package, and that allows users to install @dcl/sdk@next or upgrade versions without problems. The downside is that if this package is used in some project where @dcl/ecs is not available, it's going to break. This package is not meant to be used outside of a Decentraland scene anyway so that shouldn't be a problem.