Skip to content

Commit e933269

Browse files
committed
add node-script to run swc
1 parent e191c94 commit e933269

File tree

7 files changed

+243
-106
lines changed

7 files changed

+243
-106
lines changed

.swcrc

Lines changed: 0 additions & 23 deletions
This file was deleted.

build/lib/swc/.swcrc-amd

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "http://json.schemastore.org/swcrc",
3+
"exclude": "\\.js$",
4+
"jsc": {
5+
"parser": {
6+
"syntax": "typescript",
7+
"tsx": false,
8+
"decorators": true
9+
},
10+
"target": "es2020",
11+
"loose": false,
12+
"minify": {
13+
"compress": false,
14+
"mangle": false
15+
}
16+
},
17+
"module": {
18+
"type": "amd",
19+
"noInterop": true
20+
},
21+
"minify": false
22+
}

build/lib/swc/.swcrc-no-mod

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "http://json.schemastore.org/swcrc",
3+
"exclude": "\\.js$",
4+
"jsc": {
5+
"parser": {
6+
"syntax": "typescript",
7+
"tsx": false,
8+
"decorators": true
9+
},
10+
"target": "es2020",
11+
"loose": false,
12+
"minify": {
13+
"compress": false,
14+
"mangle": false
15+
}
16+
},
17+
"isModule": false,
18+
"module": {
19+
"type": "es6"
20+
},
21+
"minify": false
22+
}

build/lib/swc/index.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"use strict";
2+
/*---------------------------------------------------------------------------------------------
3+
* Copyright (c) Microsoft Corporation. All rights reserved.
4+
* Licensed under the MIT License. See License.txt in the project root for license information.
5+
*--------------------------------------------------------------------------------------------*/
6+
Object.defineProperty(exports, "__esModule", { value: true });
7+
exports.createSwcClientStream = void 0;
8+
const child_process_1 = require("child_process");
9+
const stream_1 = require("stream");
10+
const path_1 = require("path");
11+
const gulp = require("gulp");
12+
function createSwcClientStream() {
13+
const srcDir = (0, path_1.join)(__dirname, '../../../src');
14+
const outDir = (0, path_1.join)(__dirname, '../../../out');
15+
const pathConfigAmd = (0, path_1.join)(__dirname, '.swcrc-amd');
16+
const pathConfigNoModule = (0, path_1.join)(__dirname, '.swcrc-no-mod');
17+
return new class extends stream_1.Readable {
18+
constructor() {
19+
super({ objectMode: true, highWaterMark: Number.MAX_SAFE_INTEGER });
20+
this._isStarted = false;
21+
}
22+
exec() {
23+
try {
24+
const out1 = (0, child_process_1.execSync)(`npx swc --config-file ${pathConfigAmd} ${srcDir}/ --copy-files --out-dir ${outDir}`, { encoding: 'utf-8' });
25+
console.log(out1);
26+
const out2 = (0, child_process_1.execSync)(`npx swc --config-file ${pathConfigNoModule} ${srcDir}/vs/base/worker/workerMain.ts --copy-files --out-dir ${outDir}`, { encoding: 'utf-8' });
27+
console.log(out2);
28+
return true;
29+
}
30+
catch (error) {
31+
console.error();
32+
this.destroy(error);
33+
return false;
34+
}
35+
}
36+
async _read(_size) {
37+
if (this._isStarted) {
38+
return;
39+
}
40+
this._isStarted = true;
41+
if (!this.exec()) {
42+
this.push(null);
43+
return;
44+
}
45+
for await (const file of gulp.src(`${outDir}/**/*.js`, { base: outDir })) {
46+
this.push(file);
47+
}
48+
this.push(null);
49+
}
50+
};
51+
}
52+
exports.createSwcClientStream = createSwcClientStream;
53+
if (process.argv[1] === __filename) {
54+
createSwcClientStream().exec();
55+
}

