snapshot of https://github.com/dream-num/univer.git (dev, 2026-09-16; blobs > 131072B omitted)
Some checks failed
📦 Build / build (push) Has been cancelled
🧪 CI Test / test shard (1/4) (push) Has been cancelled
🧪 CI Test / test shard (2/4) (push) Has been cancelled
🧪 CI Test / test shard (3/4) (push) Has been cancelled
🧪 CI Test / test shard (4/4) (push) Has been cancelled
🧪 CI Test / test (push) Has been cancelled
🧪 CI Test / eslint (push) Has been cancelled
🧪 CI Test / typecheck (push) Has been cancelled
🔫 Sync to Pro / dispatch-sync (push) Has been cancelled
🔮 Sync Mirror / sync (push) Has been cancelled
Some checks failed
📦 Build / build (push) Has been cancelled
🧪 CI Test / test shard (1/4) (push) Has been cancelled
🧪 CI Test / test shard (2/4) (push) Has been cancelled
🧪 CI Test / test shard (3/4) (push) Has been cancelled
🧪 CI Test / test shard (4/4) (push) Has been cancelled
🧪 CI Test / test (push) Has been cancelled
🧪 CI Test / eslint (push) Has been cancelled
🧪 CI Test / typecheck (push) Has been cancelled
🔫 Sync to Pro / dispatch-sync (push) Has been cancelled
🔮 Sync Mirror / sync (push) Has been cancelled
This commit is contained in:
38
presets/packages/preset-sheets-node-core/README.md
Normal file
38
presets/packages/preset-sheets-node-core/README.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# @univerjs/preset-sheets-node-core
|
||||
|
||||
[](https://npmjs.com/package/@univerjs/preset-sheets-node-core)
|
||||
[](https://npmjs.com/package/@univerjs/preset-sheets-node-core)
|
||||
[](https://npmjs.com/package/@univerjs/preset-sheets-node-core)
|
||||
|
||||
`@univerjs/preset-sheets-node-core` provides a preset for running Univer Sheets on Node.js with core features.
|
||||
|
||||
## Package Overview
|
||||
|
||||
| Package | CSS | Locales | Facade entry |
|
||||
| ----------------------------------- | :-: | :-----: | :----------: |
|
||||
| `@univerjs/preset-sheets-node-core` | No | Yes | Yes |
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
pnpm add @univerjs/preset-sheets-node-core
|
||||
# or
|
||||
npm install @univerjs/preset-sheets-node-core
|
||||
```
|
||||
|
||||
Keep all `@univerjs/*` packages on the same version.
|
||||
|
||||
## Usage
|
||||
|
||||
```ts
|
||||
import { UniverSheetsNodeCorePreset } from '@univerjs/preset-sheets-node-core';
|
||||
|
||||
// Use with createUniver:
|
||||
// createUniver({ presets: [UniverSheetsNodeCorePreset()] });
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- [Documentation](https://docs.univer.ai)
|
||||
- [NPM package](https://npmjs.com/package/@univerjs/preset-sheets-node-core)
|
||||
- [GitHub repository](https://github.com/dream-num/univer)
|
||||
99
presets/packages/preset-sheets-node-core/package.json
Normal file
99
presets/packages/preset-sheets-node-core/package.json
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"name": "@univerjs/preset-sheets-node-core",
|
||||
"version": "1.0.0-rc.0",
|
||||
"private": false,
|
||||
"description": "Preset for running Univer Sheets on Node.js with core features.",
|
||||
"author": "DreamNum Co., Ltd. <developer@univer.ai>",
|
||||
"license": "Apache-2.0",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/univer"
|
||||
},
|
||||
"homepage": "https://univer.ai",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/dream-num/univer"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/dream-num/univer/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"univer",
|
||||
"univer-preset",
|
||||
"sheets",
|
||||
"node",
|
||||
"core"
|
||||
],
|
||||
"sideEffects": [
|
||||
"*.css"
|
||||
],
|
||||
"exports": {
|
||||
".": "./src/index.ts",
|
||||
"./worker": "./src/worker.ts",
|
||||
"./locales/*": "./src/locales/*.ts",
|
||||
"./lib/*": "./lib/*"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"main": "./lib/es/index.js",
|
||||
"module": "./lib/es/index.js",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./lib/es/index.js",
|
||||
"require": "./lib/cjs/index.js",
|
||||
"types": "./lib/types/index.d.ts"
|
||||
},
|
||||
"./worker": {
|
||||
"import": "./lib/es/worker.js",
|
||||
"require": "./lib/cjs/worker.js",
|
||||
"types": "./lib/types/worker.d.ts"
|
||||
},
|
||||
"./locales/*": {
|
||||
"import": "./lib/es/locales/*.js",
|
||||
"require": "./lib/cjs/locales/*.js",
|
||||
"types": "./lib/types/locales/*.d.ts"
|
||||
},
|
||||
"./lib/*": "./lib/*"
|
||||
}
|
||||
},
|
||||
"main": "./src/index.ts",
|
||||
"directories": {
|
||||
"lib": "lib"
|
||||
},
|
||||
"types": "./lib/types/index.d.ts",
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"scripts": {
|
||||
"prepare": "univer-cli preset prepare",
|
||||
"build:bundle": "univer-cli preset build --cleanup",
|
||||
"build:types": "tsc -p tsconfig.node.json",
|
||||
"build": "pnpm run build:bundle && pnpm run build:types",
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rxjs": ">=7.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@univerjs/docs": "workspace:*",
|
||||
"@univerjs/engine-formula": "workspace:*",
|
||||
"@univerjs/rpc-node": "workspace:*",
|
||||
"@univerjs/sheets": "workspace:*",
|
||||
"@univerjs/sheets-data-validation": "workspace:*",
|
||||
"@univerjs/sheets-drawing": "workspace:*",
|
||||
"@univerjs/sheets-filter": "workspace:*",
|
||||
"@univerjs/sheets-formula": "workspace:*",
|
||||
"@univerjs/sheets-hyper-link": "workspace:*",
|
||||
"@univerjs/sheets-numfmt": "workspace:*",
|
||||
"@univerjs/sheets-sort": "workspace:*",
|
||||
"@univerjs/sheets-thread-comment": "workspace:*",
|
||||
"@univerjs/thread-comment": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@univerjs-infra/shared": "workspace:*",
|
||||
"@univerjs/core": "workspace:*",
|
||||
"@univerjs/presets": "workspace:*",
|
||||
"rxjs": "^7.8.2",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
17
presets/packages/preset-sheets-node-core/postcss.config.mjs
Normal file
17
presets/packages/preset-sheets-node-core/postcss.config.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Copyright 2023-present DreamNum Co., Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export { default } from '@univerjs-infra/shared/postcss';
|
||||
29
presets/packages/preset-sheets-node-core/src/index.ts
Normal file
29
presets/packages/preset-sheets-node-core/src/index.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright 2023-present DreamNum Co., Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export * from './preset';
|
||||
export * from '@univerjs/docs';
|
||||
export * from '@univerjs/engine-formula';
|
||||
export * from '@univerjs/rpc-node';
|
||||
export * from '@univerjs/sheets';
|
||||
export * from '@univerjs/sheets-data-validation';
|
||||
export * from '@univerjs/sheets-drawing';
|
||||
export * from '@univerjs/sheets-filter';
|
||||
export * from '@univerjs/sheets-formula';
|
||||
export * from '@univerjs/sheets-hyper-link';
|
||||
export * from '@univerjs/sheets-sort';
|
||||
export * from '@univerjs/sheets-thread-comment';
|
||||
export * from '@univerjs/thread-comment';
|
||||
96
presets/packages/preset-sheets-node-core/src/preset.ts
Normal file
96
presets/packages/preset-sheets-node-core/src/preset.ts
Normal file
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* Copyright 2023-present DreamNum Co., Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import type { IPreset } from '@univerjs/presets';
|
||||
import type { IUniverFormulaConfig } from './types';
|
||||
import { UniverDocsPlugin } from '@univerjs/docs';
|
||||
import { UniverFormulaEnginePlugin } from '@univerjs/engine-formula';
|
||||
import { UniverRPCNodeMainPlugin } from '@univerjs/rpc-node';
|
||||
import { UniverSheetsPlugin } from '@univerjs/sheets';
|
||||
import { UniverSheetsDataValidationPlugin } from '@univerjs/sheets-data-validation';
|
||||
import { UniverSheetsDrawingPlugin } from '@univerjs/sheets-drawing';
|
||||
import { UniverSheetsFilterPlugin } from '@univerjs/sheets-filter';
|
||||
import { UniverSheetsFormulaPlugin } from '@univerjs/sheets-formula';
|
||||
import { UniverSheetsHyperLinkPlugin } from '@univerjs/sheets-hyper-link';
|
||||
import { UniverSheetsSortPlugin } from '@univerjs/sheets-sort';
|
||||
import { UniverSheetsThreadCommentPlugin } from '@univerjs/sheets-thread-comment';
|
||||
import { UniverThreadCommentPlugin } from '@univerjs/thread-comment';
|
||||
|
||||
import '@univerjs/sheets/facade';
|
||||
import '@univerjs/sheets-formula/facade';
|
||||
import '@univerjs/sheets-data-validation/facade';
|
||||
import '@univerjs/engine-formula/facade';
|
||||
import '@univerjs/sheets-filter/facade';
|
||||
import '@univerjs/sheets-hyper-link/facade';
|
||||
import '@univerjs/sheets-numfmt/facade';
|
||||
import '@univerjs/sheets-sort/facade';
|
||||
import '@univerjs/sheets-thread-comment/facade';
|
||||
|
||||
export type * from '@univerjs/engine-formula/facade';
|
||||
export type * from '@univerjs/sheets-data-validation/facade';
|
||||
export type * from '@univerjs/sheets-filter/facade';
|
||||
export type * from '@univerjs/sheets-formula/facade';
|
||||
export type * from '@univerjs/sheets-hyper-link/facade';
|
||||
export type * from '@univerjs/sheets-numfmt/facade';
|
||||
export type * from '@univerjs/sheets-sort/facade';
|
||||
export type * from '@univerjs/sheets-thread-comment/facade';
|
||||
export type * from '@univerjs/sheets/facade';
|
||||
|
||||
export interface IUniverSheetsNodeCorePresetConfig {
|
||||
/**
|
||||
* The formula configuration.
|
||||
*/
|
||||
formula?: IUniverFormulaConfig;
|
||||
|
||||
/**
|
||||
* The URL of the worker script.
|
||||
*/
|
||||
workerSrc?: string;
|
||||
}
|
||||
|
||||
export function UniverSheetsNodeCorePreset(config: Partial<IUniverSheetsNodeCorePresetConfig> = {}): IPreset {
|
||||
const { workerSrc, formula } = config;
|
||||
|
||||
const useWorker = !!workerSrc;
|
||||
|
||||
return {
|
||||
plugins: [
|
||||
useWorker
|
||||
? [UniverRPCNodeMainPlugin, { workerSrc }]
|
||||
: null,
|
||||
[UniverFormulaEnginePlugin, {
|
||||
notExecuteFormula: useWorker,
|
||||
function: formula?.function,
|
||||
}],
|
||||
|
||||
UniverThreadCommentPlugin,
|
||||
UniverDocsPlugin,
|
||||
|
||||
UniverSheetsPlugin,
|
||||
[UniverSheetsFormulaPlugin, {
|
||||
notExecuteFormula: useWorker,
|
||||
description: formula?.description,
|
||||
initialFormulaComputing: formula?.initialFormulaComputing,
|
||||
}],
|
||||
UniverSheetsDataValidationPlugin,
|
||||
UniverSheetsFilterPlugin,
|
||||
UniverSheetsHyperLinkPlugin,
|
||||
UniverSheetsDrawingPlugin,
|
||||
UniverSheetsSortPlugin,
|
||||
UniverSheetsThreadCommentPlugin,
|
||||
].filter((v) => !!v) as IPreset['plugins'],
|
||||
};
|
||||
}
|
||||
27
presets/packages/preset-sheets-node-core/src/types.ts
Normal file
27
presets/packages/preset-sheets-node-core/src/types.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright 2023-present DreamNum Co., Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import type { IUniverEngineFormulaConfig } from '@univerjs/engine-formula';
|
||||
import type { IUniverSheetsFormulaBaseConfig } from '@univerjs/sheets-formula';
|
||||
|
||||
export interface IUniverFormulaConfig extends
|
||||
Pick<IUniverEngineFormulaConfig, 'function'>,
|
||||
Pick<IUniverSheetsFormulaBaseConfig, 'description' | 'initialFormulaComputing'> {
|
||||
}
|
||||
|
||||
export interface IUniverFormulaWorkerConfig extends
|
||||
Pick<IUniverEngineFormulaConfig, 'function'> {
|
||||
}
|
||||
49
presets/packages/preset-sheets-node-core/src/worker.ts
Normal file
49
presets/packages/preset-sheets-node-core/src/worker.ts
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Copyright 2023-present DreamNum Co., Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import type { IPreset } from '@univerjs/presets';
|
||||
import type { IUniverFormulaWorkerConfig } from './types';
|
||||
import { UniverFormulaEnginePlugin } from '@univerjs/engine-formula';
|
||||
import { UniverRPCNodeWorkerPlugin } from '@univerjs/rpc-node';
|
||||
import { UniverSheetsPlugin } from '@univerjs/sheets';
|
||||
import { UniverRemoteSheetsFormulaPlugin } from '@univerjs/sheets-formula';
|
||||
|
||||
export * from '@univerjs/engine-formula';
|
||||
export * from '@univerjs/rpc-node';
|
||||
export * from '@univerjs/sheets';
|
||||
export * from '@univerjs/sheets-formula';
|
||||
|
||||
export interface IUniverSheetsNodeCoreWorkerPresetConfig {
|
||||
/**
|
||||
* The formula worker config.
|
||||
*/
|
||||
formula?: IUniverFormulaWorkerConfig;
|
||||
}
|
||||
|
||||
export function UniverSheetsNodeCoreWorkerPreset(config: Partial<IUniverSheetsNodeCoreWorkerPresetConfig> = {}): IPreset {
|
||||
const {
|
||||
formula,
|
||||
} = config;
|
||||
|
||||
return {
|
||||
plugins: [
|
||||
[UniverSheetsPlugin, { onlyRegisterFormulaRelatedMutations: true }],
|
||||
[UniverFormulaEnginePlugin, { function: formula?.function }],
|
||||
UniverRPCNodeWorkerPlugin,
|
||||
UniverRemoteSheetsFormulaPlugin,
|
||||
],
|
||||
};
|
||||
}
|
||||
27
presets/packages/preset-sheets-node-core/tailwind.config.ts
Normal file
27
presets/packages/preset-sheets-node-core/tailwind.config.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Copyright 2023-present DreamNum Co., Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import type { Config } from 'tailwindcss';
|
||||
import preset, { createTailwindContent } from '@univerjs-infra/shared/tailwind';
|
||||
|
||||
const config: Config = {
|
||||
presets: [preset],
|
||||
content: createTailwindContent(import.meta.url, {
|
||||
includeStyleDependencies: true,
|
||||
}),
|
||||
};
|
||||
|
||||
export default config;
|
||||
8
presets/packages/preset-sheets-node-core/tsconfig.json
Normal file
8
presets/packages/preset-sheets-node-core/tsconfig.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "@univerjs-infra/shared/tsconfigs/base",
|
||||
"compilerOptions": {
|
||||
"rootDir": "src",
|
||||
"outDir": "lib/types"
|
||||
},
|
||||
"include": ["src", "../../common/shared/types/global.d.ts"]
|
||||
}
|
||||
18
presets/packages/preset-sheets-node-core/tsconfig.node.json
Normal file
18
presets/packages/preset-sheets-node-core/tsconfig.node.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"extends": "@univerjs-infra/shared/tsconfigs/node",
|
||||
"compilerOptions": {
|
||||
"rootDir": "src",
|
||||
"declaration": true,
|
||||
"emitDeclarationOnly": true,
|
||||
"noEmit": false,
|
||||
"outDir": "lib/types"
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
],
|
||||
"exclude": [
|
||||
"src/**/__tests__/**",
|
||||
"src/**/*.spec.ts",
|
||||
"src/**/*.test.ts"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user