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

@openiap/nodeagent

v0.0.104

Published

Package for handling packages. Used to run packakes in [docker](https://hub.docker.com/r/openiap/nodeagent), native on the os as a daemon, and in user desktop with [assistant](https://github.com/openiap/assistant)

Downloads

267

Readme

Package for handling packages. Used to run packakes in docker, native on the os as a daemon, and in user desktop with assistant

npm i @openiap/nodeagent

run as

to install on linux/macos

npx -y @openiap/nodeagent

On windows, make sure you are running as local system. This is due to, the service will be running as local system as well. So then NPX script needs access to the same locations as the service will be running as ( and have the same envoriment variables ) You can do that by downloading PSTools and running psexec

PsExec.exe -s -i cmd.exe

and in the new window that opens, just follow the guides for linux/mac, for instance, for installing the servvice, run

npx -y @openiap/nodeagent

Run this to clean npx cache

npm cache clean --force
npx clear-npx-cache

test running in console

npx -y @openiap/nodeagent -service

To remove service

npx -y @openiap/nodeagent -uninstall

To remove service, and remove from system

npx -y @openiap/nodeagent -uninstall
npx clear-npx-cache

To re-install service

npx -y @openiap/nodeagent -uninstall
npx clear-npx-cache
npx -y @openiap/nodeagent

To proxy a port from another agent, you first supply the agentname and next the port name. You define the port name when you publish the package, (see ports)

npx @openiap/nodeagent agent1:web

When a package gets published from vs.code it should have these fields in your package.json

    "openiap": {
        "language": "nodejs",
        "typescript": true,
        "daemon": false,
        "chromium": false
    }
  • language - tell the agent what runtime to use when executing the code
  • typescript - not used at the moment, but is intented to be used when typescrip has not been compiles and is run using node-ts
  • daemon - is used by the agent and openflow to determine if this is a never ending process ( like something listning on a port, or waiting on events )
  • chromium - used by openflow to control what packages to show for an agent. Will only allow this package to run on agents that has an chrome or chromium browser.

ports

You can also add a map of ports you will be listening on

    "openiap": {
        "ports": [
            {"port": 3000, "portname": "web", "protocol": "TCP", "web": true}
        ]
    }

if port is left empty, and random free port will be used. If port is already in use, a new free port number will be used, and injected as an envoriment variable into the host using the portname So in above example an envoriment variable named "web" will contain the value of the port the package should use.

protocol and web is not used right now.

  • protocol is used when support for UDP has been added.
  • web is intented to be used when agents gets support for sharing the same port between multiple packages using a common webserver.