diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..280b1d95a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,60 @@ +[submodule "app/airshare"] + path = app/airshare + url = https://github.com/emacs-eaf/eaf-airshare.git +[submodule "app/browser"] + path = app/browser + url = https://github.com/emacs-eaf/eaf-browser.git +[submodule "app/camera"] + path = app/camera + url = https://github.com/emacs-eaf/eaf-camera.git +[submodule "app/demo"] + path = app/demo + url = https://github.com/emacs-eaf/eaf-demo.git +[submodule "app/file-browser"] + path = app/file-browser + url = https://github.com/emacs-eaf/eaf-file-browser.git +[submodule "app/file-manager"] + path = app/file-manager + url = https://github.com/emacs-eaf/eaf-file-manager.git +[submodule "app/file-sender"] + path = app/file-sender + url = https://github.com/emacs-eaf/eaf-file-sender.git +[submodule "app/image-viewer"] + path = app/image-viewer + url = https://github.com/emacs-eaf/eaf-image-viewer.git +[submodule "app/js-video-player"] + path = app/js-video-player + url = https://github.com/emacs-eaf/eaf-js-video-player.git +[submodule "app/jupyter"] + path = app/jupyter + url = https://github.com/emacs-eaf/eaf-jupyter.git +[submodule "app/markdown-previewer"] + path = app/markdown-previewer + url = https://github.com/emacs-eaf/eaf-markdown-previewer.git +[submodule "app/mindmap"] + path = app/mindmap + url = https://github.com/emacs-eaf/eaf-mindmap.git +[submodule "app/music-player"] + path = app/music-player + url = https://github.com/emacs-eaf/eaf-music-player.git +[submodule "app/netease-cloud-music"] + path = app/netease-cloud-music + url = https://github.com/emacs-eaf/eaf-netease-cloud-music.git +[submodule "app/org-previewer"] + path = app/org-previewer + url = https://github.com/emacs-eaf/eaf-org-previewer.git +[submodule "app/pdf-viewer"] + path = app/pdf-viewer + url = https://github.com/emacs-eaf/eaf-pdf-viewer.git +[submodule "app/system-monitor"] + path = app/system-monitor + url = https://github.com/emacs-eaf/eaf-system-monitor.git +[submodule "app/terminal"] + path = app/terminal + url = https://github.com/emacs-eaf/eaf-terminal.git +[submodule "app/video-player"] + path = app/video-player + url = https://github.com/emacs-eaf/eaf-video-player.git +[submodule "app/vue-demo"] + path = app/vue-demo + url = https://github.com/emacs-eaf/eaf-vue-demo.git diff --git a/README.md b/README.md index 911934963..4fa611f6a 100644 --- a/README.md +++ b/README.md @@ -103,8 +103,8 @@ If you prefer to manually call the installation script in the terminal, ```Bash cd emacs-application-framework - chmod +x ./install-eaf.sh - ./install-eaf.sh + chmod +x ./install-eaf.py + python ./install-eaf.py ``` - If you use Windows, diff --git a/README.zh-CN.md b/README.zh-CN.md index 9d46fb79b..414067f8d 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -101,8 +101,8 @@ EAF是一个可编程扩展的框架,它自带一系列丰富的应用,你 ```Bash cd emacs-application-framework - chmod +x ./install-eaf.sh - ./install-eaf.sh + chmod +x ./install-eaf.py + python ./install-eaf.py ``` - Windows用户: diff --git a/app/airshare b/app/airshare new file mode 160000 index 000000000..484c43b03 --- /dev/null +++ b/app/airshare @@ -0,0 +1 @@ +Subproject commit 484c43b03ee931b9079722d045c9471e1a8c0c75 diff --git a/app/browser b/app/browser new file mode 160000 index 000000000..85ce6663b --- /dev/null +++ b/app/browser @@ -0,0 +1 @@ +Subproject commit 85ce6663b4cdeeac865b2e9750b3c6a37e1a72d2 diff --git a/app/camera b/app/camera new file mode 160000 index 000000000..53c2673f2 --- /dev/null +++ b/app/camera @@ -0,0 +1 @@ +Subproject commit 53c2673f21a18b9257114d4420a18f55ff98a469 diff --git a/app/demo b/app/demo new file mode 160000 index 000000000..947fd8cc5 --- /dev/null +++ b/app/demo @@ -0,0 +1 @@ +Subproject commit 947fd8cc5feadd5ceff4dbba67fc3a4f0a9c674e diff --git a/app/file-browser b/app/file-browser new file mode 160000 index 000000000..1d00de625 --- /dev/null +++ b/app/file-browser @@ -0,0 +1 @@ +Subproject commit 1d00de625bb29435c1d70885d7b0b2343440ad51 diff --git a/app/file-manager b/app/file-manager new file mode 160000 index 000000000..bb54ddd7c --- /dev/null +++ b/app/file-manager @@ -0,0 +1 @@ +Subproject commit bb54ddd7c570aff94e19529aa361157cac1f5c7e diff --git a/app/file-sender b/app/file-sender new file mode 160000 index 000000000..59206b722 --- /dev/null +++ b/app/file-sender @@ -0,0 +1 @@ +Subproject commit 59206b7229bb37a61715c78b8d3046ecbc6a1cb0 diff --git a/app/image-viewer b/app/image-viewer new file mode 160000 index 000000000..b984a58c5 --- /dev/null +++ b/app/image-viewer @@ -0,0 +1 @@ +Subproject commit b984a58c59d885234bf2b97038d91dfa332699b2 diff --git a/app/js-video-player b/app/js-video-player new file mode 160000 index 000000000..fa1cef6e1 --- /dev/null +++ b/app/js-video-player @@ -0,0 +1 @@ +Subproject commit fa1cef6e1176fb28e42a22e1008b08e9bb54f2e3 diff --git a/app/jupyter b/app/jupyter new file mode 160000 index 000000000..07868a27c --- /dev/null +++ b/app/jupyter @@ -0,0 +1 @@ +Subproject commit 07868a27cf60949c20f7a4668fec6d521a078ea2 diff --git a/app/markdown-previewer b/app/markdown-previewer new file mode 160000 index 000000000..538b28570 --- /dev/null +++ b/app/markdown-previewer @@ -0,0 +1 @@ +Subproject commit 538b28570f6c9d4eba9a3283a3cf0c94f7b0c083 diff --git a/app/mindmap b/app/mindmap new file mode 160000 index 000000000..43664ad92 --- /dev/null +++ b/app/mindmap @@ -0,0 +1 @@ +Subproject commit 43664ad92dc4fee532381d4a24852b70890d2897 diff --git a/app/music-player b/app/music-player new file mode 160000 index 000000000..c24dabf22 --- /dev/null +++ b/app/music-player @@ -0,0 +1 @@ +Subproject commit c24dabf22411e954849502e975160ecb5fafa0d6 diff --git a/app/netease-cloud-music b/app/netease-cloud-music new file mode 160000 index 000000000..7012a771c --- /dev/null +++ b/app/netease-cloud-music @@ -0,0 +1 @@ +Subproject commit 7012a771c6299e4050a39810f25962166d98439e diff --git a/app/org-previewer b/app/org-previewer new file mode 160000 index 000000000..144b5922f --- /dev/null +++ b/app/org-previewer @@ -0,0 +1 @@ +Subproject commit 144b5922fccfe1e83179a7b30b6c03747327a19c diff --git a/app/pdf-viewer b/app/pdf-viewer new file mode 160000 index 000000000..dc84737bf --- /dev/null +++ b/app/pdf-viewer @@ -0,0 +1 @@ +Subproject commit dc84737bf8e5fc3e8e017285afc0ba3f3962ff28 diff --git a/app/system-monitor b/app/system-monitor new file mode 160000 index 000000000..bbfe20f2c --- /dev/null +++ b/app/system-monitor @@ -0,0 +1 @@ +Subproject commit bbfe20f2cbaa5ba4ba3f7b94a552a3af81c32e27 diff --git a/app/terminal b/app/terminal new file mode 160000 index 000000000..748a9f803 --- /dev/null +++ b/app/terminal @@ -0,0 +1 @@ +Subproject commit 748a9f803fcd527b0a3bd3a44d7064c3e840fc06 diff --git a/app/video-player b/app/video-player new file mode 160000 index 000000000..e6c7c3cec --- /dev/null +++ b/app/video-player @@ -0,0 +1 @@ +Subproject commit e6c7c3cec871d128c60dd3b7b6ba38fa01957794 diff --git a/app/vue-demo b/app/vue-demo new file mode 160000 index 000000000..bb508896a --- /dev/null +++ b/app/vue-demo @@ -0,0 +1 @@ +Subproject commit bb508896a1ef6b9f2b0d37b0266fe617bf6aabf8 diff --git a/applications.json b/applications.json new file mode 100644 index 000000000..feec15fd2 --- /dev/null +++ b/applications.json @@ -0,0 +1,22 @@ +{ + "airshare": "EAF Airshare", + "browser": "EAF Browser", + "camera": "EAF Camera", + "demo": "EAF Demo", + "file-browser": "EAF File Browser", + "file-manager": "EAF File Manager", + "file-sender": "EAF File Sender", + "image-viewer": "EAF Image Viewer", + "js-video-player": "EAF Video Player (JS)", + "jupyter": "EAF Jupyter", + "markdown-previewer": "EAF Markdown Previewer", + "mindmap": "EAF Mindmap", + "music-player": "EAF Music Player", + "netease-cloud-music": "EAF NetEase Cloud Music", + "org-previewer": "EAF Org Previewer", + "pdf-viewer": "EAF PDF Viewer", + "system-monitor": "EAF System Monitor", + "terminal": "EAF Terminal", + "video-player": "EAF Video Player", + "vue-demo": "EAF Vue Demo" +} diff --git a/dependencies.json b/dependencies.json new file mode 100644 index 000000000..e05e80a07 --- /dev/null +++ b/dependencies.json @@ -0,0 +1,48 @@ +{ + "pacman": [ + "wmctrl", + "python-pyqt5", + "python-pyqt5-sip", + "python-pyqtwebengine" + ], + "apt": [ + "wmctrl", + "nodejs", + "npm", + "libglib2.0-dev", + "python3-pyqt5", + "python3-sip", + "python3-pyqt5.qtwebengine", + "python3-pygit2" + ], + "dnf": [ + "wmctrl", + "nodejs", + "npm", + "glib2-devel", + "python3-qt5", + "python3-pyqt5-sip", + "pyqtwebengine-devel", + "python3-pygit2" + ], + "pkg": [ + "wmctrl", + "node", + "npm", + "glib", + "py38-qt5-sip", + "py38-qt5-webengine" + ], + "pip": { + "linux": [ + "epc", + "lxml" + ], + "win32": [ + "pyqt5", + "pyqt5-sip", + "pyqtwebengine", + "pygetwindow" + ] + } +} diff --git a/eaf.el b/eaf.el index 982f9173a..ca81fa27a 100644 --- a/eaf.el +++ b/eaf.el @@ -7,7 +7,7 @@ ;; Copyright (C) 2018, Andy Stewart, all rights reserved. ;; Created: 2018-06-15 14:10:12 ;; Version: 0.5 -;; Last-Updated: Tue Aug 10 21:46:49 2021 (-0400) +;; Last-Updated: Wed Aug 11 16:05:48 2021 (-0400) ;; By: Mingde (Matthew) Zeng ;; URL: https://github.com/manateelazycat/emacs-application-framework ;; Keywords: @@ -166,17 +166,16 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." (eaf-add-subdirs-to-load-path))) (eaf-add-app-dirs-to-load-path) - (require 'eaf-epc) ;;;###autoload (defun eaf-install-dependencies () - "An interactive function that run install-eaf.sh or install-eaf-win32.js or install-eaf-mac.sh for Linux or Windows or macOS respectively." + "An interactive function that run install-eaf.py or install-eaf-win32.js or install-eaf-mac.sh for Linux or Windows or macOS respectively." (interactive) (let* ((eaf-dir (file-name-directory (locate-library "eaf"))) (default-directory eaf-dir)) (cond ((eq system-type 'gnu/linux) - (shell-command (concat "./install-eaf.sh" "&"))) + (shell-command (concat "python " "install-eaf.py" "&"))) ((memq system-type '(cygwin windows-nt ms-dos)) (shell-command (format "node %s" (concat "install-eaf-win32.js" "&")))) ((eq system-type 'darwin) @@ -1578,24 +1577,26 @@ It currently identifies PDF, videos, images, and mindmap file extensions." (advice-add #'dired-find-file :around #'eaf--dired-find-file-advisor) (advice-add #'dired-find-alternate-file :around #'eaf--dired-find-file-advisor) -(require 'eaf-browser) -(require 'eaf-pdf-viewer) -(require 'eaf-markdown-previewer) -(require 'eaf-js-video-player) -(require 'eaf-video-player) -(require 'eaf-image-viewer) -(require 'eaf-org-previewer) -(require 'eaf-mindmap) -(require 'eaf-mail) -(require 'eaf-terminal) -(require 'eaf-camera) -(require 'eaf-jupyter) -(require 'eaf-netease-cloud-music) -(require 'eaf-music-player) -(require 'eaf-system-monitor) -(require 'eaf-file-manager) -(require 'eaf-file-browser) -(require 'eaf-vue-demo) +(ignore-errors (require 'eaf-airshare)) +(ignore-errors (require 'eaf-browser)) +(ignore-errors (require 'eaf-camera)) +(ignore-errors (require 'eaf-demo)) +(ignore-errors (require 'eaf-file-browser)) +(ignore-errors (require 'eaf-pdf-viewer)) +(ignore-errors (require 'eaf-markdown-previewer)) +(ignore-errors (require 'eaf-js-video-player)) +(ignore-errors (require 'eaf-video-player)) +(ignore-errors (require 'eaf-image-viewer)) +(ignore-errors (require 'eaf-org-previewer)) +(ignore-errors (require 'eaf-mindmap)) +(ignore-errors (require 'eaf-mail)) +(ignore-errors (require 'eaf-terminal)) +(ignore-errors (require 'eaf-jupyter)) +(ignore-errors (require 'eaf-netease-cloud-music)) +(ignore-errors (require 'eaf-music-player)) +(ignore-errors (require 'eaf-system-monitor)) +(ignore-errors (require 'eaf-file-manager)) +(ignore-errors (require 'eaf-vue-demo)) (provide 'eaf) diff --git a/install-eaf.py b/install-eaf.py new file mode 100755 index 000000000..4c37ccf57 --- /dev/null +++ b/install-eaf.py @@ -0,0 +1,160 @@ +#!/usr/bin/env python3 + +import argparse +import os +import sys +import subprocess +from shutil import which +import json + +script_path = os.path.dirname(os.path.realpath(__file__)) +def subprocess_run(command, path=script_path, ensure_pass=True): + print("[EAF] Running", ' '.join(command), "@", path) + process = subprocess.run(command, capture_output=True, stdin = subprocess.PIPE, text=True, cwd=path) + if process.returncode != 0 and ensure_pass: + print(process.stderr) + sys.exit(process.returncode) + print(process.stdout) + return process + +def install_sys_deps(distro: str, deps_list): + command = [] + if distro == 'pacman': + command = ['yay', '-Sy', '--noconfirm', '--needed'] + elif distro == 'apt': + command = ['sudo', 'apt', '-y', 'install'] + elif which("dnf"): + command = ['sudo', 'dnf', '-y', 'install'] + elif which("pkg"): + command = ['doas', 'pkg', '-y', 'install'] + command.extend(deps_list) + return subprocess_run(command) + +def install_py_deps(deps_list): + command = ['pip', 'install', '--user'] + command.extend(deps_list) + return subprocess_run(command) + +def install_npm_install(app_path_list): + for app_path in app_path_list: + command = ["npm", "install"] + subprocess_run(command, path=app_path) + +def install_npm_rebuild(app_path_list): + for app_path in app_path_list: + command = ["npm", 'rebuild'] + subprocess_run(command, path=app_path) + +def install_vue_install(app_path_list): + for app_path in app_path_list: + command = ["npm", 'install'] + subprocess_run(command, path=app_path) + command = ["npm", 'run', 'build'] + subprocess_run(command, path=app_path) + + +def git_submodule_update_app(app: str): + command = ["git", "submodule", "update", "--remote", os.path.join("app", app)] + return subprocess_run(command) + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--install-all-apps", action="store_true", + help='install all available applications') + parser.add_argument("--ignore-sys-deps", action="store_true", + help='ignore system dependencies') + parser.add_argument("--ignore-py-deps", action="store_true", + help='ignore python dependencies') + parser.add_argument("--ignore-node-deps", action="store_true", + help='ignore node dependencies') + args = parser.parse_args() + + + distro = "" + if which("pacman"): + distro = "pacman" + subprocess_run(['sudo', 'pacman', '-Sy', '--noconfirm', '--needed', 'yay']) + elif which("apt"): + distro = "apt" + elif which("dnf"): + distro = "dnf" + elif which("pkg"): + distro = "pkg" + elif sys.platform == "linux": + print("[EAF] Unsupported Linux distribution/package manager.") + print(" Please see dependencies.json for list of dependencies.") + sys.exit(1) + + with open(os.path.join(script_path, 'dependencies.json')) as f: + deps_dict = json.load(f) + with open(os.path.join(script_path, 'applications.json')) as f: + app_dict = json.load(f) + + core_deps = [] + if not args.ignore_sys_deps and sys.platform == "linux": + core_deps.extend(deps_dict[distro]) + print("[EAF] Installing system dependencies") + if len(core_deps) > 0: + install_sys_deps(distro, core_deps) + print("[EAF] Finished installing system dependencies") + if not args.ignore_py_deps or sys.platform != "linux": + install_py_deps(deps_dict["pip"][sys.platform]) + if not args.ignore_node_deps: + subprocess_run(["npm", "install"]) + + if not args.install_all_apps: + key = input("[EAF] Install all available EAF applications? (Y/n): ") + args.install_all_apps = key.lower() == 'y' or key == "" + + sys_deps = [] + py_deps = [] + npm_install_apps = [] + vue_install_apps = [] + npm_rebuild_apps = [] + for app_name, app_description in app_dict.items(): + install_this_app = False + if not args.install_all_apps: + key = input("[EAF] " + app_description + ". Install? (y/N): ") + install_this_app = key.lower() == 'y' or key != "" + if args.install_all_apps or install_this_app: + print("[EAF] Adding", app_name, "application to EAF") + git_submodule_update_app(app_name) + app_path = os.path.join(script_path, "app", app_name) + app_dep_path = os.path.join(app_path, 'dependencies.json') + if os.path.exists(app_dep_path): + with open(os.path.join(app_dep_path)) as f: + deps_dict = json.load(f) + if not args.ignore_sys_deps and sys.platform == "linux" and distro in deps_dict: + sys_deps.extend(deps_dict[distro]) + if not args.ignore_py_deps and 'pip' in deps_dict and sys.platform in deps_dict['pip']: + py_deps.extend(deps_dict['pip'][sys.platform]) + if not args.ignore_node_deps: + if 'npm_install' in deps_dict and deps_dict['npm_install']: + npm_install_apps.append(app_path) + if 'vue_install' in deps_dict and deps_dict['vue_install']: + vue_install_apps.append(app_path) + if 'npm_rebuild' in deps_dict and deps_dict['npm_rebuild']: + npm_rebuild_apps.append(app_path) + + + print("[EAF] Installing dependencies for installed applications") + if not args.ignore_sys_deps and sys.platform == "linux" and len(sys_deps) > 0: + print("[EAF] Installing system dependencies for installed applications") + install_sys_deps(distro, sys_deps) + if not args.ignore_py_deps and len(py_deps) > 0: + print("[EAF] Installing python dependencies for installed applications") + install_py_deps(py_deps) + if not args.ignore_node_deps: + if len(npm_install_apps) > 0: + install_npm_install(npm_install_apps) + if len(npm_rebuild_apps) > 0: + install_npm_rebuild(npm_rebuild_apps) + if len(vue_install_apps) > 0: + install_vue_install(vue_install_apps) + + + print("[EAF] install-eaf.py finished.") + + +if __name__ == '__main__': + main() diff --git a/install-eaf.sh b/install-eaf.sh deleted file mode 100755 index 6d141327e..000000000 --- a/install-eaf.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/env sh - -set -eu - -IGNORE_SYS_DEPS="" -IGNORE_PY_DEPS="" -IGNORE_NPM_DEPS="" - -while [ $# -gt 0 ]; do - key="$1" - - case $key in - --ignore-sys-deps) - IGNORE_SYS_DEPS=YES - shift - ;; - --ignore-py-deps) - IGNORE_PY_DEPS=YES - shift - ;; - --ignore-npm-deps) - IGNORE_NPM_DEPS=YES - shift - ;; - esac -done - -ARCH_PACKAGES="git nodejs npm \ -python-pyqt5 python-pyqt5-sip python-pyqtwebengine wmctrl \ -python-qrcode aria2 python-qtconsole taglib" - -# System dependencies -if [ $IGNORE_SYS_DEPS ]; then - : -elif [ "$(command -v apt)" ]; then - # Missing in Ubuntu: filebrowser-bin - # shellcheck disable=SC2015 - DEPS="git aria2 wmctrl" - - if [ ! "$(command -v node)" ]; then - DEPS="${DEPS} nodejs" - fi - - if [ ! "$(command -v npm)" ]; then - DEPS="${DEPS} npm" - fi - - sudo apt install -y ${DEPS} && - sudo apt install -y libglib2.0-dev && - sudo apt install -y python3-pyqt5 python3-sip python3-pyqt5.qtwebengine \ - python3-qrcode python3-feedparser \ - python3-markdown python3-qtconsole python3-pygit2 libtag1-dev || - { echo "[EAF] Failed to install dependency with apt."; exit 1;} - -elif [ "$(command -v dnf)" ]; then - # TODO: please add filebrowser-bin if it exists in Fedora repo. - # shellcheck disable=SC2015 - sudo dnf -y install git nodejs npm aria2 wmctrl && - sudo dnf -y install glib2-devel && - sudo dnf -y install python3-qt5 python3-pyqt5-sip pyqtwebengine-devel \ - python3-qrcode python3-feedparser python3-markdown \ - python3-qtconsole python3-pygit2 taglib-devel || - { echo "[EAF] Failed to install dependencies with dnf."; exit 1; } - -elif [ "$(command -v pacman)" ]; then - # shellcheck disable=SC2086 - sudo pacman -Sy --noconfirm --needed $ARCH_PACKAGES || - { echo "[EAF] Failed to install dependency with pacman."; exit 1;} - [ "$(command -v yay)" ] && yay -S --noconfirm filebrowser-bin - -elif [ "$(command -v pkg)" ]; then - # shellcheck disable=SC2086 - # NOTE: No filebrowser-bin, so eaf-open-file-manager won't work! - doas pkg install -y node npm wmctrl aria2 && - doas pkg install -y glib && - doas pkg install -y python38 py38-pip py38-qt5-sip py38-qt5-webengine \ - py38-qrcode py38-qtconsole taglib || - { echo "[EAF] Failed to install dependency with pkg."; exit 1;} - -else - echo "[EAF] Unsupported distribution/package manager. Here are the packages that needs to be installed:" - for PCK in $ARCH_PACKAGES; do - # shellcheck disable=SC2039 - echo "- ${PCK}" - done - echo "[EAF] Please find your appropriate installation method and submit an issue/PR to \ -https://github.com/manateelazycat/emacs-application-framework for the script to be updated." - exit 1 -fi - -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" - -# Python dependencies -if [ $IGNORE_PY_DEPS ]; then - : -elif [ "$(command -v pip3)" ]; then - (cd $SCRIPT_DIR && pip3 install --user -r requirements.txt) || { echo "[EAF] Failed to install dependency with pip3."; exit 1;} -elif [ "$(command -v pip)" ]; then - (cd $SCRIPT_DIR && pip install --user -r requirements.txt) || { echo "[EAF] Failed to install dependency with pip."; exit 1;} -else - echo "[EAF] Cannot find pip. Please install it before launching the script again." - exit 1 -fi - -# NPM dependencies -if [ $IGNORE_NPM_DEPS ]; then - : -else - echo "[EAF] Installing npm dependencies..." - (cd $SCRIPT_DIR && npm install) || { echo "[EAF] Failed to install dependency with npm."; exit 1;} -fi - -echo "[EAF] install-eaf.sh finished." diff --git a/package-lock.json b/package-lock.json index 4281fdc84..a3a0bc261 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,6 @@ "packages": { "": { "version": "1.0.0", - "hasInstallScript": true, "license": "GPL-3.0-or-later", "dependencies": { "darkreader": "^4.9.34" diff --git a/package.json b/package.json index 7ea565d9e..12b1ac5c5 100644 --- a/package.json +++ b/package.json @@ -4,25 +4,8 @@ "description": "EAF is a GUI application framework that revolutionizes Emacs graphical capabilities to ultimately *Live in Emacs*.", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "postinstall": "node install-node-apps.js" + "test": "echo \"Error: no test specified\" && exit 1" }, - "apps": [ - "app/js-video-player", - "app/markdown-previewer", - "app/image-viewer", - "app/terminal" - ], - "vueApps": [ - "app/vue-demo", - "app/system-monitor", - "app/music-player", - "app/file-manager", - "app/netease-cloud-music" - ], - "rebuildApps": [ - "app/terminal" - ], "repository": { "type": "git", "url": "git+https://github.com/manateelazycat/emacs-application-framework.git" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 9cb147582..000000000 --- a/requirements.txt +++ /dev/null @@ -1,13 +0,0 @@ -pyqt5; sys_platform == 'win32' -pyqt5-sip; sys_platform == 'win32' -pyqtwebengine; sys_platform == 'win32' -qrcode; sys_platform == 'win32' -qtconsole; sys_platform == 'win32' -markdown; sys_platform == 'win32' -pygetwindow; sys_platform == 'win32' -epc -pymupdf -retrying -pytaglib -psutil -python-magic