build/lib/swc/index.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import { execSync } from 'child_process';
7+
import { Readable } from 'stream';
8+
import { join } from 'path';
9+
import * as gulp from 'gulp';
10+
11+
export function createSwcClientStream() {
12+
13+
const srcDir = join(__dirname, '../../../src');
14+
const outDir = join(__dirname, '../../../out');
15+
16+
const pathConfigAmd = join(__dirname, '.swcrc-amd');
17+
const pathConfigNoModule = join(__dirname, '.swcrc-no-mod');
18+
19+
return new class extends Readable {
20+
21+
private _isStarted = false;
22+
23+
constructor() {
24+
super({ objectMode: true, highWaterMark: Number.MAX_SAFE_INTEGER });
25+
}
26+
27+
exec() {
28+
try {
29+
const out1 = execSync(`npx swc --config-file ${pathConfigAmd} ${srcDir}/ --copy-files --out-dir ${outDir}`, { encoding: 'utf-8' });
30+
console.log(out1);
31+
32+
const out2 = execSync(`npx swc --config-file ${pathConfigNoModule} ${srcDir}/vs/base/worker/workerMain.ts --copy-files --out-dir ${outDir}`, { encoding: 'utf-8' });
33+
console.log(out2);
34+
return true;
35+
} catch (error) {
36+
console.error();
37+
this.destroy(error);
38+
return false;
39+
}
40+
}
41+
42+
async _read(_size: number): Promise<void> {
43+
if (this._isStarted) {
44+
return;
45+
}
46+
this._isStarted = true;
47+
if (!this.exec()) {
48+
this.push(null);
49+
return;
50+
}
51+
for await (const file of gulp.src(`${outDir}/**/*.js`, { base: outDir })) {
52+
this.push(file);
53+
}
54+
this.push(null);
55+
}
56+
};
57+
}
58+
59+
if (process.argv[1] === __filename) {
60+
createSwcClientStream().exec();
61+
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
"7zip": "0.0.6",
9999
"@playwright/test": "1.21.0",
100100
"@swc/cli": "0.1.57",
101-
"@swc/core": "1.2.213",
101+
"@swc/core": "1.2.218",
102102
"@types/cookie": "^0.3.3",
103103
"@types/copy-webpack-plugin": "^6.0.3",
104104
"@types/cssnano": "^4.0.0",

yarn.lock

Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,89 +1093,89 @@
10931093
slash "3.0.0"
10941094
source-map "^0.7.3"
10951095

1096-
"@swc/[email protected].213":
1097-
version "1.2.213"
1098-
resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.213.tgz#ddfbeed44c26522ab6286281e424653d9d1b97a8"
1099-
integrity sha512-ZxMQf21E5Vvcd40TJH8x9GqXDbn5DLU3EI9cRgnhJTzC4LEk4YPYw2bO9jaqmYzWIosWyquenNkomuVD+PNHCA==
1100-
1101-
"@swc/[email protected].213":
1102-
version "1.2.213"
1103-
resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.213.tgz#194eedc1ba608a06c86dbe06c3a9d70c33c7b7bf"
1104-
integrity sha512-TIWJfxr669G4odbmZwKcaxy6TnenTL2Lux6G+nBmFsCJtGxgLWoH8fm3A7Yc+C2VG+bvlnP1FQsh2flnpehlUA==
1105-
1106-
"@swc/[email protected].213":
1107-
version "1.2.213"
1108-
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.213.tgz#51e4c45faec69cd413979c042b6442bf56728977"
1109-
integrity sha512-vTEZcL69S8dXcnqtGKomHUFIMpgbTH8ImnYTS48x8h79FuAhWor5t/G+lISXlaTxmteEf1RWDOeUPXNCefN6mQ==
1110-
1111-
"@swc/[email protected].213":
1112-
version "1.2.213"
1113-
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.213.tgz#859bbd44b9d0a74b98e840a07ee4e3e1a3783b4c"
1114-
integrity sha512-nkgm9QM7J9IajKYqHXCN4V1pjkxga+e0SX4r28zHFt3O+sR55QVXrf0GI+MvSCvtmMXqr5+R/gifqxO72OGqXw==
1115-
1116-
"@swc/[email protected].213":
1117-
version "1.2.213"
1118-
resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.213.tgz#9a78c4ea70262e527541f72b57f954a5385fbe1e"
1119-
integrity sha512-4Jyb6fWtfjBK/AMmmA46jp2y6ObsnE5CpCwJs1MKLZhi4Tj+EayM7ZVNzlw14tDDEhH1h8fss8mAsxDOEXCz5g==
1120-
1121-
"@swc/[email protected].213":
1122-
version "1.2.213"
1123-
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.213.tgz#0a8c8edb7f80b1759f371ce7a760d13e4cdb7780"
1124-
integrity sha512-vB++qSrgPmnPJt+X5hDXy3rsfv/s5Wi5sbN+iurz05A+ay3Hd1d3HMFEGVkpwZIoCNHq8x5JO2NqgkFqXZ7+7A==
1125-
1126-
"@swc/[email protected].213":
1127-
version "1.2.213"
1128-
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.213.tgz#9f839a9706f896a7f36fe6e065c46dfe67da8571"
1129-
integrity sha512-ffjbXQc4N5OIfuscE+c84Ped8Zi/CWjYo0ZLM/m1wHYNjrP3oWVY6i7GDKUP2GFWGBXRmbqWicseNxy9NUhadg==
1130-
1131-
"@swc/[email protected].213":
1132-
version "1.2.213"
1133-
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.213.tgz#906cc05e39485a6be75713014f29211d36f5c44b"
1134-
integrity sha512-S5bHS8Bn9QRvfdMHL6Rd76V0giQDsd+Z6khRjz8AN9+kTaQz6bFOwxbwkEMQyRyaTX83RTQeOgDJy9EBI9d4xQ==
1135-
1136-
"@swc/[email protected].213":
1137-
version "1.2.213"
1138-
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.213.tgz#827d0352b2ab00e07296d244f7255c9aea01666d"
1139-
integrity sha512-E9Nq/PzGLeO7jMkhLu3auj+heI6Wg8dpdnWKzF0Fn6H7N86NDoSWdaC7ZfktiJTsqatdj7x359X3i57pm99LLw==
1140-
1141-
"@swc/[email protected].213":
1142-
version "1.2.213"
1143-
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.213.tgz#e553c5753a8d10c56fc6196b7e610d4d80b83d70"
1144-
integrity sha512-vHUFx48ezU02biB7MhT53MN7gDnDeA573kQCahElh8pUQOEYAVMsXKWjFsdA+bLe4eXpCntTqrRoYbikaVQNCQ==
1145-
1146-
"@swc/[email protected].213":
1147-
version "1.2.213"
1148-
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.213.tgz#d7cd3e90b268c137a20115faede653e83555997e"
1149-
integrity sha512-R+h0JNzTKi/IpjQUN5ERnYCmYwxF/moiXREqAkog5z6ymxn3wkMlNjwJ2Y4HKcD2lMZYq6JoWBXG6RKx+wVYcQ==
1150-
1151-
"@swc/[email protected].213":
1152-
version "1.2.213"
1153-
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.213.tgz#412f1162e52ea28c70d8b93f29c8742d8ee6e9a5"
1154-
integrity sha512-SDktv1cRHaRJRKSKx2sqgJp9c6anErnvYwWwSEQYaG0BQ4POABOWLIDf1DdNZVE/n4+8ANoP40DVG4ZdIvbTuw==
1155-
1156-
"@swc/[email protected].213":
1157-
version "1.2.213"
1158-
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.213.tgz#3b5780371699253d448ebef9989736a5acce3739"
1159-
integrity sha512-VXLyIl6Fo/OOryxD4kESX6WgQugK3C25mTcHAmWNkAgflOqoL9ILWmToxMrpTPAoso+w5U6xsdvCzhlJ4xR9Cg==
1160-
1161-
"@swc/[email protected].213":
1162-
version "1.2.213"
1163-
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.213.tgz#c95460779b890bf6102c7e2db97b27ef024e94c6"
1164-
integrity sha512-nK168bJB6VaYicBC2M/UTSODo3u+k+Y9IgbSVsxV+y8t/ZDODa5MazXEiGhFuWj8fCLR1lhsLXVpZHV6ICfc4w==
1096+
"@swc/[email protected].218":
1097+
version "1.2.218"
1098+
resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.218.tgz#017792272e70a0511d7df3397a31d73c6ef37b40"
1099+
integrity sha512-Q/uLCh262t3xxNzhCz+ZW9t+g2nWd0gZZO4jMYFWJs7ilKVNsBfRtfnNGGACHzkVuWLNDIWtAS2PSNodl7VUHQ==
1100+
1101+
"@swc/[email protected].218":
1102+
version "1.2.218"
1103+
resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.218.tgz#ee1b6cd7281d9bd0f26d5d24843addf09365c137"
1104+
integrity sha512-dy+8lUHUcyrkfPcl7azEQ4M44duRo1Uibz1E5/tltXCGoR6tu2ZN2VkqEKgA2a9XR3UD8/x4lv2r5evwJWy+uQ==
1105+
1106+
"@swc/[email protected].218":
1107+
version "1.2.218"
1108+
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.218.tgz#d73f6eedf0aac4ad117e67227d65d65c57657858"
1109+
integrity sha512-aTpFjWio8G0oukN76VtXCBPtFzH0PXIQ+1dFjGGkzrBcU5suztCCbhPBGhKRoWp3NJBwfPDwwWzmG+ddXrVAKg==
1110+
1111+
"@swc/[email protected].218":
1112+
version "1.2.218"
1113+
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.218.tgz#a872c618727ceac8780539b5fa8aa45ae600d362"
1114+
integrity sha512-H3w/gNzROE6gVPZCAg5qvvPihzlg88Yi7HWb/mowfpNqH9/iJ8XMdwqJyovnfUeUXsuJQBFv6uXv/ri7qhGMHA==
1115+
1116+
"@swc/[email protected].218":
1117+
version "1.2.218"
1118+
resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.218.tgz#6abc75e409739cad2ed9d57c1c741e8e5759794c"
1119+
integrity sha512-kkch07yCSlpUrSMp0FZPWtMHJjh3lfHiwp7JYNf6CUl5xXlgT19NeomPYq31dbTzPV2VnE7TVVlAawIjuuOH4g==
1120+
1121+
"@swc/[email protected].218":
1122+
version "1.2.218"
1123+
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.218.tgz#a1a1bb172632082766770e47426df606c828d28c"
1124+
integrity sha512-vwEgvtD9f/+0HFxYD5q4sd8SG6zd0cxm17cwRGZ6jWh/d4Ninjht3CpDGE1ffh9nJ+X3Mb/7rjU/kTgWFz5qfg==
1125+
1126+
"@swc/[email protected].218":
1127+
version "1.2.218"
1128+
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.218.tgz#4d3325cd35016dd5ec389084bd5c304348002b15"
1129+
integrity sha512-g5PQI6COUHV7x7tyaZQn6jXWtOLXXNIEQK1HS5/e+6kqqsM2NsndE9bjLhoH1EQuXiN2eUjAR/ZDOFAg102aRw==
1130+
1131+
"@swc/[email protected].218":
1132+
version "1.2.218"
1133+
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.218.tgz#8abab2fe12bb6a7687ff3bbd6030fcc728ed007d"
1134+
integrity sha512-IETYHB6H01NmVmlw+Ng8nkjdFBv1exGQRR74GAnHis1bVx1Uq14hREIF6XT3I1Aj26nRwlGkIYQuEKnFO5/j3Q==
1135+
1136+
"@swc/[email protected].218":
1137+
version "1.2.218"
1138+
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.218.tgz#39227c15018d9b5253e7679bc8bbe3fd7ed109cd"
1139+
integrity sha512-PK39Zg4/YZbfchQRw77iVfB7Qat7QaK58sQt8enH39CUMXlJ+GSfC0Fqw2mtZ12sFGwmsGrK9yBy3ZVoOws5Ng==
1140+
1141+
"@swc/[email protected].218":
1142+
version "1.2.218"
1143+
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.218.tgz#d661bfc6a9f0c35979c0e608777355222092e534"
1144+
integrity sha512-SNjrzORJYiKTSmFbaBkKZAf5B/PszwoZoFZOcd86AG192zsvQBSvKjQzMjT5rDZxB+sOnhRE7wH/bvqxZishQQ==
1145+
1146+
"@swc/[email protected].218":
1147+
version "1.2.218"
1148+
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.218.tgz#ea94260b36010d67f529d2f73c99e7d338a98711"
1149+
integrity sha512-lVXFWkYl+w8+deq9mgGsfvSY5Gr1RRjFgqZ+0wMZgyaonfx7jNn3TILUwc7egumEwxK0anNriVZCyKfcO3ZIjA==
1150+
1151+
"@swc/[email protected].218":
1152+
version "1.2.218"
1153+
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.218.tgz#b5b5fbbe17680e0e1626d974ac2ace2866da7639"
1154+
integrity sha512-jgP+NZsHUh9Cp8PcXznnkpJTW3hPDLUgsXI0NKfE+8+Xvc6hALHxl6K46IyPYU67FfFlegYcBSNkOgpc85gk0A==
1155+
1156+
"@swc/[email protected].218":
1157+
version "1.2.218"
1158+
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.218.tgz#9f6ba50cac6e3322d844cc24418c7b0ab08f7e0e"
1159+
integrity sha512-XYLjX00KV4ft324Q3QDkw61xHkoN7EKkVvIpb0wXaf6wVshwU+BCDyPw2CSg4PQecNP8QGgMRQf9QM7xNtEM7A==
1160+
1161+
"@swc/[email protected].218":
1162+
version "1.2.218"
1163+
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.218.tgz#3bc7532621f491bf920d103a4a0433ac7df9d390"
1164+
integrity sha512-wzXTeBUi3YAHr305lCo1tlxRj5Zpk7hu6rmulngH06NgrH7fS6bj8IaR7K2QPZ4ZZ4U+TGS2tOKbXBmqeMRUtg==
11651165
optionalDependencies:
1166-
"@swc/core-android-arm-eabi" "1.2.213"
1167-
"@swc/core-android-arm64" "1.2.213"
1168-
"@swc/core-darwin-arm64" "1.2.213"
1169-
"@swc/core-darwin-x64" "1.2.213"
1170-
"@swc/core-freebsd-x64" "1.2.213"
1171-
"@swc/core-linux-arm-gnueabihf" "1.2.213"
1172-
"@swc/core-linux-arm64-gnu" "1.2.213"
1173-
"@swc/core-linux-arm64-musl" "1.2.213"
1174-
"@swc/core-linux-x64-gnu" "1.2.213"
1175-
"@swc/core-linux-x64-musl" "1.2.213"
1176-
"@swc/core-win32-arm64-msvc" "1.2.213"
1177-
"@swc/core-win32-ia32-msvc" "1.2.213"
1178-
"@swc/core-win32-x64-msvc" "1.2.213"
1166+
"@swc/core-android-arm-eabi" "1.2.218"
1167+
"@swc/core-android-arm64" "1.2.218"
1168+
"@swc/core-darwin-arm64" "1.2.218"
1169+
"@swc/core-darwin-x64" "1.2.218"
1170+
"@swc/core-freebsd-x64" "1.2.218"
1171+
"@swc/core-linux-arm-gnueabihf" "1.2.218"
1172+
"@swc/core-linux-arm64-gnu" "1.2.218"
1173+
"@swc/core-linux-arm64-musl" "1.2.218"
1174+
"@swc/core-linux-x64-gnu" "1.2.218"
1175+
"@swc/core-linux-x64-musl" "1.2.218"
1176+
"@swc/core-win32-arm64-msvc" "1.2.218"
1177+
"@swc/core-win32-ia32-msvc" "1.2.218"
1178+
"@swc/core-win32-x64-msvc" "1.2.218"
11791179

11801180
"@szmarczak/http-timer@^1.1.2":
11811181
version "1.1.2"

0 commit comments

Comments
 (0)