diff --git a/package-lock.json b/package-lock.json index ce321c3816..3594d91c91 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,6 +58,7 @@ "seedrandom": "^3.0.5", "typescript": "^5.8.2", "typescript-eslint": "^8.30.1", + "wait-on": "^9.0.1", "xml-formatter": "^2.4.0" }, "engines": { @@ -793,6 +794,60 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/tlds": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.3.tgz", + "integrity": "sha512-QIvUMB5VZ8HMLZF9A2oWr3AFM430QC8oGd0L35y2jHpuW6bIIca6x/xL7zUf4J7L9WJ3qjz+iJII8ncaeMbpSg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -1676,6 +1731,13 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "dev": true, + "license": "MIT" + }, "node_modules/@swc/core": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.6.7.tgz", @@ -2793,6 +2855,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/axios": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.12.2.tgz", + "integrity": "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", @@ -5634,6 +5708,27 @@ "license": "ISC", "peer": true }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/font-awesome": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", @@ -8198,6 +8293,25 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/joi": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.1.tgz", + "integrity": "sha512-IiQpRyypSnLisQf3PwuN2eIHAsAIGZIrLZkd4zdvIar2bDyhM91ubRjy8a3eYablXsh9BeI/c7dmPYHca5qtoA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.0.0" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8723,6 +8837,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -10379,6 +10500,13 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "license": "MIT" + }, "node_modules/proxy-middleware": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", @@ -13004,6 +13132,26 @@ "node": ">=14" } }, + "node_modules/wait-on": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.1.tgz", + "integrity": "sha512-noeCAI+XbqWMXY23sKril0BSURhuLYarkVXwJv1uUWwoojZJE7pmX3vJ7kh7SZaNgPGzfsCSQIZM/AGvu0Q9pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.12.2", + "joi": "^18.0.1", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/package.json b/package.json index a8f1433d47..cf2eb5f5d1 100644 --- a/package.json +++ b/package.json @@ -23,24 +23,22 @@ "prettier": "prettier . --write", "check-formatting": "prettier . --check && eslint", "lint": "eslint --fix", - "dev": "npm-run-all --print-label prebuild build:dev --parallel build:watch:engine build:watch server serve-static", - "prebuild": "npm run build --workspaces --if-present", - "build:dev": "npm-run-all build:js bundle:iife \"bundle:xml -- --outDir build\" \"bundle:css -- --out build\"", - "build": "npm-run-all build:js bundle:esm bundle:iife \"bundle:xml -- --outDir build\" \"bundle:css -- --out build\"", - "build:watch": "npm-run-all --parallel build:js:watch bundle:iife:watch bundle:xml:watch bundle:css:watch", - "build:watch:engine": "npm run build:watch --workspace=@odoo/o-spreadsheet-engine", - "build:js": "tsc --module es6 --incremental", - "build:js:watch": "npm run build:js -- --watch", + "predev": "node tools/clean_build_files.cjs", + "dev": "npm-run-all --print-label --parallel build:watch server serve-static:wait", + "build": "npm-run-all transpile-js bundle:esm bundle:iife \"bundle:xml -- --outDir build\" \"bundle:css -- --out build\"", + "build:watch": "npm-run-all --parallel transpile-js:watch bundle:iife:watch bundle:xml:watch bundle:css:watch", + "transpile-js": "tsc --build --incremental --preserveWatchOutput", + "transpile-js:watch": "npm run transpile-js -- --watch", "bundle:cjs": "rollup -c -m -- --format cjs", "bundle:esm": "rollup -c -m -- --format esm", "bundle:iife": "rollup -c -m -- --format iife", - "bundle:iife:watch": "npm run bundle:iife -- --watch", - "bundle:dev": "rollup -c -m -- --format dev", + "bundle:iife:watch": "wait-on build/js/src/index.js && npm run bundle:iife -- --watch", "bundle:xml": "node tools/bundle_xml/main.cjs", "bundle:xml:watch": "node tools/bundle_xml/watch_xml_templates.cjs", "bundle:css": "node tools/bundle_css/main.cjs", "bundle:css:watch": "node tools/bundle_css/watch_css_files.cjs", "serve-static": "live-server --open=demo --watch=build/o_spreadsheet.iife.js,build/o_spreadsheet.xml,build/o_spreadsheet.css,demo", + "serve-static:wait": "wait-on build/o_spreadsheet.iife.js build/o_spreadsheet.xml build/o_spreadsheet.css && npm run serve-static", "server": "node tools/server/main.cjs", "predist": "npm run dist --workspaces --if-present", "dist": "tsc --module es6 --declaration --declarationDir dist/types && rollup -c", @@ -111,6 +109,7 @@ "seedrandom": "^3.0.5", "typescript": "^5.8.2", "typescript-eslint": "^8.30.1", + "wait-on": "^9.0.1", "xml-formatter": "^2.4.0" }, "optionalDependencies": { diff --git a/packages/o-spreadsheet-engine/package.json b/packages/o-spreadsheet-engine/package.json index 5150fd4c7c..44bb363adb 100644 --- a/packages/o-spreadsheet-engine/package.json +++ b/packages/o-spreadsheet-engine/package.json @@ -3,15 +3,7 @@ "version": "19.1.0-alpha.3", "type": "module", "scripts": { - "build": "npm-run-all build:js", - "build:watch": "npm-run-all --parallel build:js:watch", - "build:js": "tsc --module es6 --incremental", - "build:js:watch": "npm run build:js -- --watch", - "bundle:esm": "rollup -c -m -- --format esm", - "bundle:cjs": "rollup -c -m -- --format cjs", - "bundle:iife": "rollup -c -m -- --format iife", - "bundle:iife:watch": "npm run bundle:iife -- --watch", - "dist": "tsc --module es6 --declaration --declarationDir ../../dist/types/packages/o-spreadsheet-engine/ && rollup -c", + "dist": "tsc --module es6 --declaration && rollup -c", "test": "tsc --noEmit --project tsconfig.jest.json && jest" }, "engines": { diff --git a/packages/o-spreadsheet-engine/rollup.config.js b/packages/o-spreadsheet-engine/rollup.config.js index eca13d6c5c..81a70d452f 100644 --- a/packages/o-spreadsheet-engine/rollup.config.js +++ b/packages/o-spreadsheet-engine/rollup.config.js @@ -74,7 +74,7 @@ export default (commandLineArgs) => { plugins, }, { - input: "../../dist/types/packages/o-spreadsheet-engine/index.d.ts", + input: "./build/js/o-spreadsheet-engine/src/index.d.ts", output: [{ file: "../../dist/o-spreadsheet-engine.d.ts", format: "es" }], plugins: [dts(), nodeResolve()], }, diff --git a/packages/o-spreadsheet-engine/tsconfig.json b/packages/o-spreadsheet-engine/tsconfig.json index a35008ddf8..68d593e97b 100644 --- a/packages/o-spreadsheet-engine/tsconfig.json +++ b/packages/o-spreadsheet-engine/tsconfig.json @@ -1,8 +1,11 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "build/js/o-spreadsheet-engine/src", - "preserveWatchOutput": true + "outDir": "build/js/o-spreadsheet-engine", + "preserveWatchOutput": true, + "composite": true, + "declaration": true, + "declarationMap": true }, "include": ["./src"], "exclude": ["../../src/*"] diff --git a/rollup.config.js b/rollup.config.js index 7947f9b601..92b4941d22 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -44,17 +44,11 @@ export default (commandLineArgs) => { entries: [ { find: "@odoo/o-spreadsheet-engine", - replacement: path.resolve( - __dirname, - "./packages/o-spreadsheet-engine/build/js/o-spreadsheet-engine/src" - ), + replacement: path.resolve(__dirname, "./packages/o-spreadsheet-engine/src"), }, { find: "@odoo/o-spreadsheet-engine/*", - replacement: path.resolve( - __dirname, - "./packages/o-spreadsheet-engine/build/js/o-spreadsheet-engine/src/*" - ), + replacement: path.resolve(__dirname, "./packages/o-spreadsheet-engine/src/*"), }, ], }), @@ -79,7 +73,27 @@ export default (commandLineArgs) => { format: commandLineArgs.format, }, ], - plugins, + plugins: [ + alias({ + entries: [ + { + find: "@odoo/o-spreadsheet-engine", + replacement: path.resolve( + __dirname, + "./packages/o-spreadsheet-engine/build/js/o-spreadsheet-engine/src" + ), + }, + { + find: "@odoo/o-spreadsheet-engine/*", + replacement: path.resolve( + __dirname, + "./packages/o-spreadsheet-engine/build/js/o-spreadsheet-engine/src/*" + ), + }, + ], + }), + nodeResolve(), + ], watch: { include: ["build/js/**", "./packages/o-spreadsheet-engine/build/**"], }, @@ -101,7 +115,7 @@ export default (commandLineArgs) => { plugins, }, { - input: "dist/types/src/index.d.ts", + input: "dist/types/index.d.ts", output: [{ file: "dist/o-spreadsheet.d.ts", format: "es" }], plugins: [ dts(), @@ -110,13 +124,16 @@ export default (commandLineArgs) => { entries: [ { find: "@odoo/o-spreadsheet-engine", - replacement: path.resolve(__dirname, "./dist/types/packages/o-spreadsheet-engine"), + replacement: path.resolve( + __dirname, + "./packages/o-spreadsheet-engine/build/js/o-spreadsheet-engine/src" + ), }, { find: "@odoo/o-spreadsheet-engine/*", replacement: path.resolve( __dirname, - "./dist/types/packages/o-spreadsheet-engine/*" + "./packages/o-spreadsheet-engine/build/js/o-spreadsheet-engine/src/*" ), }, ], diff --git a/src/actions/figure_menu_actions.ts b/src/actions/figure_menu_actions.ts index 3f6b8d86ab..b84621a605 100644 --- a/src/actions/figure_menu_actions.ts +++ b/src/actions/figure_menu_actions.ts @@ -1,8 +1,8 @@ +import { deepEquals } from "@odoo/o-spreadsheet-engine"; import { getMaxFigureSize } from "@odoo/o-spreadsheet-engine/helpers/figures/figure/figure"; import { _t } from "@odoo/o-spreadsheet-engine/translation"; import { SpreadsheetChildEnv } from "@odoo/o-spreadsheet-engine/types/spreadsheet_env"; import { UID } from ".."; -import { deepEquals } from "../../packages/o-spreadsheet-engine/src/helpers/misc"; import { downloadFile } from "../components/helpers/dom_helpers"; import { chartToImageFile, chartToImageUrl } from "../helpers/figures/charts"; import { Action, ActionSpec, createActions } from "./action"; diff --git a/src/actions/menu_items_actions.ts b/src/actions/menu_items_actions.ts index f3d524f681..c46571cde4 100644 --- a/src/actions/menu_items_actions.ts +++ b/src/actions/menu_items_actions.ts @@ -1,3 +1,4 @@ +import { getPivotTooBigErrorMessage } from "@odoo/o-spreadsheet-engine/components/translations_terms"; import { DEFAULT_FIGURE_HEIGHT, DEFAULT_FIGURE_WIDTH, @@ -16,7 +17,6 @@ import { } from "@odoo/o-spreadsheet-engine/types/clipboard"; import { Image } from "@odoo/o-spreadsheet-engine/types/image"; import { SpreadsheetChildEnv } from "@odoo/o-spreadsheet-engine/types/spreadsheet_env"; -import { getPivotTooBigErrorMessage } from "../../packages/o-spreadsheet-engine/src/components/translations_terms"; import { CellPopoverStore } from "../components/popover"; import { getSmartChartDefinition } from "../helpers/figures/charts/smart_chart_engine"; import { diff --git a/src/clipboard_handlers/borders_clipboard.ts b/src/clipboard_handlers/borders_clipboard.ts index da2a3a03a3..a285f598bb 100644 --- a/src/clipboard_handlers/borders_clipboard.ts +++ b/src/clipboard_handlers/borders_clipboard.ts @@ -1,7 +1,7 @@ +import { deepEquals, groupConsecutive } from "@odoo/o-spreadsheet-engine"; import { AbstractCellClipboardHandler } from "@odoo/o-spreadsheet-engine/clipboard_handlers/abstract_cell_clipboard_handler"; import { splitZoneForPaste } from "@odoo/o-spreadsheet-engine/helpers/clipboard/clipboard_helpers"; import { ZoneBorder, ZoneBorderData } from "@odoo/o-spreadsheet-engine/plugins/core/borders"; -import { deepEquals, groupConsecutive } from "../../packages/o-spreadsheet-engine/src/helpers/misc"; import { BorderDescr, BorderPosition, diff --git a/src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts b/src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts index 0ff023f6a9..4ef75472e3 100644 --- a/src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts +++ b/src/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.ts @@ -18,8 +18,8 @@ import { NotificationStore } from "../../../../stores/notification_store"; import { SpreadsheetStore } from "../../../../stores/spreadsheet_store"; import { Command, UID } from "../../../../types"; +import { getPivotTooBigErrorMessage } from "@odoo/o-spreadsheet-engine/components/translations_terms"; import { getFirstPivotFunction } from "@odoo/o-spreadsheet-engine/helpers/pivot/pivot_composer_helpers"; -import { getPivotTooBigErrorMessage } from "../../../../../packages/o-spreadsheet-engine/src/components/translations_terms"; export class PivotSidePanelStore extends SpreadsheetStore { mutators = ["reset", "deferUpdates", "applyUpdate", "discardPendingUpdate", "update"] as const; diff --git a/src/helpers/figures/charts/runtime/chartjs_dataset.ts b/src/helpers/figures/charts/runtime/chartjs_dataset.ts index 5a0ef605aa..ca71abf7ee 100644 --- a/src/helpers/figures/charts/runtime/chartjs_dataset.ts +++ b/src/helpers/figures/charts/runtime/chartjs_dataset.ts @@ -1,3 +1,4 @@ +import { isDefined, range } from "@odoo/o-spreadsheet-engine"; import { BACKGROUND_CHART_COLOR, CHART_WATERFALL_NEGATIVE_COLOR, @@ -56,7 +57,6 @@ import { TreeMapGroupColor, } from "@odoo/o-spreadsheet-engine/types/chart/tree_map_chart"; import { ChartDataset, Point } from "chart.js"; -import { isDefined, range } from "../../../../../packages/o-spreadsheet-engine/src/helpers/misc"; import { ChartRuntimeGenerationArgs, Color, GenericDefinition } from "../../../../types"; export const GHOST_SUNBURST_VALUE = "nullValue"; diff --git a/src/helpers/figures/charts/runtime/chartjs_scales.ts b/src/helpers/figures/charts/runtime/chartjs_scales.ts index 76d342d402..4c14f481cd 100644 --- a/src/helpers/figures/charts/runtime/chartjs_scales.ts +++ b/src/helpers/figures/charts/runtime/chartjs_scales.ts @@ -1,3 +1,4 @@ +import { isDefined, range, removeFalsyAttributes } from "@odoo/o-spreadsheet-engine"; import { CHART_AXIS_TITLE_FONT_SIZE, CHART_PADDING, @@ -36,11 +37,6 @@ import { import { RadarChartDefinition } from "@odoo/o-spreadsheet-engine/types/chart/radar_chart"; import { LinearScaleOptions, ScaleChartOptions, Tick } from "chart.js"; import { DeepPartial } from "chart.js/dist/types/utils"; -import { - isDefined, - range, - removeFalsyAttributes, -} from "../../../../../packages/o-spreadsheet-engine/src/helpers/misc"; import { LocaleFormat } from "../../../../types"; import { getChartTimeOptions } from "../../../chart_date"; diff --git a/src/plugins/ui_feature/data_cleanup.ts b/src/plugins/ui_feature/data_cleanup.ts index 3ea885c4d9..c855560223 100644 --- a/src/plugins/ui_feature/data_cleanup.ts +++ b/src/plugins/ui_feature/data_cleanup.ts @@ -1,3 +1,4 @@ +import { deepEquals, range, trimContent } from "@odoo/o-spreadsheet-engine"; import { getClipboardDataPositions } from "@odoo/o-spreadsheet-engine/helpers/clipboard/clipboard_helpers"; import { recomputeZones } from "@odoo/o-spreadsheet-engine/helpers/recompute_zones"; import { positions, zoneToDimension } from "@odoo/o-spreadsheet-engine/helpers/zones"; @@ -9,11 +10,6 @@ import { RemoveDuplicatesCommand, } from "@odoo/o-spreadsheet-engine/types/commands"; import { HeaderIndex, UID, Zone } from "@odoo/o-spreadsheet-engine/types/misc"; -import { - deepEquals, - range, - trimContent, -} from "../../../packages/o-spreadsheet-engine/src/helpers/misc"; import { CellClipboardHandler } from "../../clipboard_handlers/cell_clipboard"; export class DataCleanupPlugin extends UIPlugin { diff --git a/src/registries/repeat_commands_registry.ts b/src/registries/repeat_commands_registry.ts index b5267552ee..2368149850 100644 --- a/src/registries/repeat_commands_registry.ts +++ b/src/registries/repeat_commands_registry.ts @@ -1,3 +1,4 @@ +import { deepCopy } from "@odoo/o-spreadsheet-engine"; import { genericRepeatsTransforms, repeatZoneDependantCommand, @@ -20,7 +21,6 @@ import { repeatLocalCommandTransformRegistry, } from "@odoo/o-spreadsheet-engine/registries/repeat_transform_registry"; import { Command } from "@odoo/o-spreadsheet-engine/types/commands"; -import { deepCopy } from "../../packages/o-spreadsheet-engine/src/helpers/misc"; import { Getters } from "../types"; repeatCommandTransformRegistry.add("UPDATE_CELL", genericRepeat); diff --git a/tests/borders/border_plugin.test.ts b/tests/borders/border_plugin.test.ts index 96576241d5..e69913c58e 100644 --- a/tests/borders/border_plugin.test.ts +++ b/tests/borders/border_plugin.test.ts @@ -1,8 +1,7 @@ import { DEFAULT_BORDER_DESC } from "@odoo/o-spreadsheet-engine/constants"; import { Model } from "@odoo/o-spreadsheet-engine/model"; import { BordersPlugin } from "@odoo/o-spreadsheet-engine/plugins/core/borders"; -import { removeFalsyAttributes } from "../../packages/o-spreadsheet-engine/src/helpers/misc"; -import { toZone } from "../../src/helpers"; +import { removeFalsyAttributes, toZone } from "../../src/helpers"; import { BorderDescr, CommandResult } from "../../src/types/index"; import { addColumns, diff --git a/tests/helpers/misc_helpers.test.ts b/tests/helpers/misc_helpers.test.ts index b3b307113d..cc911ee9e6 100644 --- a/tests/helpers/misc_helpers.test.ts +++ b/tests/helpers/misc_helpers.test.ts @@ -1,13 +1,16 @@ -import seedrandom from "seedrandom"; import { + deepCopy, + deepEquals, getUniqueText, groupConsecutive, isConsecutive, lazy, memoize, range, -} from "../../packages/o-spreadsheet-engine/src/helpers/misc"; -import { DateTime, deepCopy, deepEquals, UuidGenerator } from "../../src/helpers"; + UuidGenerator, +} from "@odoo/o-spreadsheet-engine"; +import { DateTime } from "@odoo/o-spreadsheet-engine/helpers/dates"; +import seedrandom from "seedrandom"; describe("Misc", () => { test("range", () => { diff --git a/tests/pivots/pivot_menu_items.test.ts b/tests/pivots/pivot_menu_items.test.ts index f9debb438e..7bfe981155 100644 --- a/tests/pivots/pivot_menu_items.test.ts +++ b/tests/pivots/pivot_menu_items.test.ts @@ -1,6 +1,6 @@ +import { getPivotTooBigErrorMessage } from "@odoo/o-spreadsheet-engine/components/translations_terms"; import { PIVOT_TABLE_CONFIG } from "@odoo/o-spreadsheet-engine/constants"; import { SpreadsheetChildEnv } from "@odoo/o-spreadsheet-engine/types/spreadsheet_env"; -import { getPivotTooBigErrorMessage } from "../../packages/o-spreadsheet-engine/src/components/translations_terms"; import { Model, PivotCustomGroup, SortDirection, SpreadsheetPivotTable } from "../../src"; import { Action } from "../../src/actions/action"; import { toCartesian, toZone } from "../../src/helpers"; diff --git a/tests/pivots/spreadsheet_pivot/spreadsheet_pivot_side_panel.test.ts b/tests/pivots/spreadsheet_pivot/spreadsheet_pivot_side_panel.test.ts index f7aa314fd4..f7805cc863 100644 --- a/tests/pivots/spreadsheet_pivot/spreadsheet_pivot_side_panel.test.ts +++ b/tests/pivots/spreadsheet_pivot/spreadsheet_pivot_side_panel.test.ts @@ -1,7 +1,7 @@ +import { getPivotTooBigErrorMessage } from "@odoo/o-spreadsheet-engine/components/translations_terms"; import { PIVOT_TABLE_CONFIG, PIVOT_TOKEN_COLOR } from "@odoo/o-spreadsheet-engine/constants"; import { SpreadsheetPivot } from "@odoo/o-spreadsheet-engine/helpers/pivot/spreadsheet_pivot/spreadsheet_pivot"; import { SpreadsheetChildEnv } from "@odoo/o-spreadsheet-engine/types/spreadsheet_env"; -import { getPivotTooBigErrorMessage } from "../../../packages/o-spreadsheet-engine/src/components/translations_terms"; import { Model, PivotSortedColumn, SpreadsheetPivotTable } from "../../../src"; import { SidePanels } from "../../../src/components/side_panel/side_panels/side_panels"; import { toXC, toZone } from "../../../src/helpers"; diff --git a/tests/repeat_commands_plugin.test.ts b/tests/repeat_commands_plugin.test.ts index e5ee464887..e0835e47bd 100644 --- a/tests/repeat_commands_plugin.test.ts +++ b/tests/repeat_commands_plugin.test.ts @@ -19,7 +19,7 @@ import { repeatCommandTransformRegistry, repeatCoreCommand, repeatLocalCommandTransformRegistry, -} from "../packages/o-spreadsheet-engine/src/registries/repeat_transform_registry"; +} from "@odoo/o-spreadsheet-engine/registries/repeat_transform_registry"; import { CoreCommand, Dimension, UID } from "../src/types"; import { activateSheet, diff --git a/tests/setup/jest_extend.ts b/tests/setup/jest_extend.ts index a591316074..2bead7599c 100644 --- a/tests/setup/jest_extend.ts +++ b/tests/setup/jest_extend.ts @@ -1,7 +1,7 @@ +import { deepEquals } from "@odoo/o-spreadsheet-engine"; import { isSameColor, toHex } from "@odoo/o-spreadsheet-engine/helpers/color"; import { toXC } from "@odoo/o-spreadsheet-engine/helpers/coordinates"; import { positions } from "@odoo/o-spreadsheet-engine/helpers/zones"; -import { deepEquals } from "../../packages/o-spreadsheet-engine/src/helpers/misc"; import { Model } from "../../src"; import { CancelledReason, DispatchResult, Zone } from "../../src/types"; diff --git a/tools/bundle_css/watch_css_files.cjs b/tools/bundle_css/watch_css_files.cjs index 724450d1c3..53c78d5c5e 100644 --- a/tools/bundle_css/watch_css_files.cjs +++ b/tools/bundle_css/watch_css_files.cjs @@ -10,6 +10,12 @@ const watcher = watch("./src", { filter: /\.css$/, recursive: true }, (ev, name) } }); +try { + createCSSBundle("build"); +} catch (error) { + console.error("Error creating CSS bundle:", error.message); +} + watcher.on("ready", () => console.log("Watching .css files...")); watcher.on("error", (err) => console.error(`Error watching .css files ${err}`)); diff --git a/tools/bundle_xml/watch_xml_templates.cjs b/tools/bundle_xml/watch_xml_templates.cjs index 18a4f9fe43..f421ba3c31 100644 --- a/tools/bundle_xml/watch_xml_templates.cjs +++ b/tools/bundle_xml/watch_xml_templates.cjs @@ -6,6 +6,8 @@ const watcher = watch("./src", { filter: /\.xml$/, recursive: true }, (ev, name) bundle.writeOwlTemplateBundleToFile("build"); }); +bundle.writeOwlTemplateBundleToFile("build"); + watcher.on("ready", () => console.log("Watching .xml files...")); watcher.on("error", (err) => console.error(`Error watching .xml files ${err}`)); diff --git a/tools/clean_build_files.cjs b/tools/clean_build_files.cjs new file mode 100644 index 0000000000..6806cfd78c --- /dev/null +++ b/tools/clean_build_files.cjs @@ -0,0 +1,5 @@ +const fs = require("fs"); + +fs.rmSync("build/o_spreadsheet.iife.js", { force: true }); +fs.rmSync("build/o_spreadsheet.xml", { force: true }); +fs.rmSync("build/o_spreadsheet.css", { force: true }); diff --git a/tsconfig.json b/tsconfig.json index 5bba300655..bd8f8840f5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,13 @@ { "extends": "./tsconfig.base.json", "compilerOptions": { - "outDir": "build/js", + "outDir": "build/js/src", "preserveWatchOutput": true, "paths": { "@odoo/o-spreadsheet-engine": ["./packages/o-spreadsheet-engine/src/index.ts"], "@odoo/o-spreadsheet-engine/*": ["./packages/o-spreadsheet-engine/src/*"] } }, + "references": [{ "path": "./packages/o-spreadsheet-engine" }], "include": ["src"] }