Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@beabee/beabee-common
Advanced tools
Shared code between Beabee projects for Node.js, Deno and the browser
beabee-common
is a shared codebase utilized across Beabee projects, compatible
with Node.js, Deno, and web browsers.
To install beabee-common
, use the following command:
npm install @beabee/beabee-common --save
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' ]
Support for Deno is planned. Details on publishing to deno.land will be provided in the future.
Development of beabee-common
requires the latest stable versions of both Deno
and Node.js:
To build the project, run:
npm install
npm run build # Alternatively, use `deno task build`
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.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.
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.
beabee-common
is licensed under the AGPL-3.0 license.
FAQs
Shared code between Beabee projects for Node.js, Deno and the browser
The npm package @beabee/beabee-common receives a total of 9 weekly downloads. As such, @beabee/beabee-common popularity was classified as not popular.
We found that @beabee/beabee-common demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.