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

generator-magnetjs

v0.3.0

Published

Yo generator for magnetjs

Downloads

1

Readme

MagnetJS generator

Yeoman generator for MagnetJS - lets you quickly set up a project with sensible defaults and best practices.

Usage

For step-by-step instructions on using Yeoman and this generator to build a Koa api server from scratch

Install yo, generator-magnetjs:

yarn global add yo generator-magnetjs

Make a new directory, and cd into it:

mkdir my-new-project && cd $_

Run yo magnetjs, optionally passing an app name:

yo magnetjs [app-name]

Generators

Available generators:

App

Sets up a new Magnet app, generating all the boilerplate you need to get started. The app generator also optionally additional MagnetJS modules, such as magnet-config (installed by default).

Example:

yo magnetjs

Controller

Generates a controller

Example:

yo magnetjs:controller user

Produces src/controllers/mycontroller.js:

export default function ({
  config,
  log,
  acl,
  models,
  utils: {
    blueprint: { Controller },
    // permission: { authenticatedDeco, isAllowedDeco }
  }
}) {
  class UserController extends Controller {
    // @authenticatedDeco()
    // async list (params, state) {
    //   return []
    // }
  }

  return new UserController('user')
}

Router

Generates a router in app/scripts/controllers.

Example:

yo magnetjs:router user

Produces src/routers/graphql/user.js:

import { graphqlToController } from '../../utils/route'

export default function (app) {
  const Query = {
    // companys: graphqlToController(app, 'company', 'list'),
  }

  const Mutation = {
    // createCompany: graphqlToController(app, 'company', 'create'),
  }

  return { Query, Mutation }
}

Example:

yo magnetjs:router user --type http

Produces src/routers/http/user.js:

export default function ({
  config,
  ctrls,
  log,
  koa_router
}) {
  koa_router

  .get('/', async (ctx) => {
    ctx.body = 'ok'
  })
}

Options

In general, these options can be applied to any generator, though they only affect generators that produce scripts.

TypeScript

For generators that output scripts, the --typescript will output TypeScript instead of JavaScript.

For example:

yo magnetjs:controller user --typescript

Produces app/scripts/controller/user.ts: