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

@labshare/semantic-release-config

v1.1.6

Published

Shared semantic-release configuration for LabShare Github projects

Downloads

374

Readme

semantic-release-config

semantic-release

Shared configuration for Semantic Release. Details: shared-config.

Available Configurations

Labshare repositories can use the following configurations:

Default:

Defined in index.js file, loaded by default when requiring @labshare/semantic-release-config. Used by both client-side and server-side projects, contains the standard release procedure for semantic-release.

Usage Instructions:

  • Install this module as devDependency: npm i @labshare/semantic-release-config --save-dev
  • Add to your semantic-release config file:
{
  "extends": "@labshare/semantic-release-config"
}

Angular Lib:

Defined in angular-lib.js file, specific for Angular Libraries. Loaded by default when requiring @labshare/semantic-release-config/angular-lib and adapted for the following requirements:

  • Angular Libraries are built with NgPackagr. During build step (npm run build:lib), NgPackagr will create a new folder for the bundled package (/dist, by default). This happens because:
    • Several bundle types will be compiled - FESM2015, FESM5, UMD, Minified UMD bundle, etc.
    • Package metadata will be altered - "main", "module", "es2015" and other fields will be created; npm scripts will be removed (security vulnerabilities)
    • Extra Dependencies might be necessary and will be added automatically.
    • Package Typings and Metadata will be generated by Ngc AOT and exported automatically.

In order for NgPackagr and Semantic-Release integrate correctly, some adjustments have been made necessary:

  • Npm released package should only contain the bundle inside /dist
  • Semantic-release plugin will automatically update package.json and package-lock.json versions to reflect updates on Git repository after a release. However, since the default folder is now /dist, this specific configuration has to update root package.json and package-lock.json files with customized scripts.

Usage Instructions:

In your Angular Library repository:

  • Install ngPackagr as devDependency and configure it

  • Make sure you have build:lib script configured to call ng-packagr in the repo to be built, as well as semantic-release script.

  • Install this module as devDependency: npm i @labshare/semantic-release-config --save-dev

  • Add to your semantic-release config file:

{
  "extends": "@labshare/semantic-release-config/angular-lib"
}
  • Setup your Travis.yml to call build and semantic-release scripts during release step. E.g.:
jobs:
  include:
    - stage: release
      if: branch = master
      node_js: lts/*
      script:
        - npm run build:lib
      deploy:
        provider: script
        skip_cleanup: true
        script:
          - npm run semantic-release
  • Make sure you have configured Travis CI Environment Tokens for Semantic-Release correctly.
    • NPM_TOKEN owner should have publish permission on NPM groups.
    • GH_TOKEN owner should have push permission for the Git Repository.