From 26cd1cc1cce0fdface19a74a06dd00352d1a51db Mon Sep 17 00:00:00 2001 From: mathuo <6710312+mathuo@users.noreply.github.com> Date: Thu, 9 May 2024 21:04:45 +0100 Subject: [PATCH] chore: configure dockview-vue package --- .github/workflows/deploy-docs.yml | 2 + .github/workflows/publish.yml | 6 + package.json | 2 +- packages/dockview-vue/gulpfile.js | 6 - packages/dockview-vue/package.json | 17 +-- packages/dockview-vue/rollup.config.js | 116 ------------------ .../dockview-vue/scripts/rollupEntryTarget.ts | 2 - packages/dockview-vue/vite.config.ts | 2 + sonar-project.properties | 6 +- 9 files changed, 20 insertions(+), 139 deletions(-) delete mode 100644 packages/dockview-vue/gulpfile.js delete mode 100644 packages/dockview-vue/rollup.config.js delete mode 100644 packages/dockview-vue/scripts/rollupEntryTarget.ts diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 9b43e8fdc..b8f24b0d3 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -26,6 +26,8 @@ jobs: working-directory: packages/dockview-core - run: npm run build working-directory: packages/dockview + - run: npm run build + working-directory: packages/dockview-vue - run: npm run build working-directory: packages/docs - run: npm run docs diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 23b0df832..090304bdf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -35,6 +35,9 @@ jobs: - name: Publish dockview run: npm publish --provenance working-directory: packages/dockview + - name: Publish dockview-vue + run: npm publish --provenance + working-directory: packages/dockview-vue publish-experimental: if: github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest @@ -64,3 +67,6 @@ jobs: - name: Publish dockview run: npm publish --provenance --tag experimental working-directory: packages/dockview + - name: Publish dockview-vue + run: npm publish --provenance --tag experimental + working-directory: packages/dockview-vue diff --git a/package.json b/package.json index 17bcfe6d0..f9f51a541 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "packages/*" ], "scripts": { - "build": "lerna run build --scope '{dockview-core,dockview}'", + "build": "lerna run build --scope '{dockview-core,dockview,dockview-vue}'", "clean": "lerna run clean", "docs": "typedoc", "generate-docs": "node scripts/docs.mjs", diff --git a/packages/dockview-vue/gulpfile.js b/packages/dockview-vue/gulpfile.js deleted file mode 100644 index 4b62c983d..000000000 --- a/packages/dockview-vue/gulpfile.js +++ /dev/null @@ -1,6 +0,0 @@ -const gulp = require('gulp'); -const buildfile = require('../../scripts/build'); - -buildfile.init(); - -gulp.task('run', gulp.series(['sass'])); diff --git a/packages/dockview-vue/package.json b/packages/dockview-vue/package.json index 7b55a799e..bfbdce884 100644 --- a/packages/dockview-vue/package.json +++ b/packages/dockview-vue/package.json @@ -41,21 +41,16 @@ "README.md" ], "scripts": { - "build-only": "vite build", - "build": "npm run build:package", - "build:bundles": "rollup -c", - "build:cjs": "cross-env ../../node_modules/.bin/vue-tsc --build ./tsconfig.json --verbose --extendedDiagnostics", - "build:css": "gulp sass", - "build:esm": "cross-env ../../node_modules/.bin/vue-tsc --build ./tsconfig.esm.json --verbose --extendedDiagnostics", - "build:package": "npm run build-only && npm run build:types", + "build:js": "vite build", + "build:types": "vue-tsc --project tsconfig.build-types.json --declaration --emitDeclarationOnly --outDir dist/types", + "build": "npm run build:js && npm run build:types", "clean": "rimraf dist/ .build/ .rollup.cache/", "prepublishOnly": "npm run rebuild && npm run test", "rebuild": "npm run clean && npm run build", - "test": "cross-env ../../node_modules/.bin/jest --selectProjects dockview", - "test:cov": "cross-env ../../node_modules/.bin/jest --selectProjects dockview --coverage", - "build:types": "vue-tsc --project tsconfig.build-types.json --declaration --emitDeclarationOnly --outDir dist/types " + "test": "cross-env ../../node_modules/.bin/jest --selectProjects dockview-vue", + "test:cov": "cross-env ../../node_modules/.bin/jest --selectProjects dockview-vue --coverage" }, "dependencies": { "dockview-core": "^1.13.1" } -} +} \ No newline at end of file diff --git a/packages/dockview-vue/rollup.config.js b/packages/dockview-vue/rollup.config.js deleted file mode 100644 index 37d41f545..000000000 --- a/packages/dockview-vue/rollup.config.js +++ /dev/null @@ -1,116 +0,0 @@ -/* eslint-disable */ - -const { join } = require('path'); -const typescript = require('@rollup/plugin-typescript'); -const terser = require('@rollup/plugin-terser'); -const postcss = require('rollup-plugin-postcss'); -const nodeResolve = require('@rollup/plugin-node-resolve'); -const vue = require('@vitejs/plugin-vue'); - -const { name, version, homepage, license } = require('./package.json'); -const main = join(__dirname, './scripts/rollupEntryTarget.ts'); -const mainNoStyles = join(__dirname, './src/index.ts'); -const outputDir = join(__dirname, 'dist'); - -function outputFile(format, isMinified, withStyles) { - let filename = join(outputDir, name); - - if (format !== 'umd') { - filename += `.${format}`; - } - if (isMinified) { - filename += '.min'; - } - if (!withStyles) { - filename += '.noStyle'; - } - - return `${filename}.js`; -} - -function getInput(options) { - const { withStyles } = options; - - if (withStyles) { - return main; - } - - return mainNoStyles; -} - -function createBundle(format, options) { - const { withStyles, isMinified } = options; - const input = getInput(options); - const file = outputFile(format, isMinified, withStyles); - - const external = []; - - const output = { - file, - format, - sourcemap: true, - globals: {}, - banner: [ - `/**`, - ` * ${name}`, - ` * @version ${version}`, - ` * @link ${homepage}`, - ` * @license ${license}`, - ` */`, - ].join('\n'), - }; - - const plugins = [ - nodeResolve({ - include: ['node_modules/dockview-core/**'], - }), - - typescript({ - tsconfig: 'tsconfig.config.json', - }), - vue({}), - ]; - - if (isMinified) { - plugins.push(terser()); - } - if (withStyles) { - plugins.push(postcss()); - } - - if (format === 'umd') { - output['name'] = name; - } - - external.push('react', 'react-dom'); - - if (format === 'umd') { - output.globals['react'] = 'React'; - output.globals['react-dom'] = 'ReactDOM'; - } - - return { - input, - output, - plugins, - external, - }; -} - -module.exports = [ - // amd - createBundle('amd', { withStyles: false, isMinified: false }), - createBundle('amd', { withStyles: true, isMinified: false }), - createBundle('amd', { withStyles: false, isMinified: true }), - createBundle('amd', { withStyles: true, isMinified: true }), - // umd - createBundle('umd', { withStyles: false, isMinified: false }), - createBundle('umd', { withStyles: true, isMinified: false }), - createBundle('umd', { withStyles: false, isMinified: true }), - createBundle('umd', { withStyles: true, isMinified: true }), - // cjs - createBundle('cjs', { withStyles: true, isMinified: false }), - // esm - createBundle('esm', { withStyles: true, isMinified: false }), - createBundle('esm', { withStyles: true, isMinified: true }), -]; diff --git a/packages/dockview-vue/scripts/rollupEntryTarget.ts b/packages/dockview-vue/scripts/rollupEntryTarget.ts deleted file mode 100644 index 6ce476579..000000000 --- a/packages/dockview-vue/scripts/rollupEntryTarget.ts +++ /dev/null @@ -1,2 +0,0 @@ -import '../dist/styles/dockview.css'; -export * from '../src/index'; diff --git a/packages/dockview-vue/vite.config.ts b/packages/dockview-vue/vite.config.ts index 074ed3fbb..5bccc90f9 100644 --- a/packages/dockview-vue/vite.config.ts +++ b/packages/dockview-vue/vite.config.ts @@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [vue()], + build: { minify: false, lib: { @@ -13,6 +14,7 @@ export default defineConfig({ name: 'dockview-vue', // the name of the output files when the build is run fileName: (format) => `dockview-vue.${format}.js`, + formats: ['es', 'umd', 'cjs'], }, rollupOptions: { // make sure to externalize deps that shouldn't be bundled diff --git a/sonar-project.properties b/sonar-project.properties index a6f0eea51..6f63e9e23 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,9 +1,9 @@ sonar.projectKey=mathuo_dockview sonar.organization=dockview -sonar.inclusions=packages/dockview/src/**/*,packages/dockview-core/src/**/* -sonar.exclusions=packages/dockview/src/__tests__/**,packages/dockview-core/src/__tests__/** -sonar.tests=packages/dockview/src/__tests__,packages/dockview-core/src/__tests__ +sonar.inclusions=packages/dockview/src/**/*,packages/dockview-core/src/**/*,packages/dockview-vue/src/**/* +sonar.exclusions=packages/dockview/src/__tests__/**,packages/dockview-core/src/__tests__/**,packages/dockview-vue/src/__tests__/** +sonar.tests=packages/dockview/src/__tests__,packages/dockview-core/src/__tests__,packages/dockview-vue/src/__tests__ sonar.testExecutionReportPaths=test-report.xml sonar.javascript.lcov.reportPaths=coverage/lcov.info