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

@tabula/forge

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tabula/forge - npm Package Versions

124

1.1.3

Diff

Changelog

Source

1.1.3

Patch Changes

tabula
published 1.1.2 •

Changelog

Source

1.1.2

Patch Changes

tabula
published 1.1.1 •

Changelog

Source

1.1.1

Patch Changes

  • #25 4e5e4cf Thanks @demiazz! - skip undocumented props when generate metadata for Storybook
tabula
published 1.1.0 •

Changelog

Source

1.1.0

Minor Changes

  • #23 d81e5d4 Thanks @demiazz! - don't wrap SVG components with React.memo by default

    If you need to change this behaviour, you can use .svgrrc files, which supported out of the box, instead of exportType, namedExport and svgo options. They are set up by the forge itself.

tabula
published 1.0.3 •

Changelog

Source

1.0.3

Patch Changes

tabula
published 1.0.2 •

Changelog

Source

1.0.2

Patch Changes

tabula
published 1.0.1 •

Changelog

Source

1.0.1

Patch Changes

tabula
published 1.0.0 •

Changelog

Source

1.0.0

Major Changes

  • #14 b0d7f4c Thanks @demiazz! - merge build and watch commands.

    The watch command has been replaced with -w,--watch option. Also, we replace platform command with -t,--target option.

    You should change:

    forge watch node
    

    to the following code:

    forge build --target node --watch
    

Minor Changes

  • #14 b0d7f4c Thanks @demiazz! - add support of configuration file

    You can use configuration file. We're looking for:

    • a forge property in the package.json;
    • a JSON or YAML .forgerc file;
    • an .forgerc file with .json, .yaml, .yml, .js, .mjs or .cjs
    • any of the above two inside a .config subdirectory;
    • a forge.config.js, forge.config.mjs, or forge.config.cjs file.

    Look at example of JSON configuration:

    {
      "$schema": "https://github.com/ReTable/forge/blob/main/schemas/forgerc.json",
    
      "target": "node",
    
      "entry": "index",
    
      "check": true,
      "typings": true,
    
      "postBuild": "touch lib/meta.js",
    
      "build": {
        "production": true
      },
    
      "watch": {
        "production": false,
        "storybook": true
      }
    }
    
  • #14 b0d7f4c Thanks @demiazz! - add support of post build hooks

    You can use one or more post build hooks:

    forge build --target node --post-build "touch lib/index.js" --post-build "touch index.d.ts":"typings"
    

Patch Changes

  • #14 b0d7f4c Thanks @demiazz! - add init command

    You can generate .forgerc with init command.

    Example:

    forge init --target node
    
tabula
published 0.3.0 •

Changelog

Source

0.3.0

Minor Changes

  • #12 0813828 Thanks @demiazz! - add support of multiple entries

    You can use --entry option to define entry points.

    The --entry option has the following syntax: --entry <in>[:<out>]. You can use this option more than one time to define multiple entries.

    Default behaviour

    By default, the forge always searches <packageRoot>/src/index.tsx or <packageRoot>/src/index.ts entry point, and always bundles it to the <packageRoot>/lib/index.js.

    The following command:

    $ forge build browser
    

    is equivalent to this command:

    $ forge build browser --entry index
    
    Input format

    We allow to define input module as path to file or as path to module. A given path will be automatically prepended by ./src/ path before it will be transferred to the esbuild.

    If you provide a module path, then the forge will search entry point in different ways.

    For example, look at the next command:

    $ forge build browser --entry nodes
    

    The forge will search entry point in the following order:

    • <packageRoot>/src/nodes.tsx
    • <packageRoot>/src/nodes.ts
    • <packageRoot>/src/nodes/index.tsx
    • <packageRoot>/src/nodes/index.ts
    Output format

    By default, the forge uses module path relative to the <packageRoot>/src directory.

    For example, look at this command:

    $ forge build browser --entry nodes
    

    The forge create <packageRoot>/lib/nodes.js bundle independent of entry point (nodes.ts or nodes/index.ts).

    But if you call it in the following style:

    $ forge build browser --entry nodes/index
    

    Then the <packageRoot>/lib/nodes/index.js will be created.

    Also, don't provide .js extension for output entry. It will be added automatically.

    But even if you provide it, then we automatically remove it before calling of esbuild to prevent creating a file with doubled .js extension.

    Code Splitting

    Support of multiple entries enables code splitting feature to share the code inside a bundled library.

    It creates ESM modules with shared code and uses them in bundles.

    Each JS bundle will automatically import own CSS bundle in beginning of file if a CSS bundle is exists.

    IMPORTANT: This feature not working with CSS. Yes, your imports from CSS modules or vanilla-extract will be shared, but own CSS bundle will be created for each JS bundle, even they have a similar styles inside. Hashed classes will be identical in all CSS bundles too. Keep it in mind.

Patch Changes

tabula
published 0.2.3 •

Changelog

Source

0.2.3

Patch Changes

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