mirror of https://github.com/opensumi/core
build: add railway build config (#3311)
This commit is contained in:
parent
977e9d5dda
commit
24f07ae208
|
@ -13,6 +13,7 @@ tools/cli-engine/src/browser/worker-host.js
|
|||
**/scripts/**
|
||||
packages/*/lib/**
|
||||
packages/**/dist/**
|
||||
packages/**/dist-node/**
|
||||
|
||||
packages/components/src/icon/iconfont
|
||||
packages/core-browser/src/style/octicons
|
||||
|
|
|
@ -52,6 +52,7 @@ jobs:
|
|||
run: |
|
||||
yarn run init
|
||||
yarn run bundle:lite
|
||||
yarn run bundle:prod
|
||||
|
||||
- name: Lint
|
||||
run: |
|
||||
|
@ -81,6 +82,7 @@ jobs:
|
|||
yarn install --immutable
|
||||
yarn run init
|
||||
yarn run bundle:lite
|
||||
yarn run bundle:prod
|
||||
|
||||
- name: Lint
|
||||
run: |
|
||||
|
|
|
@ -67,6 +67,7 @@ jspm_packages/
|
|||
.yarn-integrity
|
||||
|
||||
dist
|
||||
dist-node
|
||||
lib
|
||||
|
||||
.vscode/*
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
providers = ["..."]
|
||||
|
||||
[variables]
|
||||
NODE_ENV = 'production'
|
||||
|
||||
[phases.setup]
|
||||
nixPkgs = ["...", "libsecret"]
|
||||
aptPkgs = ["...", "build-essential", "libsecret-1-dev"]
|
||||
|
||||
[phases.build]
|
||||
cmds = ['yarn build:all', 'yarn bundle:prod', 'yarn download-extension']
|
||||
|
||||
[start]
|
||||
cmd = 'node packages/startup/dist-node/server/server.js'
|
|
@ -13,11 +13,12 @@
|
|||
"build:components": "cd packages/components && yarn run build:dist",
|
||||
"start:lite": "cross-env NODE_ENV=development ts-node ./scripts/start --script=start:lite",
|
||||
"bundle:lite": "ts-node ./scripts/start --script=bundle:lite",
|
||||
"bundle:prod": "ts-node ./scripts/start --script=bundle:prod",
|
||||
"start:pty-service": "KTLOG_SHOW_DEBUG=1 npx ts-node packages/terminal-next/src/node/pty.proxy.remote.exec.ts",
|
||||
"create": "ts-node ./scripts/create",
|
||||
"add:node": "ts-node ./scripts/add-node",
|
||||
"add:browser": "ts-node ./scripts/add-browser",
|
||||
"build": "yarn run compile && echo 'use `compile` instead'",
|
||||
"build": "yarn run compile",
|
||||
"build:all": "yarn run build && yarn run build:worker-host && yarn run build:ext-host && yarn run build:components",
|
||||
"compile": "cross-env NODE_ENV=production ts-node ./scripts/build",
|
||||
"build:worker-host": "cd packages/extension && yarn run compile:worker",
|
||||
|
@ -92,7 +93,7 @@
|
|||
"@types/node-fetch": "^2.6.1",
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@types/react-is": "^16.7.1",
|
||||
"@types/react-is": "^18.2.4",
|
||||
"@types/socket.io-client": "^1.4.32",
|
||||
"@types/temp": "^0.9.1",
|
||||
"@types/ws": "^8.5.10",
|
||||
|
@ -111,7 +112,6 @@
|
|||
"eslint-plugin-import": "^2.25.4",
|
||||
"eslint-plugin-unused-imports": "^2.0.0",
|
||||
"git-rev-sync": "^3.0.1",
|
||||
"got": "^12.1.0",
|
||||
"handlebars": "^4.7.3",
|
||||
"is-git-clean": "^1.1.0",
|
||||
"jest": "^29.7.0",
|
||||
|
@ -143,8 +143,6 @@
|
|||
"tools/cli-engine"
|
||||
],
|
||||
"resolutions": {
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"classnames": "2.3.1",
|
||||
"node-gyp": "9.3.1"
|
||||
},
|
||||
|
|
|
@ -19,6 +19,9 @@ module.exports = {
|
|||
optimization: {
|
||||
minimizer: [new OptimizeCSSAssetsPlugin({})],
|
||||
},
|
||||
cache: {
|
||||
type: 'filesystem',
|
||||
},
|
||||
plugins: [
|
||||
new MiniCssExtractPlugin({
|
||||
filename: 'index.css',
|
||||
|
@ -53,18 +56,6 @@ module.exports = {
|
|||
{
|
||||
test: /\.tsx?$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'cache-loader',
|
||||
options: {
|
||||
cacheDirectory: path.resolve(__dirname, '../../../.cache'),
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'thread-loader',
|
||||
options: {
|
||||
workers: require('os').cpus().length - 1,
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
|
|
|
@ -32,14 +32,12 @@
|
|||
"lodash": "^4.17.21",
|
||||
"mobx": "^5.9.4",
|
||||
"mobx-react-lite": "^1.3.1",
|
||||
"onigasm": "2.2.2",
|
||||
"rc-menu": "^9.3.2",
|
||||
"react": "^18.0.0",
|
||||
"react-autosize-textarea": "^7.0.0",
|
||||
"react-ctxmenu-trigger": "^1.0.0",
|
||||
"react-custom-scrollbars": "^4.2.1",
|
||||
"react-is": "^16.8.6",
|
||||
"react-sticky": "^6.0.3",
|
||||
"react-is": "^18.2.0",
|
||||
"react-window": "^1.8.5",
|
||||
"resize-observer-polyfill": "1.5.1",
|
||||
"strip-json-comments": "3.0.1",
|
||||
|
|
|
@ -2,7 +2,7 @@ import http from 'http';
|
|||
import path from 'path';
|
||||
|
||||
import Koa from 'koa';
|
||||
import superagent from 'superagent';
|
||||
import fetch from 'node-fetch';
|
||||
|
||||
import { IServerApp, AppConfig } from '@opensumi/ide-core-node';
|
||||
import { createNodeInjector } from '@opensumi/ide-dev-tool/src/injector-helper';
|
||||
|
@ -38,24 +38,18 @@ describe('template test', () => {
|
|||
});
|
||||
|
||||
it('can get png if path in whitelist', async () => {
|
||||
const res = await superagent.get(`http://0.0.0.0:50118/assets${path.join(resPath, 'icon.png')}`);
|
||||
const res = await fetch(`http://0.0.0.0:50118/assets${path.join(resPath, 'icon.png')}`);
|
||||
expect(res.status === 200);
|
||||
});
|
||||
|
||||
it('response 403 if not in whitelist', async () => {
|
||||
try {
|
||||
await superagent.get('http://0.0.0.0:50118/assets/test');
|
||||
} catch (err) {
|
||||
expect(err.status === 403);
|
||||
}
|
||||
const res = await fetch('http://0.0.0.0:50118/assets/test');
|
||||
expect(res.status === 403);
|
||||
});
|
||||
|
||||
it('response 403 if not allowed mime', async () => {
|
||||
try {
|
||||
await superagent.get(`http://0.0.0.0:50118/assets${path.join(resPath, 'icon.exe')}`);
|
||||
} catch (err) {
|
||||
expect(err.status === 403);
|
||||
}
|
||||
const res = await fetch(`http://0.0.0.0:50118/assets${path.join(resPath, 'icon.exe')}`);
|
||||
expect(res.status === 403);
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
"devDependencies": {
|
||||
"@opensumi/ide-core-browser": "workspace:*",
|
||||
"@opensumi/ide-dev-tool": "workspace:*",
|
||||
"@types/koa-mount": "^4.0.1",
|
||||
"superagent": "^5.1.0"
|
||||
"@types/koa-mount": "^4.0.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,11 +15,9 @@
|
|||
"@opensumi/ide-core-common": "workspace:*",
|
||||
"@opensumi/ide-core-node": "workspace:*",
|
||||
"@opensumi/ide-extension": "workspace:*",
|
||||
"compressing": "^1.6.2",
|
||||
"compressing": "^1.10.0",
|
||||
"fs-extra": "^10.1.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"request": "2.*.*",
|
||||
"requestretry": "^7.0.0"
|
||||
"node-fetch": "^2.6.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@opensumi/ide-components": "workspace:*",
|
||||
|
@ -29,8 +27,6 @@
|
|||
"@opensumi/ide-markdown": "workspace:*",
|
||||
"@opensumi/ide-overlay": "workspace:*",
|
||||
"@opensumi/ide-theme": "workspace:*",
|
||||
"@types/node-fetch": "^2.6.1",
|
||||
"@types/requestretry": "^1.12.7",
|
||||
"@types/uuid": "^8.3.4"
|
||||
"@types/node-fetch": "^2.6.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import assert from 'assert';
|
||||
import os from 'os';
|
||||
import path from 'path';
|
||||
import { pipeline } from 'stream';
|
||||
|
||||
import compressing from 'compressing';
|
||||
import fs from 'fs-extra';
|
||||
import requestretry from 'requestretry';
|
||||
import nodeFetch, { RequestInit } from 'node-fetch';
|
||||
|
||||
import { Injectable, Autowired, INJECTOR_TOKEN, Injector } from '@opensumi/di';
|
||||
import { uuid } from '@opensumi/ide-core-common';
|
||||
|
@ -138,29 +139,38 @@ export class VSXExtensionService implements IVSXExtensionBackService {
|
|||
const vsixFileName = id + '.vsix';
|
||||
const downloadPath = path.join(extensionDir, vsixFileName);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
requestretry(
|
||||
url,
|
||||
{
|
||||
method: 'GET',
|
||||
maxAttempts: 5,
|
||||
retryDelay: 2000,
|
||||
headers: this.getMarketplace().downloadHeaders,
|
||||
retryStrategy: requestretry.RetryStrategies.HTTPOrNetworkError,
|
||||
},
|
||||
(err, response) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else if (response && response.statusCode === 404) {
|
||||
reject();
|
||||
} else if (response && response.statusCode !== 200) {
|
||||
reject(new Error(response.statusMessage));
|
||||
}
|
||||
},
|
||||
)
|
||||
.pipe(fs.createWriteStream(downloadPath))
|
||||
.on('error', reject)
|
||||
.on('close', () => resolve({ downloadPath }));
|
||||
const res = await nodeFetchRetry(
|
||||
url,
|
||||
{
|
||||
method: 'GET',
|
||||
headers: this.getMarketplace().downloadHeaders,
|
||||
},
|
||||
{
|
||||
maxAttempts: 5,
|
||||
retryDelay: 2000,
|
||||
},
|
||||
);
|
||||
|
||||
assert(res, `download extension ${id} from ${url} failed`);
|
||||
|
||||
if (res.status === 404) {
|
||||
throw new Error(`extension ${id} not found`);
|
||||
}
|
||||
|
||||
if (res.status !== 200) {
|
||||
throw new Error(`download extension ${id} from ${url} failed, status: ${res?.status} ${res?.statusText}`);
|
||||
}
|
||||
|
||||
return await new Promise((resolve, reject) => {
|
||||
const fileStream = fs.createWriteStream(downloadPath);
|
||||
res.body.pipe(fileStream);
|
||||
|
||||
res.body.on('error', (err) => {
|
||||
reject(err);
|
||||
});
|
||||
fileStream.on('finish', function () {
|
||||
resolve({ downloadPath });
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -168,3 +178,33 @@ export class VSXExtensionService implements IVSXExtensionBackService {
|
|||
return await this.getMarketplace().search(param);
|
||||
}
|
||||
}
|
||||
|
||||
function sleep(ms) {
|
||||
return new Promise((resolve) => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
const nodeFetchRetry = async (
|
||||
url: string,
|
||||
fetchOptions: RequestInit,
|
||||
opts: {
|
||||
maxAttempts: number;
|
||||
retryDelay: number;
|
||||
},
|
||||
) => {
|
||||
let retry = (opts && opts.maxAttempts) || 3;
|
||||
|
||||
while (retry > 0) {
|
||||
try {
|
||||
return nodeFetch(url, fetchOptions);
|
||||
} catch (e) {
|
||||
retry = retry - 1;
|
||||
if (retry === 0) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (opts && opts.retryDelay) {
|
||||
await sleep(opts.retryDelay);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -187,7 +187,7 @@ export class ExtensionNodeServiceImpl implements IExtensionNodeService {
|
|||
|
||||
if (notExistExtension) {
|
||||
// 进程未调用启动直接连接
|
||||
this.logger.error(`${clientId} clientId process connection set error`, extProcessId);
|
||||
this.logger.error(`${clientId} clientId process connection not exists`);
|
||||
/**
|
||||
* 如果前端与后端连接后发现没有对应的插件进程实例,那么通知前端重启插件进程
|
||||
* 一般这种情况出现在用户关闭电脑超过 ProcessCloseExitThreshold 设定的最大时间,插件进程被杀死后,前端再次建立连接时
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
"dependencies": {
|
||||
"@opensumi/ide-utils": "workspace:*",
|
||||
"chalk": "^4.1.2",
|
||||
"got": "^12.1.0",
|
||||
"mri": "^1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -3,6 +3,7 @@ import { statSync, existsSync } from 'fs';
|
|||
import { join } from 'path';
|
||||
|
||||
import { green, red } from 'chalk';
|
||||
import fetch from 'node-fetch';
|
||||
|
||||
import { ArgvFactory } from '@opensumi/ide-utils/lib/argv';
|
||||
|
||||
|
@ -45,12 +46,10 @@ function openPathOrUrl(pathOrUrl: string): void {
|
|||
}
|
||||
|
||||
const query = `?type=${type}&${type}=${encodeURIComponent(fullPathOrUrl)}&clientId=${CLIENT_ID}`;
|
||||
import('got').then(({ default: got }) => {
|
||||
got(`${SUMI_SERVER_HOST}/${OPENER_ROUTE}${query}`).catch((err) => {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(red(`Open ${type} ${fullPathOrUrl} error: \n ${err.message}`));
|
||||
process.exit(1);
|
||||
});
|
||||
fetch(`${SUMI_SERVER_HOST}/${OPENER_ROUTE}${query}`).catch((err) => {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(red(`Open ${type} ${fullPathOrUrl} error: \n ${err.message}`));
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -10,48 +10,13 @@ setLocale(defaultLanguage);
|
|||
|
||||
import '@opensumi/ide-i18n';
|
||||
import '@opensumi/ide-core-browser/lib/style/index.less';
|
||||
import { SlotLocation } from '@opensumi/ide-core-browser';
|
||||
import { ExpressFileServerModule } from '@opensumi/ide-express-file-server/lib/browser';
|
||||
import { defaultConfig } from '@opensumi/ide-main-layout/lib/browser/default-config';
|
||||
import { RemoteOpenerModule } from '@opensumi/ide-remote-opener/lib/browser';
|
||||
|
||||
import { CommonBrowserModules } from '../../src/browser/common-modules';
|
||||
import { SampleModule } from '../sample-modules';
|
||||
|
||||
import { renderApp } from './render-app';
|
||||
import { getDefaultClientAppOpts, renderApp } from './render-app';
|
||||
|
||||
import '../styles.less';
|
||||
|
||||
renderApp({
|
||||
modules: [...CommonBrowserModules, ExpressFileServerModule, SampleModule, RemoteOpenerModule],
|
||||
layoutConfig: {
|
||||
...defaultConfig,
|
||||
...{
|
||||
[SlotLocation.top]: {
|
||||
modules: ['menubar', 'toolbar'],
|
||||
},
|
||||
},
|
||||
...{
|
||||
[SlotLocation.action]: {
|
||||
modules: ['@opensumi/ide-toolbar-action'],
|
||||
},
|
||||
},
|
||||
},
|
||||
useCdnIcon: true,
|
||||
useExperimentalShadowDom: true,
|
||||
defaultPreferences: {
|
||||
'general.language': defaultLanguage,
|
||||
'general.theme': 'opensumi-dark',
|
||||
'general.icon': 'vscode-icons',
|
||||
'application.confirmExit': 'never',
|
||||
'editor.quickSuggestionsDelay': 100,
|
||||
},
|
||||
defaultPanels: {
|
||||
bottom: '@opensumi/ide-terminal-next',
|
||||
right: '',
|
||||
},
|
||||
// 当 `.sumi` 下不存在配置文件时,默认采用 `.vscode` 下的配置
|
||||
useVSCodeWorkspaceConfiguration: true,
|
||||
// 开启 core-browser 对 OpenSumi DevTools 的支持,默认为关闭
|
||||
devtools: true,
|
||||
});
|
||||
renderApp(
|
||||
getDefaultClientAppOpts({
|
||||
defaultLanguage,
|
||||
}),
|
||||
);
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
// eslint-disable-next-line import/order
|
||||
import { LOCALE_TYPES } from '@opensumi/ide-core-common/lib/const';
|
||||
|
||||
const defaultLanguage = LOCALE_TYPES.EN_US;
|
||||
// eslint-disable-next-line import/order
|
||||
import { setLocale } from '@opensumi/ide-monaco/lib/browser/monaco-localize';
|
||||
// 请注意,集成方在这里需要自己传一个正确的 locale 进去
|
||||
// 如果不传则默认会根据 PreferenceScope 的优先级从 LocalStorage 取值
|
||||
setLocale(defaultLanguage);
|
||||
|
||||
import '@opensumi/ide-i18n';
|
||||
import '@opensumi/ide-core-browser/lib/style/index.less';
|
||||
|
||||
import { getDefaultClientAppOpts, renderApp } from '../render-app';
|
||||
|
||||
import '../../styles.less';
|
||||
|
||||
const hostname = window.location.hostname;
|
||||
const port = window.location.port;
|
||||
|
||||
renderApp(
|
||||
getDefaultClientAppOpts({
|
||||
defaultLanguage,
|
||||
opts: {
|
||||
webviewEndpoint: '/webview',
|
||||
extWorkerHost: '/worker-host.js',
|
||||
wsPath: window.location.protocol === 'https:' ? `wss://${hostname}:${port}` : `ws://${hostname}:${port}`,
|
||||
},
|
||||
}),
|
||||
);
|
|
@ -0,0 +1,16 @@
|
|||
/* eslint-disable no-console */
|
||||
import path from 'path';
|
||||
|
||||
import { startServer } from '@opensumi/ide-dev-tool/src/server';
|
||||
import { ExpressFileServerModule } from '@opensumi/ide-express-file-server/lib/node';
|
||||
|
||||
import { CommonNodeModules } from '../../../src/node/common-modules';
|
||||
|
||||
startServer(
|
||||
{
|
||||
modules: [...CommonNodeModules, ExpressFileServerModule],
|
||||
},
|
||||
{
|
||||
mountStaticPath: path.join(__dirname, '../../dist'),
|
||||
},
|
||||
);
|
|
@ -3,12 +3,20 @@ console.time('Render');
|
|||
|
||||
import { Injector } from '@opensumi/di';
|
||||
import { IClientAppOpts } from '@opensumi/ide-core-browser';
|
||||
import { SlotLocation } from '@opensumi/ide-core-browser';
|
||||
import { ClientApp } from '@opensumi/ide-core-browser/lib/bootstrap/app';
|
||||
import { uuid } from '@opensumi/ide-core-common';
|
||||
import { ExpressFileServerModule } from '@opensumi/ide-express-file-server/lib/browser';
|
||||
import { defaultConfig } from '@opensumi/ide-main-layout/lib/browser/default-config';
|
||||
import { RemoteOpenerModule } from '@opensumi/ide-remote-opener/lib/browser';
|
||||
|
||||
import { CommonBrowserModules } from '../../src/browser/common-modules';
|
||||
import { SampleModule } from '../sample-modules';
|
||||
|
||||
import { DefaultLayout } from './layout';
|
||||
|
||||
const CLIENT_ID = 'W_' + uuid();
|
||||
|
||||
export async function renderApp(opts: IClientAppOpts) {
|
||||
const defaultHost = process.env.HOST || window.location.hostname;
|
||||
const injector = new Injector();
|
||||
|
@ -19,11 +27,13 @@ export async function renderApp(opts: IClientAppOpts) {
|
|||
|
||||
opts.injector = injector;
|
||||
opts.extensionDir = opts.extensionDir || process.env.EXTENSION_DIR;
|
||||
opts.wsPath = process.env.WS_PATH || `ws://${defaultHost}:8000`;
|
||||
opts.wsPath = opts.wsPath || process.env.WS_PATH || `ws://${defaultHost}:8000`;
|
||||
|
||||
opts.extWorkerHost = opts.extWorkerHost || process.env.EXTENSION_WORKER_HOST;
|
||||
|
||||
const anotherHostName = process.env.WEBVIEW_HOST || defaultHost;
|
||||
opts.webviewEndpoint = `http://${anotherHostName}:8899`;
|
||||
opts.webviewEndpoint = opts.webviewEndpoint || `http://${anotherHostName}:8899`;
|
||||
|
||||
opts.editorBackgroundImage =
|
||||
'https://img.alicdn.com/imgextra/i2/O1CN01dqjQei1tpbj9z9VPH_!!6000000005951-55-tps-87-78.svg';
|
||||
opts.layoutComponent = DefaultLayout;
|
||||
|
@ -41,3 +51,44 @@ export async function renderApp(opts: IClientAppOpts) {
|
|||
|
||||
app.start(document.getElementById('main')!, 'web');
|
||||
}
|
||||
|
||||
export const getDefaultClientAppOpts = ({
|
||||
defaultLanguage,
|
||||
opts = {},
|
||||
}: {
|
||||
defaultLanguage: string;
|
||||
opts?: Partial<IClientAppOpts>;
|
||||
}): IClientAppOpts => ({
|
||||
modules: [...CommonBrowserModules, ExpressFileServerModule, SampleModule, RemoteOpenerModule],
|
||||
layoutConfig: {
|
||||
...defaultConfig,
|
||||
...{
|
||||
[SlotLocation.top]: {
|
||||
modules: ['menubar', 'toolbar'],
|
||||
},
|
||||
},
|
||||
...{
|
||||
[SlotLocation.action]: {
|
||||
modules: ['@opensumi/ide-toolbar-action'],
|
||||
},
|
||||
},
|
||||
},
|
||||
useCdnIcon: true,
|
||||
useExperimentalShadowDom: true,
|
||||
defaultPreferences: {
|
||||
'general.language': defaultLanguage,
|
||||
'general.theme': 'opensumi-dark',
|
||||
'general.icon': 'vscode-icons',
|
||||
'application.confirmExit': 'never',
|
||||
'editor.quickSuggestionsDelay': 100,
|
||||
},
|
||||
defaultPanels: {
|
||||
bottom: '@opensumi/ide-terminal-next',
|
||||
right: '',
|
||||
},
|
||||
// 当 `.sumi` 下不存在配置文件时,默认采用 `.vscode` 下的配置
|
||||
useVSCodeWorkspaceConfiguration: true,
|
||||
// 开启 core-browser 对 OpenSumi DevTools 的支持,默认为关闭
|
||||
devtools: true,
|
||||
...opts,
|
||||
});
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import 'tsconfig-paths/register';
|
||||
|
||||
import { startServer } from '@opensumi/ide-dev-tool/src/server';
|
||||
import { ExpressFileServerModule } from '@opensumi/ide-express-file-server/lib/node';
|
||||
import { OpenerModule } from '@opensumi/ide-remote-opener/lib/node';
|
||||
|
|
|
@ -24,7 +24,8 @@
|
|||
"bundle:standard:analysis": "cross-env analysis=1 yarn run bundle:standard",
|
||||
"bundle:lite": "cross-env NODE_ENV=production webpack --config webpack.lite.config.js",
|
||||
"bundle:lite:stats": "cross-env NODE_ENV=production webpack --profile --config webpack.lite.config.js --json > stats.json",
|
||||
"bundle:lite:analysis": "cross-env analysis=1 yarn run bundle:lite"
|
||||
"bundle:lite:analysis": "cross-env analysis=1 yarn run bundle:lite",
|
||||
"bundle:prod": "cross-env SKIP_TS_CHECKER=1 NODE_ENV=production webpack --config webpack.prod.config.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
var express = require('express');
|
||||
var app = express();
|
||||
var httpProxy = require('http-proxy');
|
||||
var proxy = httpProxy.createProxyServer({ target: 'http://localhost:8000', ws: true });
|
||||
|
||||
var server = require('http').createServer(app);
|
||||
|
||||
// proxy HTTP GET / POST
|
||||
app.get('/*', function (req, res) {
|
||||
console.log("proxying GET request", req.url);
|
||||
proxy.web(req, res, {});
|
||||
});
|
||||
app.post('/*/*', function (req, res) {
|
||||
console.log("proxying POST request", req.url);
|
||||
proxy.web(req, res, {});
|
||||
});
|
||||
|
||||
// Proxy websockets
|
||||
server.on('upgrade', function (req, socket, head) {
|
||||
console.log("proxying upgrade request", req.url);
|
||||
proxy.ws(req, socket, head);
|
||||
});
|
||||
|
||||
server.listen(8001);
|
|
@ -7,7 +7,6 @@ const baseDir = path.join(__dirname, 'entry/web-lite');
|
|||
|
||||
const { createWebpackConfig } = require('@opensumi/ide-dev-tool/src/webpack');
|
||||
module.exports = createWebpackConfig(baseDir, path.join(baseDir, 'app.tsx'), {
|
||||
mode: process.env.NODE_ENV || 'development',
|
||||
resolve: {
|
||||
alias: {
|
||||
fs: 'browserfs/dist/shims/fs.js',
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
const path = require('path');
|
||||
|
||||
const CopyPlugin = require('copy-webpack-plugin');
|
||||
|
||||
const {
|
||||
createWebpackConfig,
|
||||
createNodeWebpackConfig,
|
||||
createWebviewWebpackConfig,
|
||||
} = require('@opensumi/ide-dev-tool/src/webpack');
|
||||
|
||||
const web = createWebpackConfig(__dirname, path.join(__dirname, 'entry/web/prod/app.tsx'), {
|
||||
plugins: [
|
||||
new CopyPlugin({
|
||||
patterns: [
|
||||
{
|
||||
from: path.join(__dirname, '../extension/lib/worker-host.js'),
|
||||
to: path.join(__dirname, './dist/worker-host.js'),
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
const node = createNodeWebpackConfig(
|
||||
path.join(__dirname, 'entry/web/prod/server.ts'),
|
||||
path.join(__dirname, 'dist-node/server'),
|
||||
);
|
||||
|
||||
const webview = createWebviewWebpackConfig(
|
||||
require.resolve('@opensumi/ide-webview/lib/webview-host/web-preload.js'),
|
||||
__dirname,
|
||||
'/dist/webview',
|
||||
);
|
||||
|
||||
if (process.env.ONLY_NODE) {
|
||||
module.exports = [node];
|
||||
} else {
|
||||
module.exports = [web, node, webview];
|
||||
}
|
|
@ -1,8 +1,5 @@
|
|||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
|
||||
const path = require('path');
|
||||
|
||||
const { createWebpackConfig } = require('@opensumi/ide-dev-tool/src/webpack');
|
||||
|
||||
module.exports = createWebpackConfig(__dirname, require('path').join(__dirname, 'entry/web/app.tsx'), {
|
||||
mode: process.env.NODE_ENV || 'development',
|
||||
plugins: [process.env.analysis && new BundleAnalyzerPlugin()].filter(Boolean),
|
||||
});
|
||||
module.exports = createWebpackConfig(__dirname, path.join(__dirname, 'entry/web/app.tsx'), {});
|
||||
|
|
|
@ -5,7 +5,6 @@ import { registerColor, transparent, lighten, darken, lessProminent } from '../u
|
|||
|
||||
import { badgeBackground, badgeForeground } from './badge';
|
||||
import { contrastBorder, activeContrastBorder, focusBorder, foreground } from './base';
|
||||
import { listInactiveSelectionBackground } from './list-tree';
|
||||
|
||||
// TODO COLOR 此处vscode内的editor error warning info颜色都有做修改
|
||||
export const editorErrorBackground = registerColor(
|
||||
|
@ -611,11 +610,12 @@ export const editorGutter = registerColor(
|
|||
'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.',
|
||||
),
|
||||
);
|
||||
|
||||
export const overviewRulerCommentingRangeForeground = registerColor(
|
||||
'editorGutter.commentRangeForeground',
|
||||
{
|
||||
dark: listInactiveSelectionBackground,
|
||||
light: darken(listInactiveSelectionBackground, 0.05),
|
||||
dark: '#37373D',
|
||||
light: darken('#E4E6F1', 0.05),
|
||||
hcDark: Color.white,
|
||||
hcLight: Color.black,
|
||||
},
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
[build]
|
||||
builder = "NIXPACKS"
|
||||
nixpacksConfigPath = "nixpacks.toml"
|
||||
|
||||
[deploy]
|
||||
numReplicas = 1
|
||||
sleepApplication = false
|
||||
restartPolicyType = "ON_FAILURE"
|
||||
restartPolicyMaxRetries = 10
|
|
@ -13,7 +13,6 @@ const { lessLoader } = require('./webpack-util');
|
|||
const tsConfigPath = path.join(__dirname, './tsconfig.json');
|
||||
const dir = path.join(__dirname, '../src/browser');
|
||||
const distDir = path.join(__dirname, '../lib/browser');
|
||||
const port = 8080;
|
||||
const nodeEnv = process.env.NODE_ENV || 'development';
|
||||
|
||||
/**
|
||||
|
@ -110,7 +109,12 @@ module.exports = {
|
|||
},
|
||||
optimization: {
|
||||
nodeEnv,
|
||||
minimizer: [new TerserJSPlugin({}), new OptimizeCSSAssetsPlugin({})],
|
||||
minimizer: [
|
||||
new TerserJSPlugin({
|
||||
minify: TerserJSPlugin.esbuildMinify,
|
||||
}),
|
||||
new OptimizeCSSAssetsPlugin({}),
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
new AssetsPlugin({
|
||||
|
|
|
@ -37,12 +37,12 @@
|
|||
"chalk": "^4.0.0",
|
||||
"ejs": "^3.1.7",
|
||||
"ip": "^1.1.8",
|
||||
"koa": "^2.7.0",
|
||||
"koa": "^2.15.0",
|
||||
"koa-mount": "^4.0.0",
|
||||
"mri": "^1.2.0",
|
||||
"open": "^7.0.3",
|
||||
"react": "^16.12.0",
|
||||
"react-dom": "^16.12.0",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"tslib": "^2.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -51,9 +51,7 @@
|
|||
"@types/node": "^18.19.8",
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@types/read-pkg-up": "^6.0.0",
|
||||
"assets-webpack-plugin": "^7.1.1",
|
||||
"cache-loader": "^4.1.0",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"cross-env": "^7.0.3",
|
||||
"css-loader": "^6.9.1",
|
||||
|
@ -68,7 +66,6 @@
|
|||
"shell-path": "^2.1.0",
|
||||
"style-loader": "^3.3.4",
|
||||
"terser-webpack-plugin": "^5.3.10",
|
||||
"thread-loader": "^4.0.2",
|
||||
"ts-loader": "9.5.1",
|
||||
"ts-node": "10.9.1",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
|
|
|
@ -14,17 +14,17 @@
|
|||
"sumi": "./cli/index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/koa": "^2.13.4",
|
||||
"@types/koa": "^2.14.0",
|
||||
"@types/koa-bodyparser": "^4.3.7",
|
||||
"@types/koa-router": "^7.4.2",
|
||||
"cache-loader": "^4.1.0",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"css-loader": "^6.9.1",
|
||||
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"koa": "^2.13.4",
|
||||
"koa": "^2.15.0",
|
||||
"koa-bodyparser": "^4.3.0",
|
||||
"koa-router": "^10.1.1",
|
||||
"koa-static": "^5.0.0",
|
||||
"less": "^3.9.0",
|
||||
"less-loader": "^12.1.0",
|
||||
"mini-css-extract-plugin": "^2.7.7",
|
||||
|
@ -35,7 +35,6 @@
|
|||
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
||||
"react-dom": "^18.0.0",
|
||||
"style-loader": "^3.3.4",
|
||||
"thread-loader": "^4.0.2",
|
||||
"ts-loader": "^9.5.1",
|
||||
"ts-node": "^10.9.1",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
|
|
|
@ -6,16 +6,16 @@ class LogServiceClass {
|
|||
console.log('LogServiceClass args', args);
|
||||
}
|
||||
debug(...args) {
|
||||
console.log('LogServiceClass debug', args);
|
||||
console.log('LogServiceClass debug', ...args);
|
||||
}
|
||||
error(...args) {
|
||||
console.log('LogServiceClass error', args);
|
||||
console.log('LogServiceClass error', ...args);
|
||||
}
|
||||
log(...args) {
|
||||
console.log('LogServiceClass log', args);
|
||||
console.log('LogServiceClass log', ...args);
|
||||
}
|
||||
warn(...args) {
|
||||
console.log('LogServiceClass warn', args);
|
||||
console.log('LogServiceClass warn', ...args);
|
||||
}
|
||||
}
|
||||
exports.default = LogServiceClass;
|
||||
|
|
|
@ -7,18 +7,18 @@ export default class LogServiceClass {
|
|||
}
|
||||
|
||||
debug(...args) {
|
||||
console.log('LogServiceClass debug', args);
|
||||
console.log('LogServiceClass debug', ...args);
|
||||
}
|
||||
|
||||
error(...args) {
|
||||
console.log('LogServiceClass error', args);
|
||||
console.log('LogServiceClass error', ...args);
|
||||
}
|
||||
|
||||
log(...args) {
|
||||
console.log('LogServiceClass log', args);
|
||||
console.log('LogServiceClass log', ...args);
|
||||
}
|
||||
|
||||
warn(...args) {
|
||||
console.log('LogServiceClass warn', args);
|
||||
console.log('LogServiceClass warn', ...args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
/* eslint-disable no-console */
|
||||
import 'tsconfig-paths/register';
|
||||
import http from 'http';
|
||||
import path from 'path';
|
||||
|
||||
import Koa from 'koa';
|
||||
import KoaRouter from 'koa-router';
|
||||
import Static from 'koa-static';
|
||||
|
||||
import { Injector } from '@opensumi/di';
|
||||
import { Deferred } from '@opensumi/ide-core-common';
|
||||
|
@ -18,7 +18,12 @@ import {
|
|||
} from '@opensumi/ide-remote-opener/lib/common';
|
||||
import { RemoteOpenerServiceImpl } from '@opensumi/ide-remote-opener/lib/node';
|
||||
|
||||
export async function startServer(arg1: NodeModule[] | Partial<IServerAppOpts>) {
|
||||
export async function startServer(
|
||||
arg1: NodeModule[] | Partial<IServerAppOpts>,
|
||||
options?: {
|
||||
mountStaticPath?: string;
|
||||
},
|
||||
) {
|
||||
const app = new Koa();
|
||||
const router = new KoaRouter();
|
||||
const deferred = new Deferred<http.Server>();
|
||||
|
@ -39,6 +44,11 @@ export async function startServer(arg1: NodeModule[] | Partial<IServerAppOpts>)
|
|||
|
||||
app.use(router.routes());
|
||||
|
||||
if (options && options.mountStaticPath) {
|
||||
console.log('mount static path:', options.mountStaticPath);
|
||||
app.use(Static(options.mountStaticPath));
|
||||
}
|
||||
|
||||
const injector = new Injector([
|
||||
{
|
||||
token: RemoteOpenerServiceToken,
|
||||
|
@ -46,7 +56,7 @@ export async function startServer(arg1: NodeModule[] | Partial<IServerAppOpts>)
|
|||
},
|
||||
]);
|
||||
|
||||
const port = process.env.IDE_SERVER_PORT || 8000;
|
||||
const port = process.env.PORT || process.env.IDE_SERVER_PORT || 8000;
|
||||
let opts: IServerAppOpts = {
|
||||
webSocketHandler: [
|
||||
// new TerminalHandler(logger),
|
||||
|
@ -70,11 +80,12 @@ export async function startServer(arg1: NodeModule[] | Partial<IServerAppOpts>)
|
|||
* extHost: path.join(__dirname, './ext-host.js') || process.env.EXTENSION_HOST_ENTRY,
|
||||
*/
|
||||
extHost:
|
||||
path.join(__dirname, '../../../packages/extension/lib/hosted/ext.process.js') || process.env.EXTENSION_HOST_ENTRY,
|
||||
process.env.EXTENSION_HOST_ENTRY || path.join(__dirname, '../../../packages/extension/lib/hosted/ext.process.js'),
|
||||
onDidCreateExtensionHostProcess: (extHostProcess) => {
|
||||
console.log(`Extension host process ${extHostProcess.pid} created`);
|
||||
},
|
||||
};
|
||||
|
||||
if (Array.isArray(arg1)) {
|
||||
opts = {
|
||||
...opts,
|
||||
|
@ -100,7 +111,7 @@ export async function startServer(arg1: NodeModule[] | Partial<IServerAppOpts>)
|
|||
});
|
||||
|
||||
server.listen(port, () => {
|
||||
console.log(`server listen on port ${port}`);
|
||||
console.log(`server listen on http://localhost:${port}`);
|
||||
deferred.resolve(server);
|
||||
});
|
||||
return deferred.promise;
|
||||
|
|
|
@ -5,26 +5,21 @@ const fse = require('fs-extra');
|
|||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
|
||||
const threadLoader = require('thread-loader');
|
||||
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
|
||||
const webpack = require('webpack');
|
||||
const { merge } = require('webpack-merge');
|
||||
|
||||
threadLoader.warmup({}, ['ts-loader']);
|
||||
|
||||
const reactPath = path.resolve(path.join(__dirname, '../../../node_modules/react'));
|
||||
const reactDOMPath = path.resolve(path.join(__dirname, '../../../node_modules/react-dom'));
|
||||
const tsConfigPath = path.join(__dirname, '../../../tsconfig.json');
|
||||
const HOST = process.env.HOST || '0.0.0.0';
|
||||
const PORT = process.env.PORT || 8080;
|
||||
const IDE_FRONT_PORT = process.env.IDE_FRONT_PORT || 8080;
|
||||
|
||||
const defaultWorkspace = path.join(__dirname, '../../workspace');
|
||||
fse.mkdirpSync(defaultWorkspace);
|
||||
|
||||
const withSlash = process.platform === 'win32' ? '/' : '';
|
||||
|
||||
console.log('front port', PORT);
|
||||
|
||||
const styleLoader =
|
||||
process.env.NODE_ENV === 'production' ? MiniCssExtractPlugin.loader : require.resolve('style-loader');
|
||||
|
||||
|
@ -36,6 +31,8 @@ const styleLoader =
|
|||
* @returns {import('webpack').Configuration}
|
||||
*/
|
||||
exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
||||
console.log('front port', IDE_FRONT_PORT);
|
||||
|
||||
const webpackConfig = merge(
|
||||
{
|
||||
entry,
|
||||
|
@ -43,6 +40,9 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
|||
filename: 'bundle.js',
|
||||
path: dir + '/dist',
|
||||
},
|
||||
cache: {
|
||||
type: 'filesystem',
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.ts', '.tsx', '.js', '.json', '.less'],
|
||||
plugins: [
|
||||
|
@ -74,35 +74,18 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
|||
{
|
||||
test: /\.tsx?$/,
|
||||
use: [
|
||||
process.env.NODE_ENV === 'production'
|
||||
? {
|
||||
loader: 'cache-loader',
|
||||
options: {
|
||||
cacheDirectory: path.resolve(__dirname, '../../../.cache'),
|
||||
},
|
||||
}
|
||||
: null,
|
||||
]
|
||||
.filter(Boolean)
|
||||
.concat([
|
||||
{
|
||||
loader: 'thread-loader',
|
||||
options: {
|
||||
workers: require('os').cpus().length - 1,
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
happyPackMode: true,
|
||||
transpileOnly: true,
|
||||
configFile: tsConfigPath,
|
||||
compilerOptions: {
|
||||
target: 'es2015',
|
||||
},
|
||||
},
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
happyPackMode: true,
|
||||
transpileOnly: true,
|
||||
configFile: tsConfigPath,
|
||||
compilerOptions: {
|
||||
target: 'es2015',
|
||||
},
|
||||
},
|
||||
},
|
||||
]),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /\.png$/,
|
||||
|
@ -177,12 +160,12 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
|||
},
|
||||
optimization: {
|
||||
nodeEnv: process.env.NODE_ENV,
|
||||
minimize: false,
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
template: __dirname + '/index.html',
|
||||
}),
|
||||
|
||||
new MiniCssExtractPlugin({
|
||||
filename: '[name].[chunkhash:8].css',
|
||||
chunkFilename: '[id].css',
|
||||
|
@ -205,18 +188,19 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
|||
'process.env.STATIC_SERVER_PATH': JSON.stringify(process.env.STATIC_SERVER_PATH || `http://${HOST}:8000/`),
|
||||
'process.env.HOST': JSON.stringify(process.env.HOST),
|
||||
}),
|
||||
new ForkTsCheckerWebpackPlugin({
|
||||
typescript: {
|
||||
diagnosticOptions: {
|
||||
syntactic: true,
|
||||
!process.env.SKIP_TS_CHECKER &&
|
||||
new ForkTsCheckerWebpackPlugin({
|
||||
typescript: {
|
||||
diagnosticOptions: {
|
||||
syntactic: true,
|
||||
},
|
||||
configFile: tsConfigPath,
|
||||
},
|
||||
configFile: tsConfigPath,
|
||||
},
|
||||
issue: {
|
||||
include: (issue) => issue.file.includes('src/packages/'),
|
||||
exclude: (issue) => issue.file.includes('__test__'),
|
||||
},
|
||||
}),
|
||||
issue: {
|
||||
include: (issue) => issue.file.includes('src/packages/'),
|
||||
exclude: (issue) => issue.file.includes('__test__'),
|
||||
},
|
||||
}),
|
||||
new NodePolyfillPlugin({
|
||||
includeAliases: ['process', 'Buffer'],
|
||||
}),
|
||||
|
@ -228,7 +212,7 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
|||
directory: dir + '/dist',
|
||||
},
|
||||
host: HOST,
|
||||
port: PORT,
|
||||
port: IDE_FRONT_PORT,
|
||||
allowedHosts: 'all',
|
||||
devMiddleware: {
|
||||
stats: 'errors-only',
|
||||
|
@ -271,13 +255,16 @@ exports.createWebpackConfig = function (dir, entry, extraConfig) {
|
|||
/**
|
||||
* @returns {import('webpack').Configuration}
|
||||
*/
|
||||
exports.createWebviewWebpackConfig = (entry, dir) => {
|
||||
exports.createWebviewWebpackConfig = (entry, dir, outputPath = '/dist') => {
|
||||
const port = 8899;
|
||||
return {
|
||||
entry,
|
||||
output: {
|
||||
filename: 'webview.js',
|
||||
path: dir + '/dist',
|
||||
path: dir + outputPath,
|
||||
},
|
||||
cache: {
|
||||
type: 'filesystem',
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.ts', '.tsx', '.js', '.json', '.less'],
|
||||
|
@ -341,3 +328,90 @@ exports.createWebviewWebpackConfig = (entry, dir) => {
|
|||
},
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* @returns {import('webpack').Configuration}
|
||||
*/
|
||||
exports.createNodeWebpackConfig = (entry, distDir) => ({
|
||||
entry,
|
||||
target: 'node',
|
||||
output: {
|
||||
filename: 'server.js',
|
||||
path: distDir,
|
||||
},
|
||||
node: false,
|
||||
mode: 'production',
|
||||
optimization: {
|
||||
minimize: false,
|
||||
},
|
||||
cache: {
|
||||
type: 'filesystem',
|
||||
},
|
||||
watch: false,
|
||||
resolve: {
|
||||
modules: [
|
||||
path.join(__dirname, '../../../node_modules'),
|
||||
path.join(__dirname, '../node_modules'),
|
||||
path.resolve('node_modules'),
|
||||
],
|
||||
extensions: ['.ts', '.tsx', '.js', '.json'],
|
||||
plugins: [
|
||||
new TsconfigPathsPlugin({
|
||||
configFile: tsConfigPath,
|
||||
}),
|
||||
],
|
||||
},
|
||||
module: {
|
||||
exprContextCritical: false,
|
||||
rules: [
|
||||
{
|
||||
test: /\.tsx?$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'ts-loader',
|
||||
options: {
|
||||
happyPackMode: true,
|
||||
transpileOnly: true,
|
||||
configFile: tsConfigPath,
|
||||
compilerOptions: {
|
||||
target: 'es2016',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
externals: [
|
||||
function ({ request }, callback) {
|
||||
if (
|
||||
[
|
||||
'node-pty',
|
||||
'oniguruma',
|
||||
'@parcel/watcher',
|
||||
'nsfw',
|
||||
'spdlog',
|
||||
'vm2',
|
||||
'canvas',
|
||||
'@opensumi/vscode-ripgrep',
|
||||
'vertx',
|
||||
'keytar',
|
||||
'tsconfig-paths',
|
||||
].indexOf(request) !== -1
|
||||
) {
|
||||
return callback(null, `commonjs ${request}`);
|
||||
}
|
||||
callback();
|
||||
},
|
||||
],
|
||||
resolveLoader: {
|
||||
extensions: ['.ts', '.tsx', '.js', '.json'],
|
||||
mainFields: ['loader', 'main'],
|
||||
modules: [
|
||||
path.join(__dirname, '../../../node_modules'),
|
||||
path.join(__dirname, '../node_modules'),
|
||||
path.resolve('node_modules'),
|
||||
],
|
||||
},
|
||||
plugins: [!process.env.CI && new webpack.ProgressPlugin()],
|
||||
});
|
||||
|
|
|
@ -53,11 +53,11 @@
|
|||
"fs-extra": "^10.1.0",
|
||||
"glob-to-regexp": "0.4.1",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"koa": "^2.13.4",
|
||||
"koa": "^2.15.0",
|
||||
"koa-bodyparser": "^4.3.0",
|
||||
"less": "^3.9.0",
|
||||
"less-loader": "^12.1.0",
|
||||
"mini-css-extract-plugin": "^0.6.0",
|
||||
"mini-css-extract-plugin": "^2.7.7",
|
||||
"mobx": "^5.9.4",
|
||||
"mobx-react-lite": "^1.3.1",
|
||||
"npm-run": "^5.0.1",
|
||||
|
|
|
@ -282,20 +282,20 @@ __metadata:
|
|||
version: 0.0.0-use.local
|
||||
resolution: "@opensumi/ide-dev-tool@portal:../dev-tool::locator=%40opensumi%2Fide-electron%40workspace%3A."
|
||||
dependencies:
|
||||
"@types/koa": ^2.13.4
|
||||
"@types/koa": ^2.14.0
|
||||
"@types/koa-bodyparser": ^4.3.7
|
||||
"@types/koa-router": ^7.4.2
|
||||
cache-loader: ^4.1.0
|
||||
copy-webpack-plugin: ^12.0.2
|
||||
css-loader: ^6.9.1
|
||||
fork-ts-checker-webpack-plugin: ^9.0.2
|
||||
html-webpack-plugin: ^5.6.0
|
||||
koa: ^2.13.4
|
||||
koa: ^2.15.0
|
||||
koa-bodyparser: ^4.3.0
|
||||
koa-router: ^10.1.1
|
||||
koa-static: ^5.0.0
|
||||
less: ^3.9.0
|
||||
less-loader: ^12.1.0
|
||||
mini-css-extract-plugin: ^0.6.0
|
||||
mini-css-extract-plugin: ^2.7.7
|
||||
mobx: ^5.9.4
|
||||
mobx-react-lite: ^1.3.1
|
||||
node-notifier: ^8.0.1
|
||||
|
@ -303,7 +303,6 @@ __metadata:
|
|||
optimize-css-assets-webpack-plugin: ^6.0.1
|
||||
react-dom: ^18.0.0
|
||||
style-loader: ^3.3.4
|
||||
thread-loader: ^4.0.2
|
||||
ts-loader: ^9.5.1
|
||||
ts-node: ^10.9.1
|
||||
tsconfig-paths: ^4.2.0
|
||||
|
@ -332,11 +331,11 @@ __metadata:
|
|||
fs-extra: ^10.1.0
|
||||
glob-to-regexp: 0.4.1
|
||||
html-webpack-plugin: ^5.6.0
|
||||
koa: ^2.13.4
|
||||
koa: ^2.15.0
|
||||
koa-bodyparser: ^4.3.0
|
||||
less: ^3.9.0
|
||||
less-loader: ^12.1.0
|
||||
mini-css-extract-plugin: ^0.6.0
|
||||
mini-css-extract-plugin: ^2.7.7
|
||||
mobx: ^5.9.4
|
||||
mobx-react-lite: ^1.3.1
|
||||
node-gyp: ^9.3.0
|
||||
|
@ -617,7 +616,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8":
|
||||
"@types/json-schema@npm:^7.0.8":
|
||||
version: 7.0.11
|
||||
resolution: "@types/json-schema@npm:7.0.11"
|
||||
checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d
|
||||
|
@ -667,7 +666,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/koa@npm:*, @types/koa@npm:^2.13.4":
|
||||
"@types/koa@npm:*":
|
||||
version: 2.13.5
|
||||
resolution: "@types/koa@npm:2.13.5"
|
||||
dependencies:
|
||||
|
@ -683,6 +682,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/koa@npm:^2.14.0":
|
||||
version: 2.14.0
|
||||
resolution: "@types/koa@npm:2.14.0"
|
||||
dependencies:
|
||||
"@types/accepts": "*"
|
||||
"@types/content-disposition": "*"
|
||||
"@types/cookies": "*"
|
||||
"@types/http-assert": "*"
|
||||
"@types/http-errors": "*"
|
||||
"@types/keygrip": "*"
|
||||
"@types/koa-compose": "*"
|
||||
"@types/node": "*"
|
||||
checksum: 57d809e42350c9ddefa2150306355e40757877468bb027e0bd99f5aeb43cfaf8ba8b14761ea65e419d6fb4c2403a1f3ed0762872a9cf040dbd14357caca56548
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/mime@npm:*":
|
||||
version: 3.0.1
|
||||
resolution: "@types/mime@npm:3.0.1"
|
||||
|
@ -1079,15 +1094,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-errors@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "ajv-errors@npm:1.0.1"
|
||||
peerDependencies:
|
||||
ajv: ">=5.0.0"
|
||||
checksum: 2c9fc02cf58f9aae5bace61ebd1b162e1ea372ae9db5999243ba5e32a9a78c0d635d29ae085f652c61c941a43af0b2b1acdb255e29d44dc43a6e021085716d8c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-formats@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "ajv-formats@npm:2.1.1"
|
||||
|
@ -1102,7 +1108,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-keywords@npm:^3.1.0, ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2":
|
||||
"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2":
|
||||
version: 3.5.2
|
||||
resolution: "ajv-keywords@npm:3.5.2"
|
||||
peerDependencies:
|
||||
|
@ -1122,7 +1128,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.12.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
|
||||
"ajv@npm:^6.10.0, ajv@npm:^6.12.0, ajv@npm:^6.12.5":
|
||||
version: 6.12.6
|
||||
resolution: "ajv@npm:6.12.6"
|
||||
dependencies:
|
||||
|
@ -1497,13 +1503,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"buffer-json@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "buffer-json@npm:2.0.0"
|
||||
checksum: 9b8601d25f50341a02c42cb7ffbd6d6801d961f2beda5648c86da815b3019dd8503ebf106cdc2ff2b98f78a463d8b6754f6797419d25ec60a90bb9192fccf40c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"buffer@npm:^5.1.0":
|
||||
version: 5.7.1
|
||||
resolution: "buffer@npm:5.7.1"
|
||||
|
@ -1592,22 +1591,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cache-loader@npm:^4.1.0":
|
||||
version: 4.1.0
|
||||
resolution: "cache-loader@npm:4.1.0"
|
||||
dependencies:
|
||||
buffer-json: ^2.0.0
|
||||
find-cache-dir: ^3.0.0
|
||||
loader-utils: ^1.2.3
|
||||
mkdirp: ^0.5.1
|
||||
neo-async: ^2.6.1
|
||||
schema-utils: ^2.0.0
|
||||
peerDependencies:
|
||||
webpack: ^4.0.0
|
||||
checksum: 0339778bddbd3368dc420e5a58b569153334fb74226d15b76832a1246ce8990bb5fcdfa8811557f0b0605bbd06aea12bb069abd906aeb114ae0e7d0a9fde7f59
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cacheable-lookup@npm:^5.0.3":
|
||||
version: 5.0.4
|
||||
resolution: "cacheable-lookup@npm:5.0.4"
|
||||
|
@ -1953,13 +1936,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"commondir@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "commondir@npm:1.0.1"
|
||||
checksum: 59715f2fc456a73f68826285718503340b9f0dd89bfffc42749906c5cf3d4277ef11ef1cca0350d0e79204f00f1f6d83851ececc9095dc88512a697ac0b9bdcb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"compare-version@npm:^0.1.2":
|
||||
version: 0.1.2
|
||||
resolution: "compare-version@npm:0.1.2"
|
||||
|
@ -1997,13 +1973,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cookies@npm:~0.8.0":
|
||||
version: 0.8.0
|
||||
resolution: "cookies@npm:0.8.0"
|
||||
"cookies@npm:~0.9.0":
|
||||
version: 0.9.1
|
||||
resolution: "cookies@npm:0.9.1"
|
||||
dependencies:
|
||||
depd: ~2.0.0
|
||||
keygrip: ~1.1.0
|
||||
checksum: 806055a44f128705265b1bc6a853058da18bf80dea3654ad99be20985b1fa1b14f86c1eef73644aab8071241f8a78acd57202b54c4c5c70769fc694fbb9c4edc
|
||||
checksum: 213e4d14847b582fbd8a003203d3621a4b9fa792a315c37954e89332d38fac5bcc34ba92ef316ad6d5fe28f0187aaa115927fbbe2080744ad1707a93b4313247
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2260,10 +2236,12 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"decode-uri-component@npm:^0.2.0":
|
||||
version: 0.2.2
|
||||
resolution: "decode-uri-component@npm:0.2.2"
|
||||
checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139
|
||||
"debug@npm:^3.1.0":
|
||||
version: 3.2.7
|
||||
resolution: "debug@npm:3.2.7"
|
||||
dependencies:
|
||||
ms: ^2.1.1
|
||||
checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -2927,17 +2905,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-cache-dir@npm:^3.0.0":
|
||||
version: 3.3.2
|
||||
resolution: "find-cache-dir@npm:3.3.2"
|
||||
dependencies:
|
||||
commondir: ^1.0.1
|
||||
make-dir: ^3.0.2
|
||||
pkg-dir: ^4.1.0
|
||||
checksum: 1e61c2e64f5c0b1c535bd85939ae73b0e5773142713273818cc0b393ee3555fb0fd44e1a5b161b8b6c3e03e98c2fcc9c227d784850a13a90a8ab576869576817
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-up@npm:^4.0.0":
|
||||
version: 4.1.0
|
||||
resolution: "find-up@npm:4.1.0"
|
||||
|
@ -3498,6 +3465,18 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"http-errors@npm:~1.6.2":
|
||||
version: 1.6.3
|
||||
resolution: "http-errors@npm:1.6.3"
|
||||
dependencies:
|
||||
depd: ~1.1.2
|
||||
inherits: 2.0.3
|
||||
setprototypeof: 1.1.0
|
||||
statuses: ">= 1.4.0 < 2"
|
||||
checksum: a9654ee027e3d5de305a56db1d1461f25709ac23267c6dc28cdab8323e3f96caa58a9a6a5e93ac15d7285cee0c2f019378c3ada9026e7fe19c872d695f27de7c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"http-proxy-agent@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "http-proxy-agent@npm:5.0.0"
|
||||
|
@ -3665,6 +3644,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"inherits@npm:2.0.3":
|
||||
version: 2.0.3
|
||||
resolution: "inherits@npm:2.0.3"
|
||||
checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"internal-slot@npm:^1.0.3":
|
||||
version: 1.0.3
|
||||
resolution: "internal-slot@npm:1.0.3"
|
||||
|
@ -3866,13 +3852,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-plain-obj@npm:^1.0.0":
|
||||
version: 1.1.0
|
||||
resolution: "is-plain-obj@npm:1.1.0"
|
||||
checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-plain-object@npm:^2.0.4":
|
||||
version: 2.0.4
|
||||
resolution: "is-plain-object@npm:2.0.4"
|
||||
|
@ -4024,7 +4003,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-parse-better-errors@npm:^1.0.1, json-parse-better-errors@npm:^1.0.2":
|
||||
"json-parse-better-errors@npm:^1.0.1":
|
||||
version: 1.0.2
|
||||
resolution: "json-parse-better-errors@npm:1.0.2"
|
||||
checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d
|
||||
|
@ -4059,17 +4038,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json5@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "json5@npm:1.0.1"
|
||||
dependencies:
|
||||
minimist: ^1.2.0
|
||||
bin:
|
||||
json5: lib/cli.js
|
||||
checksum: e76ea23dbb8fc1348c143da628134a98adf4c5a4e8ea2adaa74a80c455fc2cdf0e2e13e6398ef819bfe92306b610ebb2002668ed9fc1af386d593691ef346fc3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json5@npm:^2.1.2, json5@npm:^2.2.0":
|
||||
version: 2.2.1
|
||||
resolution: "json5@npm:2.2.1"
|
||||
|
@ -4178,15 +4146,36 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"koa@npm:^2.13.4":
|
||||
version: 2.14.0
|
||||
resolution: "koa@npm:2.14.0"
|
||||
"koa-send@npm:^5.0.0":
|
||||
version: 5.0.1
|
||||
resolution: "koa-send@npm:5.0.1"
|
||||
dependencies:
|
||||
debug: ^4.1.1
|
||||
http-errors: ^1.7.3
|
||||
resolve-path: ^1.4.0
|
||||
checksum: a9fbaadbe0f50efd157a733df4a1cc2b3b79b0cdf12e67c718641e6038d1792c0bebe40913e6d4ceb707d970301155be3859b98d1ef08b0fd1766f7326b82853
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"koa-static@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "koa-static@npm:5.0.0"
|
||||
dependencies:
|
||||
debug: ^3.1.0
|
||||
koa-send: ^5.0.0
|
||||
checksum: 8d9b9c4d2b3b13e8818e804245d784099c4b353b55ddd7dbeeb90f27a2e9f5b6f86bd16a4909e337cb89db4d332d9002e6c0f5056caf75749cab62f93c1f0cc5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"koa@npm:^2.15.0":
|
||||
version: 2.15.0
|
||||
resolution: "koa@npm:2.15.0"
|
||||
dependencies:
|
||||
accepts: ^1.3.5
|
||||
cache-content-type: ^1.0.0
|
||||
content-disposition: ~0.5.2
|
||||
content-type: ^1.0.4
|
||||
cookies: ~0.8.0
|
||||
cookies: ~0.9.0
|
||||
debug: ^4.3.2
|
||||
delegates: ^1.0.0
|
||||
depd: ^2.0.0
|
||||
|
@ -4205,7 +4194,7 @@ __metadata:
|
|||
statuses: ^1.5.0
|
||||
type-is: ^1.6.16
|
||||
vary: ^1.1.2
|
||||
checksum: da17421e44559e4c2cc94c6cca79a027f73cbfba4035ed04c5ae676206b16974c09a632c49b57f75ac0c5f34227a42f3cc9b02c37bc98d47f364ed6c6ddf46ce
|
||||
checksum: a97741f89f328f25ae94d82d0ee608377d89e086c73f2d868023e6050dea682ef93e0a5c80097f3aaad28121853aea50a7fb3c0c12ecc45798da2fd1255f580b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4296,24 +4285,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"loader-runner@npm:^4.1.0, loader-runner@npm:^4.2.0":
|
||||
"loader-runner@npm:^4.2.0":
|
||||
version: 4.3.0
|
||||
resolution: "loader-runner@npm:4.3.0"
|
||||
checksum: a90e00dee9a16be118ea43fec3192d0b491fe03a32ed48a4132eb61d498f5536a03a1315531c19d284392a8726a4ecad71d82044c28d7f22ef62e029bf761569
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3":
|
||||
version: 1.4.2
|
||||
resolution: "loader-utils@npm:1.4.2"
|
||||
dependencies:
|
||||
big.js: ^5.2.2
|
||||
emojis-list: ^3.0.0
|
||||
json5: ^1.0.1
|
||||
checksum: eb6fb622efc0ffd1abdf68a2022f9eac62bef8ec599cf8adb75e94d1d338381780be6278534170e99edc03380a6d29bc7eb1563c89ce17c5fed3a0b17f1ad804
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"loader-utils@npm:^2.0.0":
|
||||
version: 2.0.4
|
||||
resolution: "loader-utils@npm:2.0.4"
|
||||
|
@ -4408,15 +4386,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"make-dir@npm:^3.0.2":
|
||||
version: 3.1.0
|
||||
resolution: "make-dir@npm:3.1.0"
|
||||
dependencies:
|
||||
semver: ^6.0.0
|
||||
checksum: 484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"make-error@npm:^1.1.1":
|
||||
version: 1.3.6
|
||||
resolution: "make-error@npm:1.3.6"
|
||||
|
@ -4566,17 +4535,14 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"mini-css-extract-plugin@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "mini-css-extract-plugin@npm:0.6.0"
|
||||
"mini-css-extract-plugin@npm:^2.7.7":
|
||||
version: 2.7.7
|
||||
resolution: "mini-css-extract-plugin@npm:2.7.7"
|
||||
dependencies:
|
||||
loader-utils: ^1.1.0
|
||||
normalize-url: ^2.0.1
|
||||
schema-utils: ^1.0.0
|
||||
webpack-sources: ^1.1.0
|
||||
schema-utils: ^4.0.0
|
||||
peerDependencies:
|
||||
webpack: ^4.4.0
|
||||
checksum: 6703d4de8c788c467dea1baacaa8843ddfd3e6895912635f01d568d2f60017df631badd3a757089ab5c4cdac97c60cc7167a6e941b2c36f6f634d00254ea6d6a
|
||||
webpack: ^5.0.0
|
||||
checksum: 04af0e7d8c1a4ff31c70ac2d0895837dae3d51cce3bfd90e3c1d90d50eef7de21778361a3064531df046d775d80b3bf056324dddea93831c7def2047c5aa8718
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -4735,7 +4701,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ms@npm:^2.0.0":
|
||||
"ms@npm:^2.0.0, ms@npm:^2.1.1":
|
||||
version: 2.1.3
|
||||
resolution: "ms@npm:2.1.3"
|
||||
checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d
|
||||
|
@ -4783,7 +4749,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"neo-async@npm:^2.6.1, neo-async@npm:^2.6.2":
|
||||
"neo-async@npm:^2.6.2":
|
||||
version: 2.6.2
|
||||
resolution: "neo-async@npm:2.6.2"
|
||||
checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9
|
||||
|
@ -4931,17 +4897,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"normalize-url@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "normalize-url@npm:2.0.1"
|
||||
dependencies:
|
||||
prepend-http: ^2.0.0
|
||||
query-string: ^5.0.1
|
||||
sort-keys: ^2.0.0
|
||||
checksum: 30e337ee03fc7f360c7d2b966438657fabd2628925cc58bffc893982fe4d2c59b397ae664fa2c319cd83565af73eee88906e80bc5eec91bc32b601920e770d75
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"normalize-url@npm:^6.0.1":
|
||||
version: 6.1.0
|
||||
resolution: "normalize-url@npm:6.1.0"
|
||||
|
@ -5041,7 +4996,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0":
|
||||
"object-assign@npm:^4.0.1":
|
||||
version: 4.1.1
|
||||
resolution: "object-assign@npm:4.1.1"
|
||||
checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f
|
||||
|
@ -5225,7 +5180,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-is-absolute@npm:^1.0.0":
|
||||
"path-is-absolute@npm:1.0.1, path-is-absolute@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "path-is-absolute@npm:1.0.1"
|
||||
checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8
|
||||
|
@ -5357,7 +5312,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0":
|
||||
"pkg-dir@npm:^4.2.0":
|
||||
version: 4.2.0
|
||||
resolution: "pkg-dir@npm:4.2.0"
|
||||
dependencies:
|
||||
|
@ -5763,13 +5718,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prepend-http@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "prepend-http@npm:2.0.0"
|
||||
checksum: 7694a9525405447662c1ffd352fcb41b6410c705b739b6f4e3a3e21cf5fdede8377890088e8934436b8b17ba55365a615f153960f30877bf0d0392f9e93503ea
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pretty-error@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "pretty-error@npm:4.0.0"
|
||||
|
@ -5844,17 +5792,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"query-string@npm:^5.0.1":
|
||||
version: 5.1.1
|
||||
resolution: "query-string@npm:5.1.1"
|
||||
dependencies:
|
||||
decode-uri-component: ^0.2.0
|
||||
object-assign: ^4.1.0
|
||||
strict-uri-encode: ^1.0.0
|
||||
checksum: 4ac760d9778d413ef5f94f030ed14b1a07a1708dd13fd3bc54f8b9ef7b425942c7577f30de0bf5a7d227ee65a9a0350dfa3a43d1d266880882fb7ce4c434a4dd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"queue-microtask@npm:^1.2.2":
|
||||
version: 1.2.3
|
||||
resolution: "queue-microtask@npm:1.2.3"
|
||||
|
@ -6030,6 +5967,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve-path@npm:^1.4.0":
|
||||
version: 1.4.0
|
||||
resolution: "resolve-path@npm:1.4.0"
|
||||
dependencies:
|
||||
http-errors: ~1.6.2
|
||||
path-is-absolute: 1.0.1
|
||||
checksum: 1a39f569ee54dd5f8ee8576ef8671c9724bea65d9f9982fbb5352af9fb4e500e1e459c1bfb1ae3ebfd8d43a709c3a01dfa4f46cf5b831e45e2caed4f1a208300
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve@npm:^1.10.0":
|
||||
version: 1.22.1
|
||||
resolution: "resolve@npm:1.22.1"
|
||||
|
@ -6200,28 +6147,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"schema-utils@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "schema-utils@npm:1.0.0"
|
||||
dependencies:
|
||||
ajv: ^6.1.0
|
||||
ajv-errors: ^1.0.0
|
||||
ajv-keywords: ^3.1.0
|
||||
checksum: e8273b4f6eff9ddf4a4f4c11daf7b96b900237bf8859c86fa1e9b4fab416b72d7ea92468f8db89c18a3499a1070206e1c8a750c83b42d5325fc659cbb55eee88
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"schema-utils@npm:^2.0.0":
|
||||
version: 2.7.1
|
||||
resolution: "schema-utils@npm:2.7.1"
|
||||
dependencies:
|
||||
"@types/json-schema": ^7.0.5
|
||||
ajv: ^6.12.4
|
||||
ajv-keywords: ^3.5.2
|
||||
checksum: 32c62fc9e28edd101e1bd83453a4216eb9bd875cc4d3775e4452b541908fa8f61a7bbac8ffde57484f01d7096279d3ba0337078e85a918ecbeb72872fb09fb2b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"schema-utils@npm:^3.0.0":
|
||||
version: 3.1.1
|
||||
resolution: "schema-utils@npm:3.1.1"
|
||||
|
@ -6244,7 +6169,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"schema-utils@npm:^4.0.1, schema-utils@npm:^4.2.0":
|
||||
"schema-utils@npm:^4.0.0, schema-utils@npm:^4.2.0":
|
||||
version: 4.2.0
|
||||
resolution: "schema-utils@npm:4.2.0"
|
||||
dependencies:
|
||||
|
@ -6272,7 +6197,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"semver@npm:^6.0.0, semver@npm:^6.2.0":
|
||||
"semver@npm:^6.2.0":
|
||||
version: 6.3.0
|
||||
resolution: "semver@npm:6.3.0"
|
||||
bin:
|
||||
|
@ -6346,6 +6271,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"setprototypeof@npm:1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "setprototypeof@npm:1.1.0"
|
||||
checksum: 27cb44304d6c9e1a23bc6c706af4acaae1a7aa1054d4ec13c05f01a99fd4887109a83a8042b67ad90dbfcd100d43efc171ee036eb080667172079213242ca36e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"setprototypeof@npm:1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "setprototypeof@npm:1.2.0"
|
||||
|
@ -6481,15 +6413,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sort-keys@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "sort-keys@npm:2.0.0"
|
||||
dependencies:
|
||||
is-plain-obj: ^1.0.0
|
||||
checksum: f0fd827fa9f8f866e98588d2a38c35209afbf1e9a05bb0e4ceeeb8bbf31d923c8902b0a7e0f561590ddb65e58eba6a74f74b991c85360bcc52e83a3f0d1cffd7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"source-list-map@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "source-list-map@npm:2.0.1"
|
||||
|
@ -6611,20 +6534,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0":
|
||||
"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "statuses@npm:1.5.0"
|
||||
checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"strict-uri-encode@npm:^1.0.0":
|
||||
version: 1.1.0
|
||||
resolution: "strict-uri-encode@npm:1.1.0"
|
||||
checksum: 9466d371f7b36768d43f7803f26137657559e4c8b0161fb9e320efb8edba3ae22f8e99d4b0d91da023b05a13f62ec5412c3f4f764b5788fac11d1fea93720bb3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
|
||||
version: 4.2.3
|
||||
resolution: "string-width@npm:4.2.3"
|
||||
|
@ -6842,20 +6758,6 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"thread-loader@npm:^4.0.2":
|
||||
version: 4.0.2
|
||||
resolution: "thread-loader@npm:4.0.2"
|
||||
dependencies:
|
||||
json-parse-better-errors: ^1.0.2
|
||||
loader-runner: ^4.1.0
|
||||
neo-async: ^2.6.2
|
||||
schema-utils: ^4.0.1
|
||||
peerDependencies:
|
||||
webpack: ^5.0.0
|
||||
checksum: 1b1bd4cf4320b63e2a8c52d6ff64c4cf7fbc5e6099f41aae5fa35c4714134becff5b91cd6b00d707f60d18003aba0ae112a719dfbd92fbcdeb875beba76b1146
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tmp-promise@npm:^3.0.2":
|
||||
version: 3.0.3
|
||||
resolution: "tmp-promise@npm:3.0.3"
|
||||
|
|
Loading…
Reference in New Issue