File no-asar.patch of Package code
Do not pack files into asar, it breaks RPM dependency checking and the performance benefits are dubious.
--- a/build/lib/asar.js 2022-02-09 22:24:27.000000000 +0100
+++ b/build/lib/asar.js 2022-03-01 18:38:00.599666535 +0100
@@ -13,12 +13,7 @@
const minimatch = require("minimatch");
function createAsar(folderPath, unpackGlobs, skipGlobs, destFilename) {
const shouldUnpackFile = (file) => {
- for (let i = 0; i < unpackGlobs.length; i++) {
- if (minimatch(file.relative, unpackGlobs[i])) {
- return true;
- }
- }
- return false;
+ return true
};
const shouldSkipFile = (file) => {
for (const skipGlob of skipGlobs) {
diff '--color=auto' -urp vscode-1.93.0/build/gulpfile.vscode.js vscode-1.93.0.noasar/build/gulpfile.vscode.js
--- vscode-1.93.0/build/gulpfile.vscode.js 2024-09-04 14:53:09.000000000 +0200
+++ vscode-1.93.0.noasar/build/gulpfile.vscode.js 2024-09-05 20:25:14.367306251 +0200
@@ -374,7 +374,7 @@ function packageTask(platform, arch, sou
.pipe(util.rewriteSourceMappingURL(sourceMappingURLBase))
.pipe(jsFilter.restore);
- if (!isESM('ASAR disabled in VS Code builds')) { // TODO@esm: ASAR disabled in ESM
+ if (false){
deps = deps.pipe(createAsar(path.join(process.cwd(), 'node_modules'), [
'**/*.node',
'**/@vscode/ripgrep/bin/*',
diff '--color=auto' -urp vscode-1.93.0/build/linux/dependencies-generator.js vscode-1.93.0.noasar/build/linux/dependencies-generator.js
--- vscode-1.93.0/build/linux/dependencies-generator.js 2024-09-04 14:53:09.000000000 +0200
+++ vscode-1.93.0.noasar/build/linux/dependencies-generator.js 2024-09-05 20:25:56.233846557 +0200
@@ -44,7 +44,7 @@ async function getDependencies(packageTy
throw new Error('Invalid RPM arch string ' + arch);
}
// Get the files for which we want to find dependencies.
- const canAsar = !(0, esm_1.isESM)('ASAR disabled in Linux builds'); // TODO@esm ASAR disabled in ESM
+ const canAsar = false
const nativeModulesPath = path.join(buildDir, 'resources', 'app', canAsar ? 'node_modules.asar.unpacked' : 'node_modules');
const findResult = (0, child_process_1.spawnSync)('find', [nativeModulesPath, '-name', '*.node']);
if (findResult.status) {
diff '--color=auto' -urp vscode-1.93.0/src/bootstrap-window.js vscode-1.93.0.noasar/src/bootstrap-window.js
--- vscode-1.93.0/src/bootstrap-window.js 2024-09-04 14:53:09.000000000 +0200
+++ vscode-1.93.0.noasar/src/bootstrap-window.js 2024-09-05 20:26:18.823826232 +0200
@@ -178,7 +178,7 @@
// Teach the loader the location of the node modules we use in renderers
// This will enable to load these modules via <script> tags instead of
// using a fallback such as node.js require which does not exist in sandbox
- const baseNodeModulesPath = isDev ? '../node_modules' : '../node_modules.asar';
+ const baseNodeModulesPath = '../node_modules'
loaderConfig.paths = {
'@vscode/tree-sitter-wasm': `${baseNodeModulesPath}/@vscode/tree-sitter-wasm/wasm/tree-sitter.js`,
'vscode-textmate': `${baseNodeModulesPath}/vscode-textmate/release/main.js`,
diff '--color=auto' -urp vscode-1.93.0/src/vs/base/common/amd.ts vscode-1.93.0.noasar/src/vs/base/common/amd.ts
--- vscode-1.93.0/src/vs/base/common/amd.ts 2024-09-04 14:53:09.000000000 +0200
+++ vscode-1.93.0.noasar/src/vs/base/common/amd.ts 2024-09-05 20:26:47.157134075 +0200
@@ -5,7 +5,7 @@
// ESM-comment-begin
export const isESM = false;
-export const canASAR = true;
+export const canASAR = false
// ESM-comment-end
// ESM-uncomment-begin
// export const isESM = true;
diff '--color=auto' -urp vscode-1.93.0/src/vs/base/common/network.ts vscode-1.93.0.noasar/src/vs/base/common/network.ts
--- vscode-1.93.0/src/vs/base/common/network.ts 2024-09-04 14:53:09.000000000 +0200
+++ vscode-1.93.0.noasar/src/vs/base/common/network.ts 2024-09-05 20:27:05.240467062 +0200
@@ -240,8 +240,8 @@ export type AppResourcePath = (
export const builtinExtensionsPath: AppResourcePath = 'vs/../../extensions';
export const nodeModulesPath: AppResourcePath = 'vs/../../node_modules';
-export const nodeModulesAsarPath: AppResourcePath = 'vs/../../node_modules.asar';
-export const nodeModulesAsarUnpackedPath: AppResourcePath = 'vs/../../node_modules.asar.unpacked';
+export const nodeModulesAsarPath: AppResourcePath = 'vs/../../node_modules'
+export const nodeModulesAsarUnpackedPath: AppResourcePath = 'vs/../../node_modules'
export const VSCODE_AUTHORITY = 'vscode-app';