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

@cprussin/transform-package-json

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cprussin/transform-package-json

A tool to help generate a package.json for publishing.

  • 1.3.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

@cprussin/transform-package-json v1.3.1Docs


@cprussin/transform-package-json v1.3.1

This package contains a CLI and an API for transforming a package.json into a new location while patching relative paths and removing development-only fields.

Installing

Use the package manager of your choice to install:

  • npm: npm install --save-dev @cprussin/transform-package-json
  • pnpm: pnpm add -D @cprussin/transform-package-json
  • yarn: yarn add -D @cprussin/transform-package-json

CLI Usage

The CLI takes a path to an input package.json and a path to an output package.json. It will then run the following transformations on the input, saving the result to the output path:

  • Remove the devDependencies and scripts fields
  • If --removeType is paassed, remove the type field (for instance, you may want to do this is you're transpiling ESM to CJS)
  • Update relative path references so that the new package.json points to the same files as the old one. Fields that are updated are:
    • main
    • types
    • bin
    • exports

For example, you can use the CLI by calling:

transform-package-json --removeType ./package.json ./dist/package.json

Which will convert this package.json:

{
  name: "foo",
  type: "module",
  main: "./dist/index.js",
  types: "./dist/index.d.js",
  exports: {
    import: "./dist/esm/index.mjs",
    require: "./dist/cjs/index.js",
  },
  scripts: {
    foo: "bar",
  },
  devDependencies: {
    baz: "latest",
  },
}

into this one:

{
  name: "foo",
  main: "./index.js",
  types: "./index.d.js",
  exports: {
    import: "./esm/index.mjs",
    require: "./cjs/index.js",
  },
}

API Usage

You can use transformPackageJson with an input path, output path, and optional Options as a javascript equivalent to the CLI. Alternatively, if you have a non-standard use case for loading/writing files, you can call transformPackageJsonContents, which takes the parsed contents of a package.json and an optional Options and returns the transformed contents.

Type Aliases

Functions

Keywords

FAQs

Package last updated on 03 Jun 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