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

@beabee/beabee-common

Package Overview
Dependencies
Maintainers
2
Versions
138
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@beabee/beabee-common

Shared code between Beabee projects for Node.js, Deno and the browser

  • 0.21.1-alpha.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
10
decreased by-16.67%
Maintainers
2
Weekly downloads
 
Created
Source

beabee-common

beabee-common is a shared codebase utilized across Beabee projects, compatible with Node.js, Deno, and web browsers.

Installation

To install beabee-common, use the following command:

npm install @beabee/beabee-common --save

Usage

Node.js

In a Node.js environment, use beabee-common as follows:

import { parseDate } from "@beabee/beabee-common";

parseDate("2022"); // Returns: [ 2021-12-31T23:00:00.000Z, 'y' ]

Deno

Support for Deno is planned. Details on publishing to deno.land will be provided in the future.

Development

Requirements

Development of beabee-common requires the latest stable versions of both Deno and Node.js:

  • Deno (latest stable version)
  • Node.js (latest stable version)

Build Process

To build the project, run:

npm install
npm run build # Alternatively, use `deno task build`

Scripts

Scripts for NPM and Deno tasks are synchronized, ensuring consistency whether you use npm run ... or deno task .... They are defined in both package.json and deno.json. New scripts can be synchronized with via deno task sync or npm run sync.

Key scripts include:

build

Node.js builds are created using esbuild from Deno source. Deno projects can directly utilize TypeScript source from ./mod.ts.

This runs several sub-scripts:

  • build:types - Generates TypeScript types using the tsc compiler.
  • build:node:
    • build:node:cjs - Creates a CommonJS bundle with esbuild, script located at ./scripts/esbuild.cjs.ts.
    • build:node:esm - Generates an ESM bundle using esbuild, script found at ./scripts/esbuild.esm.ts.

Deno's support for NPM packages differs in syntax, e.g., date-fns is imported as import { format } from "npm:date-fns"; in Deno, and import { format } from "date-fns"; in Node.js. Aliases in deno.json enable consistent codebase usage across environments.

sync

Synchronizes dependencies and scripts across package.json and deno.json to establishing necessary aliases in Deno and to make the scripts callable from both. See ./scripts/sync.ts for details.

generate:index

Generates index.ts files. Located at ./scripts/generate-index.ts.

format

Formats code using Deno's standard formatter.

lint

Lints code using Deno's standard linter.

test

Testing is divided into several scripts:

  • test:types - Checks for type errors using tsc.
  • test:deno - Main tests using Deno's standard testing framework.
  • test:node:
    • test:node:esm - Tests ESM build importability in Node.js.
    • test:node:cjs - Tests CJS build importability in Node.js.

Manage Dependencies

You can use dependencies for both NPM and Deno. When incorporating Deno packages, they must be bundled for Node.js compatibility. For a practical example, refer to this pull request. For integrating NPM dependencies, consult the sync script which ensures synchronization between the dependency configurations for both environments.

Cross Platform Compatibility

This module is cross platform independent and can be used under Node.js, Deno and in the browser. Therefore, please do not use any runtime APIs from Node.js, Deno or the Web API unless it is available in all these runtimes.

License

beabee-common is licensed under the AGPL-3.0 license.

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