Skip to content

WIP: Link Local OpenSumi

Artin edited this page Mar 3, 2022 · 1 revision

目前下面这个方法会导致没有 link @opensumi/di 导致报错。


Firstly, Open the opensumi/core project, run:

yarn
yarn build
lerna exec --no-bail "yarn link --link-folder ~/.yarn-link-sumi"

and run this scripts in opensumi/ide-startup to link package:

yarn
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-addons
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-components
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-connection
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-core-common
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-core-electron-main
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-comments
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-core-node
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-debug
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-explorer
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-electron-basic
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-extension
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-express-file-server
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-editor
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-extension-manager
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-file-search
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-file-service
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-decoration
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-file-tree-next
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-keymaps
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-core-browser
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-i18n
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-logs
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-extension-storage
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-file-scheme
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-markdown
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-markers
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-monaco
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-monaco-enhance
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-opened-editor
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-main-layout
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-outline
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-overlay
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-quick-open
yarn link --link-folder ~/.yarn-link-sumi @opensumi/remote-cli
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-remote-opener
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-process
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-output
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-preferences
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-scm
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-startup
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-menu-bar
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-storage
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-static-resource
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-search
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-task
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-testing
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-theme
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-userstorage
yarn link --link-folder ~/.yarn-link-sumi @opensumi/sumi
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-variable
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-webview
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-status-bar
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-terminal-next
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-workspace
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-workspace-edit
yarn link --link-folder ~/.yarn-link-sumi @opensumi/ide-toolbar

the above scripts is generate by:

import fse from "fs-extra";
import path from "path";
const packagesPath = path.join(__dirname, "./packages");
async function main() {
  const dirs = (await fse.readdir(packagesPath)).sort();
  const mapping = {};
  const toPromise = [];
  for (const dir of dirs) {
    toPromise.push((async () => {
      try {
        const targetDir = path.join(packagesPath, dir);
        const pkgJson = await fse.readJson(path.join(targetDir, "package.json"));
        mapping[dir] = pkgJson.name;
        console.log("yarn link --link-folder ~/.yarn-link-sumi " + pkgJson.name);
      } catch (e) {
      }
    })());
  }
  await Promise.all(toPromise);
}
main();
Clone this wiki locally