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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@curtissimo/create-elm-package-gitlab

v0.2.5

Published

Create an Elm package starter repo for GitLab.

Readme

create-elm-package-gitlab

This package lets you scaffold an Elm package for hosting on GitLab.

npm init @curtissimo/elm-package-gitlab

Features

  • Prompts you for information
  • Publishes to package.elm-lang.org
  • Publishes JS/TS and CSS/SCSS assets to NPM
  • Includes linting checks
  • Verifies code examples

Why? WHY!?

Well, you see, I prefer GitLab over GitHub. But, as you likely know, Elm forces us to use GitHub. So, I made this so I can create Elm packages that lives on GitLab, is mirrored on GitHub, and publishes like a champ.

What am I getting into with this?

Hopefully, a happy and easy-to-use GitLab project that handles all the CI/CD stuff for you!

There's definitely some manual initial setup with this. You could script it with the GitLab CLI and GitHub CLI. That's likely a feature I'll add in the future.

Here's what you'll have to do when you set up a new package.

  • Create an empty GitLab
  • Set up the GitHub mirror
  • Initialize the local Git repository and set the origin

If you're going to publish to NPM, too, you'll want to:

  • Publish an alpha version of the package to NPM
  • Create a "Trusted Publisher" connection from NPM to GitLab

CLI Options

If you specify a value for one of the CLI options, then the generator will not prompt you for it interactively.

usage: npm init @curtissimo/elm-package-gitlab [option, ...] [destination]

Create an Elm package starter repo for GitLab.

positional arguments:
  destination           The sword-case name of the directory to create to hold
                        your package.

optional arguments:
  -h, --help            show this help message and exit
  --author-email AUTHOR_EMAIL
                        The email of the package's author. (default:
                        [email protected])
  --author-name AUTHOR_NAME
                        The name of the package's author. (default: "Curtis
                        Schlak")
  --description DESCRIPTION
                        The SHORT description of this package.
  --github-org GITHUB_ORG
                        The name of the GitHub user or org where the code is
                        MIRRORED.
  --gitlab-org GITLAB_ORG
                        The name of the GitLab user or org where the code is
                        HOSTED.
  --has-css, --no-has-css
                        Use if this package needs to publish CSS to NPM for
                        proper use.
  --has-javascript, --no-has-javascript
                        Use if this package needs to publish JavaScript to NPM
                        for proper use.
  --has-sass, --no-has-sass
                        Use if you want to compile SASS to CSS and publish
                        that to NPM.
  --has-typescript, --no-has-typescript
                        Use if you want to compile TypeScript to JavaScript
                        and publish that to NPM.
  --is-stateful, --no-is-stateful
                        Will stub out init, subscriptions, update, and view
                        functions in the main module.
  --license {BSD-3-Clause,OTHER,GPL,LGPL,MIT,MOZILLA}
                        The license to publish the package under.
  --npm-scope NPM_SCOPE
                        The NPM scope for the CSS and JavaScript package
                        published. (Only valid if compiling assets.)
  --package-name PACKAGE_NAME
                        The sword case name to publish the package on
                        package.elm-lang.org, for example,
                        elm-my-cool-package.
  --version             show program's version number and exit

NAMING

The package will be converted from sword case to Pascal case for the module
name.

The GitLab organization name will be converted from sword/snake case to Pascal
case and used as the top-level module.

NOTES

This project uses Parcel as its build tool for Sass, TypeScript, and the
example. If you want to use something else, just rip out what's generated
and install your own thing.