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

@qsdt/webapi

v3.0.1

Published

QSDT's Web API

Downloads

1

Readme

qsdt-logo@qsdt/webapi

QSDT's webapi core connector

What's this? - Intro

This is QSDT's Web API connector for the core (previously coupled with @qsdt/core), it makes use of the core module to expose all its API via a RESTful API.

How do I use this?

You can git clone this same repo and start it just like this

git clone https://github.com/arthmoeros/qsdt-webapi/
npm install
npm install -g typescript # if you dont have typescript installed
tsc -P .
npm start

...or use it as a npm package, and start it using the provided bin

npm install --save @qsdt/webapi
node_modules/.bin/qsdt-serve

In both cases, by default the config and temporary directories are within the core base folder, you can customize these paths using the environment variables QSDT_CONFIG and QSDT_TMP, here is a unix example:

# Default is ./config
export QSDT_CONFIG=/etc/qsdt_custom
# Default is ./tmp
export QSDT_TMP=/var/qsdt_custom

What's in here? - API

QSDT's Web API runs as an expressJS server, it has the same 4 services available in the API as the core, via RESTful.


Get Form Configurations list

Resource | Method | Request ContentType | Response ContentType -------- | ------ | --------------------- | ----------------------- /forms | GET | application/x-www-form-urlencoded | application/json

Retrieves a list of presumably valid form configurations ids on the configuration path of QSDT. It returns a string array containing each form configuration ID (file name without extension).

Get Form Configuration

Resource | Method | Request ContentType | Response ContentType -------- | ------ | --------------------- | ----------------------- /forms/:id | GET | application/x-www-form-urlencoded | application/json

Retrieves the contents of a identified form configuration file on QSDT as a json string.

Request Artifact Generation

Resource | Method | Request ContentType | Response ContentType -------- | ------ | --------------------- | ----------------------- /generatedArtifacts | POST | application/json | application/json

Requests an artifact generation and returns an uuid to retrieve the generated artifacts. The RESTful API responds with the location of the created resource (generated artifact) in the Location header.

Retrieve generated artifacts

Resource | Method | Request ContentType | Response ContentType -------- | ------ | --------------------- | ----------------------- /generatedArtifacts/:uuid | GET | application/x-www-form-urlencoded | application/zip

Retrieves a generated artifact, once is retrieved it is deleted from the temporary folder, any subsequent try to get the same artifact will result in a 404 status code.


How do I handle all the Configuration? - QSDT's Core Configuration

Check out the @qsdt/core README

I don't want a RESTful API, I want an UI and everything working - UI and Docker Image

If you need an User Interface for this, use @qsdt/ui and connect it to the QSDT's API host.

Or if you want everything setup and ready to go, you can pull the docker image from Docker Hub and run it, if you want to run it with your own configuration, bind a volume to a host path with it.

dockeri.co

docker pull arthmoeros/qsdt
docker run -v <host-path>:/etc/qsdt/ -p <host-port>:8080 -d arthmoeros/qsdt

The Docker image stores the temporary files within the container, the config folder must be provided as a binded volume in the docker run command, otherwise it will start with the sample configuration.