diff --git a/package-lock.json b/package-lock.json index 016a4bd9..69f2a4f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0-alpha.13", "license": "MIT", "devDependencies": { + "@types/echarts": "^4.9.22", "echarts": "^5.5.1", "prettier": "^3.3.3", "serve": "^14.2.3", @@ -137,6 +138,16 @@ "integrity": "sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==", "dev": true }, + "node_modules/@types/echarts": { + "version": "4.9.22", + "resolved": "https://registry.npmjs.org/@types/echarts/-/echarts-4.9.22.tgz", + "integrity": "sha512-7Fo6XdWpoi8jxkwP7BARUOM7riq8bMhmsCtSG8gzUcJmFhLo387tihoBYS/y5j7jl3PENT5RxeWZdN9RiwO7HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/zrender": "*" + } + }, "node_modules/@types/eslint": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", @@ -202,6 +213,13 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "dev": true }, + "node_modules/@types/zrender": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/zrender/-/zrender-4.0.6.tgz", + "integrity": "sha512-1jZ9bJn2BsfmYFPBHtl5o3uV+ILejAtGrDcYSpT4qaVKEI/0YY+arw3XHU04Ebd8Nca3SQ7uNcLaqiL+tTFVMg==", + "dev": true, + "license": "MIT" + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", diff --git a/package.json b/package.json index 4c7a0cbd..5775647b 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "./dist/**/*" ], "main": "./dist/ods-charts.js", + "module": "./dist/ods-charts.esm.js", "types": "./dist/index.d.ts", "scripts": { "build": "webpack", @@ -34,6 +35,7 @@ "typedoc": "^0.26.11", "typescript": "^5.6.3", "webpack": "^5.96.1", - "webpack-cli": "^5.1.4" + "webpack-cli": "^5.1.4", + "@types/echarts": "^4.9.22" } } diff --git a/test/angular-echarts/package-lock.json b/test/angular-echarts/package-lock.json index 0ae6dc95..7b878aba 100644 --- a/test/angular-echarts/package-lock.json +++ b/test/angular-echarts/package-lock.json @@ -40,6 +40,7 @@ "version": "0.1.0-alpha.13", "license": "MIT", "devDependencies": { + "@types/echarts": "^4.9.22", "echarts": "^5.5.1", "prettier": "^3.3.3", "serve": "^14.2.3", diff --git a/test/angular-ngx-echarts/package-lock.json b/test/angular-ngx-echarts/package-lock.json index 93ddf95a..f9d41579 100644 --- a/test/angular-ngx-echarts/package-lock.json +++ b/test/angular-ngx-echarts/package-lock.json @@ -41,6 +41,7 @@ "version": "0.1.0-alpha.13", "license": "MIT", "devDependencies": { + "@types/echarts": "^4.9.22", "echarts": "^5.5.1", "prettier": "^3.3.3", "serve": "^14.2.3", diff --git a/test/react/package-lock.json b/test/react/package-lock.json index a6a57da3..6055d780 100644 --- a/test/react/package-lock.json +++ b/test/react/package-lock.json @@ -20,10 +20,10 @@ } }, "../..": { - "name": "ods-charts", "version": "0.1.0-alpha.13", "license": "MIT", "devDependencies": { + "@types/echarts": "^4.9.22", "echarts": "^5.5.1", "prettier": "^3.3.3", "serve": "^14.2.3", @@ -16133,9 +16133,9 @@ } }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "license": "Apache-2.0", "peer": true, "bin": { @@ -16143,7 +16143,7 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/unbox-primitive": { diff --git a/test/vue/package-lock.json b/test/vue/package-lock.json index 8bb3eb98..05c91a5e 100644 --- a/test/vue/package-lock.json +++ b/test/vue/package-lock.json @@ -31,10 +31,10 @@ } }, "../..": { - "name": "ods-charts", "version": "0.1.0-alpha.13", "license": "MIT", "devDependencies": { + "@types/echarts": "^4.9.22", "echarts": "^5.5.1", "prettier": "^3.3.3", "serve": "^14.2.3", diff --git a/tsconfig.json b/tsconfig.json index 0e4e32a2..1e0128ce 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,7 +26,7 @@ // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ /* Modules */ - "module": "commonjs" /* Specify what module code is generated. */, + "module": "ESNext" /* Specify what module code is generated. */, // "rootDir": "./", /* Specify the root folder within your source files. */ // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ @@ -40,7 +40,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - "resolveJsonModule": true /* Enable importing .json files. */, + // "resolveJsonModule": true /* Enable importing .json files. */, // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/webpack.config.js b/webpack.config.js index 2531e843..1e59277a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,17 +1,11 @@ const path = require('path'); -module.exports = { +const defaultConfig = { mode: 'development', devtool: 'inline-source-map', entry: { main: './index.ts', }, - output: { - path: path.resolve(__dirname, './dist'), - filename: 'ods-charts.js', - libraryTarget: 'umd', - library: 'ODSCharts', - }, resolve: { extensions: ['.ts', '.tsx', '.js'], }, @@ -24,3 +18,30 @@ module.exports = { ], }, }; + +module.exports = [ + { + ...defaultConfig, + output: { + path: path.resolve(__dirname, './dist'), + filename: 'ods-charts.js', + library: { + type: 'umd', + name: 'ODSCharts', + }, + }, + }, + { + ...defaultConfig, + output: { + path: path.resolve(__dirname, './dist'), + filename: 'ods-charts.esm.js', + library: { + type: 'module', + }, + }, + experiments: { + outputModule: true, + }, + }, +];