From aff21b8a175c66885b4048d6844cdc2c8c5d0925 Mon Sep 17 00:00:00 2001 From: Domenico Ferraro Date: Sun, 25 Feb 2024 22:57:23 +0100 Subject: [PATCH] cleanup the build system --- package.json | 26 ++++++-------------- rollup.config.js | 62 ------------------------------------------------ tsconfig.json | 3 +-- 3 files changed, 8 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index 8e50ab1..c87b5c1 100644 --- a/package.json +++ b/package.json @@ -5,30 +5,18 @@ "private": true, "license": "GPL v2.0", "scripts": { - "build": "npm run build:types && npm run build:ts && npm run build:extension", - "clean": "npm run clean:ts && npm run build:types", - "build:types": "npm run clean:types", - "clean:types": "rm -rf ./@types", - "build:ts": "npm run clean:ts && rollup -c", - "clean:ts": "rm -rf ./dist || true", - "build:extension": "npm run build:schema", + "build": "npm run clean && rollup -c && npm run build:schema", + "clean": "rm -rf ./dist", "build:schema": "npm run clean:schema && glib-compile-schemas ./resources/schemas --targetdir=./dist/schemas/", "clean:schema": "rm -rf ./dist/schemas/*.compiled", "build:package": "npm run build && rm -rf './dist/modernwindowmanager@ferrarodomenico.com.zip' && cd ./dist && zip -qr 'modernwindowmanager@ferrarodomenico.com.zip' .", "watch": "npm run build && npx rollup -c --watch", - "lint": "eslint --ext .ts src/", - "install": "npm run install:extension", "install:extension": "mkdir -p ~/.local/share/gnome-shell/extensions/modernwindowmanager@ferrarodomenico.com && cp ./dist/* ~/.local/share/gnome-shell/extensions/modernwindowmanager@ferrarodomenico.com/ -r", "wayland-session": "dbus-run-session -- gnome-shell --nested --wayland", - "dev:wayland": "npm run build && npm run install && npm run wayland-session" + "dev:wayland": "npm run build && npm run install:extension && npm run wayland-session" }, "devDependencies": { - "@gi.ts/cli": "^1.3.0", - "@gi.ts/lib": "^1.3.0", - "@gi.ts/parser": "^1.2.0", - "@rollup/plugin-commonjs": "^22.0.2", - "@rollup/plugin-node-resolve": "^13.1.3", - "@rollup/plugin-typescript": "^8.3.4", + "typescript": "^4.7.4", "@typescript-eslint/eslint-plugin": "^5.33.1", "@typescript-eslint/parser": "^5.33.1", "eslint": "^8.22.0", @@ -41,10 +29,10 @@ "rollup-plugin-copy": "^3.4.0", "rollup-plugin-styles": "^4.0.0", "rollup-plugin-visualizer": "^5.8.0", + "@rollup/plugin-commonjs": "^22.0.2", + "@rollup/plugin-node-resolve": "^13.1.3", + "@rollup/plugin-typescript": "^8.3.4", "sass": "^1.71.1", - "typescript": "^4.7.4" - }, - "dependencies": { "@gi-types/clutter10": "^10.0.1", "@gi-types/gio2": "^2.72.1", "@gi-types/glib2": "^2.72.1", diff --git a/rollup.config.js b/rollup.config.js index 4cd58ce..6ba7706 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -19,71 +19,9 @@ const globals = { '@gi-types/clutter10': 'imports.gi.Clutter', }; -/*const thirdParty = [ - 'htmlparser2', - 'prismjs', - 'date-fns/formatDistanceToNow', - 'date-fns/locale', - 'hex-color-converter', - 'is-url', - 'pretty-bytes', - 'validate-color', - 'highlight.js/lib/core', - 'highlight.js/lib/languages/bash', - 'highlight.js/lib/languages/c', - 'highlight.js/lib/languages/cpp', - 'highlight.js/lib/languages/csharp', - 'highlight.js/lib/languages/dart', - 'highlight.js/lib/languages/go', - 'highlight.js/lib/languages/groovy', - 'highlight.js/lib/languages/haskell', - 'highlight.js/lib/languages/java', - 'highlight.js/lib/languages/javascript', - 'highlight.js/lib/languages/julia', - 'highlight.js/lib/languages/kotlin', - 'highlight.js/lib/languages/lua', - 'highlight.js/lib/languages/markdown', - 'highlight.js/lib/languages/perl', - 'highlight.js/lib/languages/php', - 'highlight.js/lib/languages/python', - 'highlight.js/lib/languages/ruby', - 'highlight.js/lib/languages/rust', - 'highlight.js/lib/languages/scala', - 'highlight.js/lib/languages/shell', - 'highlight.js/lib/languages/sql', - 'highlight.js/lib/languages/swift', - 'highlight.js/lib/languages/typescript', - 'highlight.js/lib/languages/yaml', -];*/ - -/*const thirdPartyBuild = thirdParty.map((pkg) => { - const sanitizedPkg = pkg.split('/').join('_').replaceAll('-', '_').replaceAll('.', '_').replaceAll('@', ''); - globals[pkg] = `Me.imports.thirdparty["${sanitizedPkg}"].lib`; - - return { - input: `node_modules/${pkg}`, - output: { - file: `${buildPath}/thirdparty/${sanitizedPkg}.js`, - format: 'iife', - name: 'lib', - }, - treeshake: { - moduleSideEffects: 'no-external', - }, - plugins: [ - commonjs(), - nodeResolve({ - preferBuiltins: false, - }), - ], - }; -});*/ - const external = [...Object.keys(globals)/*, thirdParty*/]; const extensionBanner = ` -const Me = imports.misc.extensionUtils.getCurrentExtension(); - try { `; diff --git a/tsconfig.json b/tsconfig.json index 11da599..cde5e12 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,9 +13,8 @@ "moduleResolution": "Node", "experimentalDecorators": true, "paths": { - "@imports/*": ["../@types/*"], "@/*": ["./*"] } }, - "exclude": ["./dist"] + "exclude": ["./dist", "./node_modules"] } \ No newline at end of file