@futagoza/gulp-publish-package

Will publish the NPM/Yarn packages passed to it from Gulp

Usage no npm install needed!

<script type="module">
  import futagozaGulpPublishPackage from 'https://cdn.skypack.dev/@futagoza/gulp-publish-package';
</script>

README

This package is included with @futagoza/gulp

Will publish the NPM or Yarn packages passed to it from Gulp.

  • --access public by default (publishing scoped packages is simpler)
  • perfect for publishing monorepo packages in sync without the use of Lerna
  • shorter aliases for some flags and options
  • will use NPM by default, but can use Yarn instead (option.yarn = true or --yarn)
  • optionally checks if package version is already on NPM

example

const gulp = require( "gulp" );
const publish = require( "@futagoza/gulp-publish-package" );
const pump = require( "pump" );

// Publish all the packages in this monorepo
gulp.task( "publish", () => pump(

    gulp.src( [
        "plugins/*",
        "helpers/*",
    ] ),
    publish()

) );

options

The options are the same as @futagoza/publish-package, with the exception of:

  • log - Has a default logging function assigned
  • only - Only publish packages with names that match the given pattern (will be interpreted as a string for a RegExp)
  • ignore - A boolean that inverts the affects of only, publishing every package but those that match the pattern
function publish( argv: string[], options?: {} ): stream.Transform;
function publish( options: {} ): stream.Transform;

The following are CLI options that can be used either in place of them, or to over-ride them:

api option cli option npm/yarn option
access --access scope --access scope
check-version --check-version
checkVersion --checkVersion
dry-run --dry-run --dry-run
dry --dry --dry-run
dryRun --dryRun --dry-run
ignore --ignore
new-version --new-version value --new-version value
newVersion --newVersion value --new-version value
only --only pattern
otp --otp value --otp value
otpcode --otpcode value --otp value
private --private --access restricted
public --public --access public
scoped --scoped --access public
registry --registry url --registry url
reg --reg url --registry url
restricted --restricted --access restricted
tag --tag name --tag name
yarn --yarn

NOTE: To circumvent an issue with running npm publish from a yarn run ... command, the registry option is set to https://registry.npmjs.org/ by default when running npm publish only, otherwise it is only included when specified.


History license

@futagoza/gulp-publish-package is Copyright (c) 2018+ Futago-za Ryuu