@charlietango/nuget

Package and publish a NuGet package to a custom feed.

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
@charlietango/nuget
Minified + gzip package size for @charlietango/nuget in KB

Readme

NuGet task

Package and publish a NuGet package to a custom feed. This is built for our specific needs on our own internal projects.

Requirements

  • Node 8.x+
  • Mono - For Mac/Linux

Usage

Add the dependency

yarn add @charlietango/nuget --dev

Build your static project into a build directory dist/static, and package it with the Node API:

const nuget = require('@charlietango/nuget');

nuget({
  files: 'dist',
  output: 'output',
});

or calling the bin

$ ct-nuget dist -o output

The NuGet will be packaged and pushed to the feed.

Structure

To avoid polluting the .NET projects, all the files in the NuGet package should be contained in a directory. By default we are using the static directory inside dist dist. Once the NuGet package is installed, a shell script will copy all the files into the project

Config

Name Type Default Description
name string name from package.json
packageId string dk.charlietango.{upperFirst(camelCase(name))} Valid packageId
version string version from package.json Valid semver version string
files glob dist in project root The directories and files to add.
rootDir string dist The root directory. This will be removed from all the paths.
globOptions Object {ignore: ['**/index.html']}
author string 'Charlie Tango'
iconUrl string https://ct-assets.netlify.com/React_logo-64.png
description string description from package.json
apiKey string process.env.NUGET_API_KEY
nugetFeed string process.env.NUGET_FEED
output string Copy the .nupkg file to this directory
cache string node_modules/.cache/nuget Temp directory to use when building
legacyInstall boolean false Don't add the powershell tools to copy files into the project after install, and instead use the special "content" directory
quiet boolean false

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.