提交 a26d1ccd 编写于 作者: fxy060608's avatar fxy060608

wip(uts): compiler

上级 e7dd56ce
......@@ -13438,12 +13438,13 @@ const getDeviceInfo = defineSyncApi('getDeviceInfo', () => {
});
const getAppBaseInfo = defineSyncApi('getAppBaseInfo', () => {
weexGetSystemInfoSync();
const { hostPackageName, hostName, hostVersion, hostLanguage, osLanguage, hostTheme, appId, appName, appVersion, appVersionCode, } = systemInfo;
const { hostPackageName, hostName, hostVersion, hostLanguage, osLanguage, hostTheme, appId, appName, appVersion, appVersionCode, appWgtVersion, } = systemInfo;
return {
appId,
appName,
appVersion,
appVersionCode,
appWgtVersion,
appLanguage: getLocale ? getLocale() : osLanguage,
enableDebug: false,
hostPackageName,
......
......@@ -20,7 +20,7 @@ function resolveWithSymlinks(id: string, basedir: string): string {
// necessary to work with pnpm
preserveSymlinks: true,
pathFilter(pkg, filepath, relativePath) {
if (pkg.dcloudext && (pkg.dcloudext as any).type === 'native-uts') {
if (pkg.uni_modules && (pkg.uni_modules as any).type === 'uts') {
if (
process.env.UNI_APP_PLATFORM === 'app-android' ||
process.env.UNI_APP_PLATFORM === 'app-ios'
......
......@@ -6918,7 +6918,7 @@ function initPublicPage(route) {
return initPageInternalInstance("navigateTo", __uniRoutes[0].path, {}, meta);
}
let fullPath = route.fullPath;
if (route.meta.isEntry) {
if (route.meta.isEntry && fullPath.indexOf(route.meta.route) === -1) {
fullPath = "/" + route.meta.route + fullPath.replace("/", "");
}
return initPageInternalInstance("navigateTo", fullPath, {}, meta);
......
......@@ -14067,7 +14067,7 @@ function initPublicPage(route) {
return initPageInternalInstance("navigateTo", __uniRoutes[0].path, {}, meta);
}
let fullPath = route.fullPath;
if (route.meta.isEntry) {
if (route.meta.isEntry && fullPath.indexOf(route.meta.route) === -1) {
fullPath = "/" + route.meta.route + fullPath.replace("/", "");
}
return initPageInternalInstance("navigateTo", fullPath, {}, meta);
......
......@@ -1630,12 +1630,6 @@ const showShareMenu = {
const hideHomeButton = {
name: 'hideBackHome',
};
const saveImageToPhotosAlbum = {
name: 'saveImage',
args: {
filePath: 'url',
},
};
const saveVideoToPhotosAlbum = {
args: {
filePath: 'src',
......@@ -1703,7 +1697,6 @@ var protocols = /*#__PURE__*/Object.freeze({
getScreenBrightness: getScreenBrightness,
showShareMenu: showShareMenu,
hideHomeButton: hideHomeButton,
saveImageToPhotosAlbum: saveImageToPhotosAlbum,
saveVideoToPhotosAlbum: saveVideoToPhotosAlbum,
chooseAddress: chooseAddress,
redirectTo: redirectTo,
......
......@@ -28,10 +28,13 @@
"@dcloudio/uni-cli-shared": "3.0.0-alpha-3050420220804003",
"@dcloudio/uni-shared": "3.0.0-alpha-3050420220804003",
"@dcloudio/uts": "3.0.0-alpha-3050420220804003",
"adm-zip": "^0.5.9",
"execa": "^5.1.1",
"fast-glob": "^3.2.11",
"fs-extra": "^10.0.0"
},
"devDependencies": {
"@types/adm-zip": "^0.5.0",
"@types/fs-extra": "^9.0.13"
}
}
import os from 'os'
import fs from 'fs-extra'
import path from 'path'
import execa from 'execa'
import AdmZip from 'adm-zip'
import { sync } from 'fast-glob'
import { once } from '@dcloudio/uni-shared'
import type { parse, bundle, UtsTarget } from '@dcloudio/uts'
import { normalizePath } from '@dcloudio/uni-cli-shared'
......@@ -69,13 +70,19 @@ export async function compile(filename: string) {
// 开发模式下,需要生成 dex
if (fs.existsSync(kotlinFile)) {
time = Date.now()
await compileKotlin(kotlinFile)
console.log('kotlin compile time: ' + (Date.now() - time) + 'ms')
const { getDefaultJar, compile } = getCompilerServer()
const jarFile = resolveJarPath(kotlinFile)
if (fs.existsSync(jarFile)) {
const options = {
kotlinc: resolveKotlincArgs(
kotlinFile,
getDefaultJar().concat(resolveLibs(filename))
),
d8: resolveD8Args(jarFile),
}
const res = await compile(options, process.env.UNI_INPUT_DIR)
console.log('dex compile time: ' + (Date.now() - time) + 'ms')
time = Date.now()
await d8(jarFile)
console.log('d8 compile time: ' + (Date.now() - time) + 'ms')
if (res) {
try {
fs.unlinkSync(jarFile)
// 短期内先不删除,方便排查问题
......@@ -90,6 +97,62 @@ export async function compile(filename: string) {
}
}
function resolveKotlincArgs(filename: string, jars: string[]) {
return [
filename,
'-cp',
resolveClassPath(jars),
'-d',
resolveJarPath(filename),
'-kotlin-home',
'/Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/uniAppRun-Extension/kotlinc',
]
}
function resolveD8Args(filename: string) {
return [
filename,
'--no-desugaring',
'--min-api',
'19',
'--output',
resolveDexPath(filename),
]
}
function resolveLibs(filename: string) {
const libsPath = path.resolve(path.dirname(filename), 'libs')
const libs: string[] = []
if (fs.existsSync(libsPath)) {
libs.push(...sync('*.jar', { cwd: libsPath, absolute: true }))
const zips = sync('*.aar', { cwd: libsPath })
zips.forEach((name) => {
const outputPath = resolveAndroidArchiveOutputPath(name)
if (!fs.existsSync(outputPath)) {
// 解压
const zip = new AdmZip(path.resolve(libsPath, name))
zip.extractAllTo(outputPath, true)
}
})
if (zips.length) {
libs.push(
...sync('*/*.jar', {
cwd: resolveAndroidArchiveOutputPath(),
absolute: true,
})
)
}
}
return libs
}
function resolveAndroidArchiveOutputPath(aar?: string) {
return path.resolve(
process.env.UNI_OUTPUT_DIR,
'../.uts/aar',
aar ? aar.replace('.aar', '') : ''
)
}
function resolveDexFile(jarFile: string) {
return normalizePath(path.resolve(path.dirname(jarFile), 'classes.dex'))
}
......@@ -104,56 +167,6 @@ function resolveKotlinFile(
.replace(path.extname(filename), '.kt')
}
function resolveDirs(): { kotlinc: string; d8: string; lib: string } {
// eslint-disable-next-line no-restricted-globals
return require(path.resolve(
process.env.UNI_HBUILDERX_PLUGINS,
'uts-kotlin-compiler'
))
}
const resolveKotlinc = once(() => {
const { kotlinc } = resolveDirs()
return path.resolve(
kotlinc,
'bin',
'kotlinc' + (os.platform() === 'win32' ? '.bat' : '')
)
})
async function compileKotlin(filename: string) {
const kotlinc = resolveKotlinc()
await execa(
kotlinc,
[filename, '-cp', resolveClassPath(), '-d', resolveJarPath(filename)],
{
stdio: 'inherit',
}
)
}
async function d8(filename: string) {
const java = resolveJavaPath()
const d8 = resolveD8Path()
await execa(
java,
[
'-cp',
d8,
'com.android.tools.r8.D8',
filename,
'--no-desugaring',
'--min-api',
'19',
'--output',
resolveDexPath(filename),
],
{
stdio: 'inherit',
}
)
}
function resolveDexPath(filename: string) {
return path.dirname(filename)
}
......@@ -162,29 +175,22 @@ function resolveJarPath(filename: string) {
return filename.replace(path.extname(filename), '.jar')
}
const resolveBuiltInClassPath = once(() => {
const libDir = resolveDirs().lib
return fs
.readdirSync(libDir)
.filter((file) => file.endsWith('.jar'))
.map((file) => path.resolve(libDir, file))
})
function resolveClassPath() {
return resolveBuiltInClassPath().join(os.platform() === 'win32' ? ';' : ':')
function resolveClassPath(jars: string[]) {
return jars.join(os.platform() === 'win32' ? ';' : ':')
}
const resolveJavaPath = once(() => {
return path.resolve(
const getCompilerServer = once(() => {
// eslint-disable-next-line no-restricted-globals
return require(path.resolve(
process.env.UNI_HBUILDERX_PLUGINS,
'amazon-corretto',
'bin/java'
)
})
const resolveD8Path = once(() => {
const { d8 } = resolveDirs()
return path.resolve(d8, 'd8.jar')
'uniAppRun-Extension/out/main.js'
)) as {
getDefaultJar(): string[]
compile(
options: { kotlinc: string[]; d8: string[] },
projectPath: string
): Promise<boolean>
}
})
export function parsePackage(filepath: string) {
......
......@@ -800,16 +800,22 @@ importers:
'@dcloudio/uni-cli-shared': 3.0.0-alpha-3050420220804003
'@dcloudio/uni-shared': 3.0.0-alpha-3050420220804003
'@dcloudio/uts': 3.0.0-alpha-3050420220804003
'@types/adm-zip': ^0.5.0
'@types/fs-extra': ^9.0.13
adm-zip: ^0.5.9
execa: ^5.1.1
fast-glob: ^3.2.11
fs-extra: ^10.0.0
dependencies:
'@dcloudio/uni-cli-shared': link:../uni-cli-shared
'@dcloudio/uni-shared': link:../uni-shared
'@dcloudio/uts': link:../uts
adm-zip: 0.5.9
execa: 5.1.1
fast-glob: 3.2.11
fs-extra: 10.1.0
devDependencies:
'@types/adm-zip': 0.5.0
'@types/fs-extra': 9.0.13
packages/uni-vue:
......@@ -2105,6 +2111,13 @@ packages:
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
dev: true
/@colors/colors/1.5.0:
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
engines: {node: '>=0.1.90'}
requiresBuild: true
dev: true
optional: true
/@cypress/request/2.88.10:
resolution: {integrity: sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==}
engines: {node: '>= 6'}
......@@ -2390,7 +2403,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
callsites: 3.1.0
graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
graceful-fs: 4.2.10
source-map: 0.6.1
dev: true
......@@ -2409,7 +2422,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/test-result': 27.5.1
graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
graceful-fs: 4.2.10
jest-haste-map: 27.5.1
jest-runtime: 27.5.1
transitivePeerDependencies:
......@@ -2710,6 +2723,12 @@ packages:
engines: {node: '>= 6'}
dev: true
/@types/adm-zip/0.5.0:
resolution: {integrity: sha512-FCJBJq9ODsQZUNURo5ILAQueuA8WJhRvuihS3ke2iI25mJlfV2LK8jG2Qj2z2AWg8U0FtWWqBHVRetceLskSaw==}
dependencies:
'@types/node': 18.0.0
dev: true
/@types/argparse/1.0.38:
resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
dev: true
......@@ -2943,6 +2962,14 @@ packages:
'@types/yargs-parser': 21.0.0
dev: true
/@types/yauzl/2.9.2:
resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==}
requiresBuild: true
dependencies:
'@types/node': 14.18.21
dev: true
optional: true
/@typescript-eslint/parser/5.28.0_e4zyhrvfnqudwdx5bevnvkluy4:
resolution: {integrity: sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
......@@ -3209,6 +3236,11 @@ packages:
engines: {node: '>= 10.0.0'}
dev: false
/adm-zip/0.5.9:
resolution: {integrity: sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==}
engines: {node: '>=6.0'}
dev: false
/agent-base/6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
......@@ -3379,7 +3411,7 @@ packages:
babel-plugin-istanbul: 6.1.1
babel-preset-jest: 27.5.1_@babel+core@7.18.5
chalk: 4.1.2
graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
graceful-fs: 4.2.10
slash: 3.0.0
transitivePeerDependencies:
- supports-color
......@@ -3750,7 +3782,7 @@ packages:
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
fsevents: registry.npmjs.org/fsevents/2.3.2
fsevents: 2.3.2
/ci-info/1.6.0:
resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==}
......@@ -3789,7 +3821,7 @@ packages:
dependencies:
string-width: 4.2.3
optionalDependencies:
'@colors/colors': registry.npmjs.org/@colors/colors/1.5.0
'@colors/colors': 1.5.0
dev: true
/cli-truncate/2.1.0:
......@@ -4379,32 +4411,192 @@ packages:
resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
dev: false
/esbuild-android-64/0.14.45:
resolution: {integrity: sha512-krVmwL2uXQN1A+Ci4u2MR+Y0IAvQK0u3no5TsgguHVhTy138szjuohScCGjkpvLCpGLk7P4kFP1LKuntvJ0d4A==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
optional: true
/esbuild-android-arm64/0.14.45:
resolution: {integrity: sha512-62POGdzAjM+XOXEM5MmFW6k9Pjdjg1hTrXKKBbPE700LFF36B+1Jv9QkskT5UadbTk4cdH9BQ7bGiRPYY0p/Dw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
optional: true
/esbuild-darwin-64/0.14.45:
resolution: {integrity: sha512-dbkVUAnGx5IeZesWnIhnvxy7dSvgUQvfy0TVLzd9XVP3oI/VsKs8UNsfPrxI5HiN4SINv7oPAbxWceMpB7IqNA==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
/esbuild-darwin-arm64/0.14.45:
resolution: {integrity: sha512-O6Bz7nnOae5rvbh2Ueo8ibSr7+/eLjsbPdgeMsAZri+LkOa7nsVPnhmocpO3Hy/LWfagTtHy1O9HRPIaArPmTg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
/esbuild-freebsd-64/0.14.45:
resolution: {integrity: sha512-y1X2nr3XSWnDC7MRcy21EVAT0TiCtdefOntJ+SQcZnPBTURzX77f99S8lDF2KswukChkiacpd2Wd4VZieo7w7Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
optional: true
/esbuild-freebsd-arm64/0.14.45:
resolution: {integrity: sha512-r3ZNejkx1BKXQ6sYOP6C5rTwgiUajyAh03wygLWZtl+SLyygvAnu+OouqtveesufjBDgujp4wZXP/n8PVqXkqg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
optional: true
/esbuild-linux-32/0.14.45:
resolution: {integrity: sha512-Qk9cCO3PJig/Y+SdslN/Th4pbAjgaH9oUjVH28eMsLTPf6QDUuK6EED91jepJdR3vxhcnVjyl6JqtOWmP+uxCg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-64/0.14.45:
resolution: {integrity: sha512-IybO2ugqvc/Zzn1Kih3x0FVjYAy3GTCwhtcp91dbdqk3wPqxYCzObYspa8ca0s+OovI0Cnb+rhXrUtq8gBqlqw==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-arm/0.14.45:
resolution: {integrity: sha512-qKWJ4A4TAcxXV2TBLPw3Av5X2SYNfyNnBHNJTQJ5VuevK6Aq5i6XEMvUgdlcVuZ9MYPfS5aJZWglzDzJMf1Lpw==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-arm64/0.14.45:
resolution: {integrity: sha512-UNEyuHTwztrkEU/+mWIxGzKrYBo2cEtjYAZQVZB1kliANKgRITktg2miaO/b/VtNe84ob1aXSvW8XOPEn5RTGQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-mips64le/0.14.45:
resolution: {integrity: sha512-s/jcfw3Vpku5dIVSFVY7idJsGdIpIJ88IrkyprVgCG2yBeXatb67B7yIt0E1tL+OHrJJdNBw6GikCiMPAAu1VA==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-ppc64le/0.14.45:
resolution: {integrity: sha512-lJItl6ESZnhSx951U9R7MTBopgwIELHlQzC6SBR023V5JC1rPRFDZ/UEBsV+7BFcCAfqlyb+odGEAmcBSf4XCA==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-riscv64/0.14.45:
resolution: {integrity: sha512-8anMu+QLl9MununVCGJN2I/JvUWPm1EVsBBLq/J+Nz4hr8t6QOCuEp0HRaeMohyl2XiMFBchVu0mwa05rF7GFQ==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
optional: true
/esbuild-linux-s390x/0.14.45:
resolution: {integrity: sha512-1TPeNvNCoahMw745KNTA6POKaFfSqQrBb3fdOL82GXZqyKU/6rHNwGP0NgHe88bAUMp3QZfjGfCGKxfBHL77RQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
optional: true
/esbuild-netbsd-64/0.14.45:
resolution: {integrity: sha512-55f2eZ8EQhhOZosqX0mApgRoI9PrVyXlHd9Uivk+B0B4WTKUgzkoHaVk4EkIUtNRQTpDWPciTlpb/C2tUYVejA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
optional: true
/esbuild-openbsd-64/0.14.45:
resolution: {integrity: sha512-Z5sNcT3oN9eryMW3mGn5HAgg7XCxiUS4isqH1tZXpsdOdOESbgbTEP0mBEJU0WU7Vt2gIN5XMbAp7Oigm0k71g==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
optional: true
/esbuild-sunos-64/0.14.45:
resolution: {integrity: sha512-WmWu4wAm8mIxxK9aWFCj5VHunY3BHQDT3dAPexMLLszPyMF7RDtUYf+Dash9tjyitvnoxPAvR7DpWpirDLQIlQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
optional: true
/esbuild-windows-32/0.14.45:
resolution: {integrity: sha512-DPPehKwPJFBoSG+jILc/vcJNN8pTwz1m6FWojxqtqPhgw8OabTgN4vL7gNMqL/FSeDxF+zyvZeeMrZFYF1d81Q==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
/esbuild-windows-64/0.14.45:
resolution: {integrity: sha512-t6bxFZcp9bLmSs+1pCNL/BW2bq3QEQHxU4HoiMEyWfF8QBU8iNXFI1iLGdyCzB1Ue2739h55tpOvojFrfyNPWA==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
optional: true
/esbuild-windows-arm64/0.14.45:
resolution: {integrity: sha512-DnhrvjECBJ2L0owoznPb4RqQKZ498SM8J+YHqmqzi0Gf/enkUwwTjB8vPCK6dDuFnNU/NE8f94FhKdkBHYruDQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
optional: true
/esbuild/0.14.45:
resolution: {integrity: sha512-JOxGUD8jcs8xE8DjyGWC8by/vLMCXTJ/wuauWipL5kJRZx1dhpqIntb31QHjA45GZJWaXv7SjC/Zwu1bCkXWtQ==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
esbuild-android-64: registry.npmjs.org/esbuild-android-64/0.14.45
esbuild-android-arm64: registry.npmjs.org/esbuild-android-arm64/0.14.45
esbuild-darwin-64: registry.npmjs.org/esbuild-darwin-64/0.14.45
esbuild-darwin-arm64: registry.npmjs.org/esbuild-darwin-arm64/0.14.45
esbuild-freebsd-64: registry.npmjs.org/esbuild-freebsd-64/0.14.45
esbuild-freebsd-arm64: registry.npmjs.org/esbuild-freebsd-arm64/0.14.45
esbuild-linux-32: registry.npmjs.org/esbuild-linux-32/0.14.45
esbuild-linux-64: registry.npmjs.org/esbuild-linux-64/0.14.45
esbuild-linux-arm: registry.npmjs.org/esbuild-linux-arm/0.14.45
esbuild-linux-arm64: registry.npmjs.org/esbuild-linux-arm64/0.14.45
esbuild-linux-mips64le: registry.npmjs.org/esbuild-linux-mips64le/0.14.45
esbuild-linux-ppc64le: registry.npmjs.org/esbuild-linux-ppc64le/0.14.45
esbuild-linux-riscv64: registry.npmjs.org/esbuild-linux-riscv64/0.14.45
esbuild-linux-s390x: registry.npmjs.org/esbuild-linux-s390x/0.14.45
esbuild-netbsd-64: registry.npmjs.org/esbuild-netbsd-64/0.14.45
esbuild-openbsd-64: registry.npmjs.org/esbuild-openbsd-64/0.14.45
esbuild-sunos-64: registry.npmjs.org/esbuild-sunos-64/0.14.45
esbuild-windows-32: registry.npmjs.org/esbuild-windows-32/0.14.45
esbuild-windows-64: registry.npmjs.org/esbuild-windows-64/0.14.45
esbuild-windows-arm64: registry.npmjs.org/esbuild-windows-arm64/0.14.45
esbuild-android-64: 0.14.45
esbuild-android-arm64: 0.14.45
esbuild-darwin-64: 0.14.45
esbuild-darwin-arm64: 0.14.45
esbuild-freebsd-64: 0.14.45
esbuild-freebsd-arm64: 0.14.45
esbuild-linux-32: 0.14.45
esbuild-linux-64: 0.14.45
esbuild-linux-arm: 0.14.45
esbuild-linux-arm64: 0.14.45
esbuild-linux-mips64le: 0.14.45
esbuild-linux-ppc64le: 0.14.45
esbuild-linux-riscv64: 0.14.45
esbuild-linux-s390x: 0.14.45
esbuild-netbsd-64: 0.14.45
esbuild-openbsd-64: 0.14.45
esbuild-sunos-64: 0.14.45
esbuild-windows-32: 0.14.45
esbuild-windows-64: 0.14.45
esbuild-windows-arm64: 0.14.45
/escalade/3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
......@@ -4437,7 +4629,7 @@ packages:
esutils: 2.0.3
optionator: 0.8.3
optionalDependencies:
source-map: registry.npmjs.org/source-map/0.6.1
source-map: 0.6.1
dev: true
/eslint-scope/5.1.1:
......@@ -4709,7 +4901,7 @@ packages:
get-stream: 5.2.0
yauzl: 2.10.0
optionalDependencies:
'@types/yauzl': registry.npmjs.org/@types/yauzl/2.9.2
'@types/yauzl': 2.9.2
transitivePeerDependencies:
- supports-color
dev: true
......@@ -4900,6 +5092,13 @@ packages:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
/fsevents/2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
optional: true
/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
......@@ -5616,7 +5815,7 @@ packages:
micromatch: 4.0.5
walker: 1.0.8
optionalDependencies:
fsevents: registry.npmjs.org/fsevents/2.3.2
fsevents: 2.3.2
dev: true
/jest-jasmine2/27.5.1:
......@@ -5796,7 +5995,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@types/node': 17.0.45
graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
graceful-fs: 4.2.10
dev: true
/jest-snapshot/27.5.1:
......@@ -6023,7 +6222,7 @@ packages:
/jsonfile/4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
optionalDependencies:
graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
graceful-fs: 4.2.10
dev: true
/jsonfile/6.1.0:
......@@ -6031,7 +6230,7 @@ packages:
dependencies:
universalify: 2.0.0
optionalDependencies:
graceful-fs: registry.npmjs.org/graceful-fs/4.2.10
graceful-fs: 4.2.10
/jsprim/2.0.2:
resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==}
......@@ -6334,7 +6533,7 @@ packages:
resolution: {integrity: sha512-xTYd4JVHpSCW+aqDof6w/MebaMVNTVYBZhbB/vi513xXdiPT92JMVCo0Jq8W2UZnzYRFeVbQiQ+I25l13JuKvA==}
hasBin: true
optionalDependencies:
minimist: registry.npmjs.org/minimist/1.2.6
minimist: 1.2.6
dev: true
/make-plural/7.1.0:
......@@ -7342,7 +7541,7 @@ packages:
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
fsevents: registry.npmjs.org/fsevents/2.3.2
fsevents: 2.3.2
/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
......@@ -8061,7 +8260,7 @@ packages:
resolve: 1.22.0
rollup: 2.75.6
optionalDependencies:
fsevents: registry.npmjs.org/fsevents/2.3.2
fsevents: 2.3.2
/vlq/0.2.3:
resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==}
......@@ -8334,263 +8533,5 @@ packages:
lodash.isequal: 4.5.0
validator: 13.7.0
optionalDependencies:
commander: registry.npmjs.org/commander/2.20.3
dev: true
registry.npmjs.org/@colors/colors/1.5.0:
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz}
name: '@colors/colors'
version: 1.5.0
engines: {node: '>=0.1.90'}
requiresBuild: true
dev: true
optional: true
registry.npmjs.org/@types/yauzl/2.9.2:
resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz}
name: '@types/yauzl'
version: 2.9.2
requiresBuild: true
dependencies:
'@types/node': 14.18.21
dev: true
optional: true
registry.npmjs.org/commander/2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/commander/-/commander-2.20.3.tgz}
name: commander
version: 2.20.3
requiresBuild: true
dev: true
optional: true
registry.npmjs.org/esbuild-android-64/0.14.45:
resolution: {integrity: sha512-krVmwL2uXQN1A+Ci4u2MR+Y0IAvQK0u3no5TsgguHVhTy138szjuohScCGjkpvLCpGLk7P4kFP1LKuntvJ0d4A==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.45.tgz}
name: esbuild-android-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-android-arm64/0.14.45:
resolution: {integrity: sha512-62POGdzAjM+XOXEM5MmFW6k9Pjdjg1hTrXKKBbPE700LFF36B+1Jv9QkskT5UadbTk4cdH9BQ7bGiRPYY0p/Dw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.45.tgz}
name: esbuild-android-arm64
version: 0.14.45
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-darwin-64/0.14.45:
resolution: {integrity: sha512-dbkVUAnGx5IeZesWnIhnvxy7dSvgUQvfy0TVLzd9XVP3oI/VsKs8UNsfPrxI5HiN4SINv7oPAbxWceMpB7IqNA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.45.tgz}
name: esbuild-darwin-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-darwin-arm64/0.14.45:
resolution: {integrity: sha512-O6Bz7nnOae5rvbh2Ueo8ibSr7+/eLjsbPdgeMsAZri+LkOa7nsVPnhmocpO3Hy/LWfagTtHy1O9HRPIaArPmTg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.45.tgz}
name: esbuild-darwin-arm64
version: 0.14.45
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-freebsd-64/0.14.45:
resolution: {integrity: sha512-y1X2nr3XSWnDC7MRcy21EVAT0TiCtdefOntJ+SQcZnPBTURzX77f99S8lDF2KswukChkiacpd2Wd4VZieo7w7Q==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.45.tgz}
name: esbuild-freebsd-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-freebsd-arm64/0.14.45:
resolution: {integrity: sha512-r3ZNejkx1BKXQ6sYOP6C5rTwgiUajyAh03wygLWZtl+SLyygvAnu+OouqtveesufjBDgujp4wZXP/n8PVqXkqg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.45.tgz}
name: esbuild-freebsd-arm64
version: 0.14.45
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-32/0.14.45:
resolution: {integrity: sha512-Qk9cCO3PJig/Y+SdslN/Th4pbAjgaH9oUjVH28eMsLTPf6QDUuK6EED91jepJdR3vxhcnVjyl6JqtOWmP+uxCg==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.45.tgz}
name: esbuild-linux-32
version: 0.14.45
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-64/0.14.45:
resolution: {integrity: sha512-IybO2ugqvc/Zzn1Kih3x0FVjYAy3GTCwhtcp91dbdqk3wPqxYCzObYspa8ca0s+OovI0Cnb+rhXrUtq8gBqlqw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.45.tgz}
name: esbuild-linux-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-arm/0.14.45:
resolution: {integrity: sha512-qKWJ4A4TAcxXV2TBLPw3Av5X2SYNfyNnBHNJTQJ5VuevK6Aq5i6XEMvUgdlcVuZ9MYPfS5aJZWglzDzJMf1Lpw==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.45.tgz}
name: esbuild-linux-arm
version: 0.14.45
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-arm64/0.14.45:
resolution: {integrity: sha512-UNEyuHTwztrkEU/+mWIxGzKrYBo2cEtjYAZQVZB1kliANKgRITktg2miaO/b/VtNe84ob1aXSvW8XOPEn5RTGQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.45.tgz}
name: esbuild-linux-arm64
version: 0.14.45
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-mips64le/0.14.45:
resolution: {integrity: sha512-s/jcfw3Vpku5dIVSFVY7idJsGdIpIJ88IrkyprVgCG2yBeXatb67B7yIt0E1tL+OHrJJdNBw6GikCiMPAAu1VA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.45.tgz}
name: esbuild-linux-mips64le
version: 0.14.45
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-ppc64le/0.14.45:
resolution: {integrity: sha512-lJItl6ESZnhSx951U9R7MTBopgwIELHlQzC6SBR023V5JC1rPRFDZ/UEBsV+7BFcCAfqlyb+odGEAmcBSf4XCA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.45.tgz}
name: esbuild-linux-ppc64le
version: 0.14.45
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-riscv64/0.14.45:
resolution: {integrity: sha512-8anMu+QLl9MununVCGJN2I/JvUWPm1EVsBBLq/J+Nz4hr8t6QOCuEp0HRaeMohyl2XiMFBchVu0mwa05rF7GFQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.45.tgz}
name: esbuild-linux-riscv64
version: 0.14.45
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-linux-s390x/0.14.45:
resolution: {integrity: sha512-1TPeNvNCoahMw745KNTA6POKaFfSqQrBb3fdOL82GXZqyKU/6rHNwGP0NgHe88bAUMp3QZfjGfCGKxfBHL77RQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.45.tgz}
name: esbuild-linux-s390x
version: 0.14.45
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-netbsd-64/0.14.45:
resolution: {integrity: sha512-55f2eZ8EQhhOZosqX0mApgRoI9PrVyXlHd9Uivk+B0B4WTKUgzkoHaVk4EkIUtNRQTpDWPciTlpb/C2tUYVejA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.45.tgz}
name: esbuild-netbsd-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-openbsd-64/0.14.45:
resolution: {integrity: sha512-Z5sNcT3oN9eryMW3mGn5HAgg7XCxiUS4isqH1tZXpsdOdOESbgbTEP0mBEJU0WU7Vt2gIN5XMbAp7Oigm0k71g==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.45.tgz}
name: esbuild-openbsd-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-sunos-64/0.14.45:
resolution: {integrity: sha512-WmWu4wAm8mIxxK9aWFCj5VHunY3BHQDT3dAPexMLLszPyMF7RDtUYf+Dash9tjyitvnoxPAvR7DpWpirDLQIlQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.45.tgz}
name: esbuild-sunos-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-windows-32/0.14.45:
resolution: {integrity: sha512-DPPehKwPJFBoSG+jILc/vcJNN8pTwz1m6FWojxqtqPhgw8OabTgN4vL7gNMqL/FSeDxF+zyvZeeMrZFYF1d81Q==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.45.tgz}
name: esbuild-windows-32
version: 0.14.45
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-windows-64/0.14.45:
resolution: {integrity: sha512-t6bxFZcp9bLmSs+1pCNL/BW2bq3QEQHxU4HoiMEyWfF8QBU8iNXFI1iLGdyCzB1Ue2739h55tpOvojFrfyNPWA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.45.tgz}
name: esbuild-windows-64
version: 0.14.45
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
optional: true
registry.npmjs.org/esbuild-windows-arm64/0.14.45:
resolution: {integrity: sha512-DnhrvjECBJ2L0owoznPb4RqQKZ498SM8J+YHqmqzi0Gf/enkUwwTjB8vPCK6dDuFnNU/NE8f94FhKdkBHYruDQ==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.45.tgz}
name: esbuild-windows-arm64
version: 0.14.45
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
optional: true
registry.npmjs.org/fsevents/2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz}
name: fsevents
version: 2.3.2
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
optional: true
registry.npmjs.org/graceful-fs/4.2.10:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz}
name: graceful-fs
version: 4.2.10
registry.npmjs.org/minimist/1.2.6:
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz}
name: minimist
version: 1.2.6
requiresBuild: true
dev: true
optional: true
registry.npmjs.org/source-map/0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.yarnpkg.com/, tarball: https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz}
name: source-map
version: 0.6.1
engines: {node: '>=0.10.0'}
requiresBuild: true
commander: 2.20.3
dev: true
optional: true
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册