Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

npm-pkgbuild

Package Overview
Dependencies
Maintainers
1
Versions
892
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

npm-pkgbuild

create ArchLinux, RPM and Debian packages from npm packages

  • 15.3.14
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
486
decreased by-79.68%
Maintainers
1
Weekly downloads
 
Created
Source

npm License Typed with TypeScript bundlejs downloads GitHub Issues Build Status Styled with prettier Commitizen friendly Known Vulnerabilities Coverage Status

npm-pkgbuild

Create ArchLinux, RPM, Debian and Docker packages from npm packages.

usage

In a package directory execute

npm-pkgbuild --rpm --debian --arch --content /destination:build --publish /some/directory

This will create a arch, rpm and a debian package of the build dir.

upload package

npm-pkgbuild --arch --content build --publish 'https://my.package-service.com/binaries/linux/{{type}}/{{access}}/{{arch}}'

You can specify the package content in package.json.

{
  "pkgbuild": {
    "content": {
      "/some/location/" : { "base": "build" },
      "/etc/myconfig.json" : "sample-config.json",
      "/erc/secret" : { "name":  "secret", "mode": "600" },
      "/opt/myapp": [
        {
          "type": "npm-pack"
        },
        {
          "type": "node-modules",
          "withoutDevelpmentDependencies": true
        }
      ]
    },
    "hooks" : "pkg/hooks",
    "output": {
      "debian" : {},
      "rpm" : {},
      "arch" : {}
    },
  "dependencies": { "nginx" : ">=1.12" }
  }
}

content providers

Defining where the package content should come from.

files (default)

content from the file system

npm-pack

content as provided by npm pack

node-modules

content of all (production) dependencies

options: - withoutDevelpmentDependencies when to stip away dev dependencies (defaults to true)

shared configuration

You can import common configuration from other packages. See mf-hosting or mf-hosting-frontend modules.

API

Table of Contents

ContentProvider

Source of package content.

Parameters

  • definitions
  • entryProperties

Properties

asyncIterator

List all entries.

Returns AsyncIterable<ContentEntry> all entries

FileContentProvider

Extends ContentProvider

Content provided form the file system.

Parameters

name

Returns string name of the content provider

utf8StreamOptions

Type: Object

Properties

  • encoding BufferEncoding

packageNameMapping

What is the node name in the package eco-system

decodePassword

Decode a password

Parameters

Returns string plaintext password

FunctionDecl

Type: Object

Properties

extractFunctions

Extract shell functions from a given text.

Parameters

Returns AsyncIterable<FunctionDecl>

fieldProvider

Parameters

Returns Function

Expander

Type: Function

Parameters

Returns string

copyEntries

Copy content from source into destinationDirectory. Destination paths a generated without leading '/' (as for entry names too).

Parameters

  • source AsyncIterable<ContentEntry>
  • destinationDirectory string
  • expander Expander (optional, default v=>v)

NFTContentProvider

Extends ContentProvider

Content provided form the file system.

Parameters

name

Returns string name of the content provider

NodeModulesContentProvider

Extends ContentProvider

Content from node_modules. Requires .npmrc or NPM_TOKEN environment

Parameters

  • definitions
  • entryProperties

Properties

  • withoutDevelpmentDependencies boolean

name

Returns string name of the content provider

NPMPackContentProvider

Extends ContentProvider

Content from npm pack.

Parameters

  • definitions Object
  • entryProperties Object to be set for each entry

Properties

name

Returns string name of the content provider

pkgKeyValuePairOptions

Type: Object

fields

well known package properties https://www.archlinux.org/pacman/PKGBUILD.5.html

fields

fields

fields

BUILDAH

Extends DOCKER

Use buildah @see https://buildah.io

hookMapping

map install hook named from arch to deb

hookMapping

map install hook named from arch to rpm

DEBIAN

Extends Packager

Create .deb packages

prepare

Parameters

Returns Promise<boolean>

DOCKER

Extends Packager

docker image build

prepare

Check for docker presence.

Parameters

Returns Promise<boolean> true when docker executable is present

OCI

Extends Packager

Low level OCI compatible packager

Packager

Parameters

  • properties

tmpdir

Create tmp directory.

Returns Promise<string> directory path

prepare

Prepares artifact generation

Parameters

Returns Promise<{properties: Object, destination: string, tmpdir: string, staging: string}>

create

Execute package generation.

Parameters

Returns Promise<string> identifier of the resulting package

workspaceLayout

Returns {named: object, others: []}

prepare

Parameters

Returns Promise<boolean>

Packager

Base Packager

Parameters

tmpdir

Create tmp directory.

Returns Promise<string> directory path

prepare

Prepares artifact generation

Parameters

Returns Promise<{properties: Object, destination: string, tmpdir: string, staging: string}>

create

Execute package generation.

Parameters

Returns Promise<string> identifier of the resulting package

workspaceLayout

Returns {named: object, others: []}

prepare

Parameters

Returns Promise<boolean>

Field

Type: Object

Properties

PublishingDetail

Type: Object

Properties

createPublishingDetails

Parameters

Returns Array<PublishingDetail>

publish

Parameters

quoteFile

Parameters

  • name

RPM

Extends Packager

produce rpm packages

prepare

Check for rpmbuild presence.

Parameters

Returns Promise<boolean> true when rpmbuild executable is present

install

With npm do:

npm install npm-pkgbuild

license

BSD-2-Clause

Keywords

FAQs

Package last updated on 16 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc