# @form8ion/javascript-core 中文文档

规范地址：https://npmcn.com/package/%40form8ion/javascript-core/

版本：13\.0\.1
npm 元数据更新时间：2026-08-16T04:14:49.853Z
中文译文更新时间：2026-11-15T08:18:58.225Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40form8ion/javascript-core
原文对照：https://npmcn.com/package/%40form8ion/javascript-core/?lang=original
项目主页：https://www.npmjs.com/package/@form8ion/javascript-core
源码仓库：https://github.com/form8ion/javascript-core

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：32.4 kB，8 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- Node.js 要求：^18\.19\.0 \|\| ^20\.6\.1 \|\| \>=22
- 运行依赖：7 个
- 首次发布：2020-06-21T05:25:36.214Z
- 最新版本发布：2026-08-16T04:14:49.508Z
- 近 30 天下载量：17886（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：84（近 12 个月 4 个）

## 中文简介

与 JavaScript 相關的 Form8ion 工具的核心逻辑, 如 javascript- 脚手架和 lift- javascript

## 安装

```sh
npm install @form8ion/javascript-core
```

也可以使用：`pnpm add @form8ion/javascript-core`、`yarn add @form8ion/javascript-core`、`bun add @form8ion/javascript-core`

## README

应报道# javascript- core

与 JavaScript 相關的窗体8ion 工具的核心逻辑, 如 [javascript-脚手](https://github.com/travi/javascript-scaffolder) 财务报告和审定财务报表 [升起标记](https://github.com/form8ion/lift-javascript)

[![Node CI Workflow Status](https://img.shields.io/github/actions/workflow/status/form8ion/javascript-core/node-ci.yml.svg?branch=master&logo=github)](https://github.com/form8ion/javascript-core/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster) [![Codecov](https://img.shields.io/codecov/c/github/form8ion/javascript-core/master?logo=codecov)](https://codecov.io/github/form8ion/javascript-core) ![SLSA Level 2](https://slsa.dev/images/gh-badge-level2.svg) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/form8ion/javascript-core/badge)](https://securityscorecards.dev/viewer/?uri=github.com/form8ion/javascript-core)

## 目录

-   [使用量](https://npmcn.com/package/%40form8ion/javascript-core/#readme-usage)
    -   [安装](https://npmcn.com/package/%40form8ion/javascript-core/#readme-installation)
    -   [示例](https://npmcn.com/package/%40form8ion/javascript-core/#readme-example)
        -   [导入](https://npmcn.com/package/%40form8ion/javascript-core/#readme-import)
        -   [执行](https://npmcn.com/package/%40form8ion/javascript-core/#readme-execute)
    -   [API 密码](https://npmcn.com/package/%40form8ion/javascript-core/#readme-api)
        -   [`scaffoldChoice`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-scaffoldchoice)
            -   [`choices` **对象** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-choices-object-required)
            -   [`choice` **字符串** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-choice-string-required)
            -   [`options` **对象** (单位:千美元)_选项_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-options-object-optional)
        -   [`installDependencies`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-installdependencies)
            -   [`dependencies` **字符串列表** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-dependencies-list-of-strings-required)
            -   [`dependenciesType` **字符串** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-dependenciestype-string-required)
            -   [`projectRoot` **字符串** (单位:千美元)_选项_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projectroot-string-optional)
            -   [`packageManger` **字符串** (单位:千美元)_选项_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-packagemanger-string-optional)
                -   [依赖类型](https://npmcn.com/package/%40form8ion/javascript-core/#readme-dependency-types-constants)
        -   [`projectTypes`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projecttypes)
        -   [`packageManagers`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-packagemanagers)
        -   [`dialects`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-dialects)
        -   [`projectTypeShouldBePublished`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projecttypeshouldbepublished)
            -   [`projectType` **字符串** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projecttype-string-required)
        -   [`coverageShouldBeReported`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-coverageshouldbereported)
            -   [`visibility` **字符串** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-visibility-string-required)
            -   [`tests` **对象** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-tests-object-required)
        -   [`writePackageJson`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-writepackagejson)
            -   [`projectRoot` **字符串** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projectroot-string-required)
            -   [`config` **对象** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-config-object-required)
        -   [`mergeIntoExistingPackageJson`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-mergeintoexistingpackagejson)
            -   [`projectRoot` **字符串** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projectroot-string-required-1)
            -   [`config` **对象** (单位:千美元)_所需经费_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-config-object-required-1)
        -   [节点版本类别](https://npmcn.com/package/%40form8ion/javascript-core/#readme-node-version-categories)
            -   [`determineLtsNodeMajorVersions`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-determineltsnodemajorversions)
                -   [`withinRange` **字符串** (单位:千美元)_选项_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-withinrange-string-optional)
            -   [`determineSupportedNodeMajorVersions`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-determinesupportednodemajorversions)
                -   [`withinRange` **字符串** (单位:千美元)_选项_(中文(简体) )](https://npmcn.com/package/%40form8ion/javascript-core/#readme-withinrange-string-optional-1)
-   [捐款](https://npmcn.com/package/%40form8ion/javascript-core/#readme-contributing)
    -   [依赖关系](https://npmcn.com/package/%40form8ion/javascript-core/#readme-dependencies)
    -   [核查](https://npmcn.com/package/%40form8ion/javascript-core/#readme-verification)

## 使用量

[![MIT license](https://img.shields.io/github/license/form8ion/javascript-core.svg?logo=opensourceinitiative)](https://npmcn.com/package/%40form8ion/javascript-core/LICENSE) [![npm](https://img.shields.io/npm/v/@form8ion/javascript-core?logo=npm)](https://www.npmjs.com/package/@form8ion/javascript-core) ![node](https://img.shields.io/node/v/@form8ion/javascript-core?logo=node.js) [![Try @form8ion/javascript-core on RunKit](https://badge.runkitcdn.com/@form8ion/javascript-core.svg)](https://npm.runkit.com/@form8ion/javascript-core)

### 安装

```sh
$ npm install @form8ion/javascript-core --save-prod
```

### 示例

#### 导入

```javascript
const {scaffoldChoice} = require('@form8ion/javascript-core');
```

#### 执行

```javascript
(async () => {
  await scaffoldChoice(
    {foo: {scaffold: options => options}},
    'foo',
    {bar: 'baz'}
  );
})();
```

### API 密码

#### `scaffoldChoice`

执行 `scaffolder` 函数从提供的映射 选项名称.

需要三个未知参数:

##### `choices` **对象** (单位:千美元)_所需经费_(中文(简体) )

-   键 : **字符串** 选择名称
-   值 : **对象**
    -   `scaffolder`数字 : **函数** (单位:千美元)_所需经费_脚手架 选择选项

##### `choice` **字符串** (单位:千美元)_所需经费_(中文(简体) )

选取之名. 应匹配来自 [`choices` 对象](https://npmcn.com/package/%40form8ion/javascript-core/#readme-choices-object-required)。 。 。 .

##### `options` **对象** (单位:千美元)_选项_(中文(简体) )

选项

#### `installDependencies`

安装所提供软件包依赖性的函数 .

需要四个未命名的参数:

##### `dependencies` **字符串列表** (单位:千美元)_所需经费_(中文(简体) )

要安装的包名列表 .

##### `dependenciesType` **字符串** (单位:千美元)_所需经费_(中文(简体) )

定义所提供软件包名称的列表是否应当作为 prod 或 德从相依. 如果提供了“ dev ” ,则列表将安装在 `--save-exact` 旗帜.

##### `projectRoot` **字符串** (单位:千美元)_选项_(中文(简体) )

工程根的文件系统路径

##### `packageManger` **字符串** (单位:千美元)_选项_(中文(简体) )

指定用于依赖的软件包管理器的名称 安装。 默认为 `npm`

###### 依赖类型

用于定义有效选项的常数 [`dependenciesType`](https://npmcn.com/package/%40form8ion/javascript-core/#readme-dependenciestype-string-required)

-   `PROD_DEPENDENCY_TYPE`
-   `DEV_DEPENDENCY_TYPE`

#### `projectTypes`

定义 JavaScript 项目类型的常数

-   `APPLICATION`
-   `PACKAGE`
-   `CLI`

#### `packageManagers`

定义可用软件包管理器的常数

-   `NPM`
-   `YARN`

#### `dialects`

定义可用的 JavaScript 源方言的常数

-   `COMMON_JS`
-   `BABEL`
-   `ESM`
-   `TYPESCRIPT`

#### `projectTypeShouldBePublished`

优先指定函数以确定是否 [项目类型](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projecttypes) 是一个 应公布

还有一个论点:

##### `projectType` **字符串** (单位:千美元)_所需经费_(中文(简体) )

应该是一个 [项目类型](https://npmcn.com/package/%40form8ion/javascript-core/#readme-projecttypes) 选项

#### `coverageShouldBeReported`

确定是否应报告覆盖范围的预设职能

有两个论点:

##### `visibility` **字符串** (单位:千美元)_所需经费_(中文(简体) )

项目的能见度(`Public` 或者说 `Private`(中文(简体) )

##### `tests` **对象** (单位:千美元)_所需经费_(中文(简体) )

-   `unit` **布尔** (单位:千美元)_选项_(中文(简体) ) 项目是否进行单元测试

#### `writePackageJson`

将提供的配置写入 `package.json` 项目

接受一个选项对象作为唯一参数,其属性如下:

##### `projectRoot` **字符串** (单位:千美元)_所需经费_(中文(简体) )

工程根的文件系统路径

##### `config` **对象** (单位:千美元)_所需经费_(中文(简体) )

要写入的配置 `package.json` 作为表格的全部内容 文件

#### `mergeIntoExistingPackageJson`

将所提供的配置合并到现有的 `package.json` 项目

接受一个选项对象作为唯一参数,其属性如下:

##### `projectRoot` **字符串** (单位:千美元)_所需经费_(中文(简体) )

工程根的文件系统路径

##### `config` **对象** (单位:千美元)_所需经费_(中文(简体) )

将配置与当前内容合并 `package.json`

#### 节点版本类别

帮助在定义的类别中确定支持的节点.js版本 [一揽子支助准则](https://github.com/nodejs/package-maintenance/blob/a2d9417cc8345a21016a1b62109ae64f9de7f06d/docs/PACKAGE-SUPPORT.md#node-namespace)。 。 。 . 参见 [发布时间表](https://nodejs.org/en/about/releases/) 页:1 当前状态.

##### `determineLtsNodeMajorVersions`

返回当前 LTS 主要版本列表 _活动_ 或者说 _维修_ 状态,可选择由提供的 semver 范围过滤.

接受一个选项对象作为唯一参数,其属性如下:

###### `withinRange` **字符串** (单位:千美元)_选项_(中文(简体) )

与 [节点集成器](https://www.npmjs.com/package/semver), (中文(简体) ), 来过滤当前主要 LTS 版本的列表.

##### `determineSupportedNodeMajorVersions`

返回目前未处于报废状态的主要版本清单, 可选择通过提供的分解范围过滤.

接受一个选项对象作为唯一参数,其属性如下:

###### `withinRange` **字符串** (单位:千美元)_选项_(中文(简体) )

与 [节点集成器](https://www.npmjs.com/package/semver), (中文(简体) ), 来过滤当前主要 LTS 版本的列表.

## 捐款

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com/) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org/) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![semantic-release](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) [![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen.svg?logo=renovate)](https://renovatebot.com/)

### 依赖关系

```sh
$ nvm install
$ npm install
```

### 核查

```sh
$ npm test
```

## 常见问题

### @form8ion/javascript-core 是什么？

与 JavaScript 相關的 Form8ion 工具的核心逻辑, 如 javascript- 脚手架和 lift- javascript

### 如何安装 @form8ion/javascript-core？

在项目目录运行 npm install @form8ion/javascript-core，或使用 pnpm add / yarn add / bun add。

### @form8ion/javascript-core 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/form8ion\_\_javascript-core 是否存在。

### @form8ion/javascript-core 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @form8ion/javascript-core 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^18\.19\.0 \|\| ^20\.6\.1 \|\| \>=22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @form8ion/javascript-core 可以商用吗？

@form8ion/javascript-core 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @form8ion/javascript-core 的下载量有多少？

根据 npm 官方下载统计，@form8ion/javascript-core 在 2026/10/16 – 2026/11/14 这 30 天内被下载 17,886 次，日均约 596 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @form8ion/javascript-core 还在维护吗？

最新版本 13\.0\.1 发布于 2026/08/16（2 个月前）；至今共发布 84 个版本，其中过去 12 个月发布了 4 个；首次发布于 2020/06/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

