@theia/filesystem 1.39.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"disk-file-system-provider.d.ts","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"disk-file-system-provider.d.ts","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ const encoding_service_1 = require("@theia/core/lib/common/encoding-service");
54
54
  const buffer_1 = require("@theia/core/lib/common/buffer");
55
55
  const stream_1 = require("@theia/core/lib/common/stream");
56
56
  const io_1 = require("../common/io");
57
+ const stat_mode_1 = require("stat-mode");
57
58
  let DiskFileSystemProvider = class DiskFileSystemProvider {
58
59
  constructor() {
59
60
  this.BUFFER_SIZE = 64 * 1024;
@@ -99,11 +100,13 @@ let DiskFileSystemProvider = class DiskFileSystemProvider {
99
100
  async stat(resource) {
100
101
  try {
101
102
  const { stat, symbolicLink } = await this.statLink(this.toFilePath(resource)); // cannot use fs.stat() here to support links properly
103
+ const mode = new stat_mode_1.Mode(stat);
102
104
  return {
103
105
  type: this.toType(stat, symbolicLink),
104
106
  ctime: stat.birthtime.getTime(),
105
107
  mtime: stat.mtime.getTime(),
106
- size: stat.size
108
+ size: stat.size,
109
+ permissions: !mode.owner.write ? files_1.FilePermission.Readonly : undefined,
107
110
  };
108
111
  }
109
112
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"disk-file-system-provider.js","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"disk-file-system-provider.js","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=disk-file-system-provider.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-file-system-provider.spec.d.ts","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 Arduino SA and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const disposable_1 = require("@theia/core/lib/common/disposable");
19
+ const encoding_service_1 = require("@theia/core/lib/common/encoding-service");
20
+ const logger_1 = require("@theia/core/lib/common/logger");
21
+ const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
22
+ const file_uri_1 = require("@theia/core/lib/node/file-uri");
23
+ const ipc_connection_provider_1 = require("@theia/core/lib/node/messaging/ipc-connection-provider");
24
+ const inversify_1 = require("@theia/core/shared/inversify");
25
+ const assert_1 = require("assert");
26
+ const fs_1 = require("fs");
27
+ const path_1 = require("path");
28
+ const temp = require("temp");
29
+ const uuid_1 = require("uuid");
30
+ const files_1 = require("../common/files");
31
+ const disk_file_system_provider_1 = require("./disk-file-system-provider");
32
+ const filesystem_backend_module_1 = require("./filesystem-backend-module");
33
+ const tracked = temp.track();
34
+ describe('disk-file-system-provider', () => {
35
+ let toDisposeAfter;
36
+ let fsProvider;
37
+ before(() => {
38
+ fsProvider = createContainer().get(disk_file_system_provider_1.DiskFileSystemProvider);
39
+ toDisposeAfter = new disposable_1.DisposableCollection(fsProvider, disposable_1.Disposable.create(() => tracked.cleanupSync()));
40
+ });
41
+ after(() => {
42
+ toDisposeAfter.dispose();
43
+ });
44
+ describe('stat', () => {
45
+ it("should omit the 'permissions' property of the stat if the file can be both read and write", async () => {
46
+ const tempDirPath = tracked.mkdirSync();
47
+ const tempFilePath = (0, path_1.join)(tempDirPath, `${(0, uuid_1.v4)()}.txt`);
48
+ await fs_1.promises.writeFile(tempFilePath, 'some content', { encoding: 'utf8' });
49
+ let content = await fs_1.promises.readFile(tempFilePath, { encoding: 'utf8' });
50
+ (0, assert_1.equal)(content, 'some content');
51
+ await fs_1.promises.writeFile(tempFilePath, 'other content', { encoding: 'utf8' });
52
+ content = await fs_1.promises.readFile(tempFilePath, { encoding: 'utf8' });
53
+ (0, assert_1.equal)(content, 'other content');
54
+ const stat = await fsProvider.stat(file_uri_1.FileUri.create(tempFilePath));
55
+ (0, assert_1.equal)(stat.permissions, undefined);
56
+ });
57
+ it("should set the 'permissions' property to `Readonly` if the file can be read but not write", async () => {
58
+ const tempDirPath = tracked.mkdirSync();
59
+ const tempFilePath = (0, path_1.join)(tempDirPath, `${(0, uuid_1.v4)()}.txt`);
60
+ await fs_1.promises.writeFile(tempFilePath, 'readonly content', {
61
+ encoding: 'utf8',
62
+ });
63
+ await fs_1.promises.chmod(tempFilePath, '444'); // read-only for owner/group/world
64
+ try {
65
+ await fsProvider.writeFile(file_uri_1.FileUri.create(tempFilePath), new Uint8Array(), { create: false, overwrite: true });
66
+ (0, assert_1.fail)('Expected an EACCES error for readonly (chmod 444) files');
67
+ }
68
+ catch (err) {
69
+ (0, assert_1.equal)(err instanceof files_1.FileSystemProviderError, true);
70
+ (0, assert_1.equal)(err.code, files_1.FileSystemProviderErrorCode.NoPermissions);
71
+ }
72
+ const content = await fs_1.promises.readFile(tempFilePath, { encoding: 'utf8' });
73
+ (0, assert_1.equal)(content, 'readonly content');
74
+ const stat = await fsProvider.stat(file_uri_1.FileUri.create(tempFilePath));
75
+ (0, assert_1.equal)(stat.permissions, files_1.FilePermission.Readonly);
76
+ });
77
+ });
78
+ function createContainer() {
79
+ const container = new inversify_1.Container({ defaultScope: 'Singleton' });
80
+ const module = new inversify_1.ContainerModule(bind => {
81
+ bind(disk_file_system_provider_1.DiskFileSystemProvider).toSelf().inSingletonScope();
82
+ bind(encoding_service_1.EncodingService).toSelf().inSingletonScope();
83
+ (0, filesystem_backend_module_1.bindFileSystemWatcherServer)(bind);
84
+ bind(mock_logger_1.MockLogger).toSelf().inSingletonScope();
85
+ bind(logger_1.ILogger).toService(mock_logger_1.MockLogger);
86
+ bind(ipc_connection_provider_1.IPCConnectionProvider).toSelf().inSingletonScope();
87
+ });
88
+ container.load(module);
89
+ return container;
90
+ }
91
+ });
92
+ //# sourceMappingURL=disk-file-system-provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disk-file-system-provider.spec.js","sourceRoot":"","sources":["../../src/node/disk-file-system-provider.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@theia/filesystem",
3
- "version": "1.39.0",
3
+ "version": "1.40.0",
4
4
  "description": "Theia - FileSystem Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.39.0",
6
+ "@theia/core": "1.40.0",
7
7
  "@types/body-parser": "^1.17.0",
8
8
  "@types/multer": "^1.4.7",
9
9
  "@types/rimraf": "^2.0.2",
@@ -15,6 +15,7 @@
15
15
  "minimatch": "^5.1.0",
16
16
  "multer": "1.4.4-lts.1",
17
17
  "rimraf": "^2.6.2",
18
+ "stat-mode": "^1.0.0",
18
19
  "tar-fs": "^1.16.2",
19
20
  "trash": "^7.2.0",
20
21
  "uuid": "^8.0.0",
@@ -67,10 +68,10 @@
67
68
  "watch": "theiaext watch"
68
69
  },
69
70
  "devDependencies": {
70
- "@theia/ext-scripts": "1.39.0"
71
+ "@theia/ext-scripts": "1.40.0"
71
72
  },
72
73
  "nyc": {
73
74
  "extends": "../../configs/nyc.json"
74
75
  },
75
- "gitHead": "2d69fc210d6a9f6566f8f0abcf472628156c0362"
76
+ "gitHead": "b2c84f963c24bde22dbdecd8c506eccc0768f400"
76
77
  }
@@ -0,0 +1,109 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2023 Arduino SA and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
18
+ import { EncodingService } from '@theia/core/lib/common/encoding-service';
19
+ import { ILogger } from '@theia/core/lib/common/logger';
20
+ import { MockLogger } from '@theia/core/lib/common/test/mock-logger';
21
+ import { FileUri } from '@theia/core/lib/node/file-uri';
22
+ import { IPCConnectionProvider } from '@theia/core/lib/node/messaging/ipc-connection-provider';
23
+ import { Container, ContainerModule } from '@theia/core/shared/inversify';
24
+ import { equal, fail } from 'assert';
25
+ import { promises as fs } from 'fs';
26
+ import { join } from 'path';
27
+ import * as temp from 'temp';
28
+ import { v4 } from 'uuid';
29
+ import { FilePermission, FileSystemProviderError, FileSystemProviderErrorCode } from '../common/files';
30
+ import { DiskFileSystemProvider } from './disk-file-system-provider';
31
+ import { bindFileSystemWatcherServer } from './filesystem-backend-module';
32
+
33
+ const tracked = temp.track();
34
+
35
+ describe('disk-file-system-provider', () => {
36
+ let toDisposeAfter: DisposableCollection;
37
+ let fsProvider: DiskFileSystemProvider;
38
+
39
+ before(() => {
40
+ fsProvider = createContainer().get<DiskFileSystemProvider>(
41
+ DiskFileSystemProvider
42
+ );
43
+ toDisposeAfter = new DisposableCollection(
44
+ fsProvider,
45
+ Disposable.create(() => tracked.cleanupSync())
46
+ );
47
+ });
48
+
49
+ after(() => {
50
+ toDisposeAfter.dispose();
51
+ });
52
+
53
+ describe('stat', () => {
54
+ it("should omit the 'permissions' property of the stat if the file can be both read and write", async () => {
55
+ const tempDirPath = tracked.mkdirSync();
56
+ const tempFilePath = join(tempDirPath, `${v4()}.txt`);
57
+ await fs.writeFile(tempFilePath, 'some content', { encoding: 'utf8' });
58
+
59
+ let content = await fs.readFile(tempFilePath, { encoding: 'utf8' });
60
+ equal(content, 'some content');
61
+
62
+ await fs.writeFile(tempFilePath, 'other content', { encoding: 'utf8' });
63
+
64
+ content = await fs.readFile(tempFilePath, { encoding: 'utf8' });
65
+ equal(content, 'other content');
66
+
67
+ const stat = await fsProvider.stat(FileUri.create(tempFilePath));
68
+ equal(stat.permissions, undefined);
69
+ });
70
+
71
+ it("should set the 'permissions' property to `Readonly` if the file can be read but not write", async () => {
72
+ const tempDirPath = tracked.mkdirSync();
73
+ const tempFilePath = join(tempDirPath, `${v4()}.txt`);
74
+ await fs.writeFile(tempFilePath, 'readonly content', {
75
+ encoding: 'utf8',
76
+ });
77
+
78
+ await fs.chmod(tempFilePath, '444'); // read-only for owner/group/world
79
+
80
+ try {
81
+ await fsProvider.writeFile(FileUri.create(tempFilePath), new Uint8Array(), { create: false, overwrite: true });
82
+ fail('Expected an EACCES error for readonly (chmod 444) files');
83
+ } catch (err) {
84
+ equal(err instanceof FileSystemProviderError, true);
85
+ equal((<FileSystemProviderError>err).code, FileSystemProviderErrorCode.NoPermissions);
86
+ }
87
+
88
+ const content = await fs.readFile(tempFilePath, { encoding: 'utf8' });
89
+ equal(content, 'readonly content');
90
+
91
+ const stat = await fsProvider.stat(FileUri.create(tempFilePath));
92
+ equal(stat.permissions, FilePermission.Readonly);
93
+ });
94
+ });
95
+
96
+ function createContainer(): Container {
97
+ const container = new Container({ defaultScope: 'Singleton' });
98
+ const module = new ContainerModule(bind => {
99
+ bind(DiskFileSystemProvider).toSelf().inSingletonScope();
100
+ bind(EncodingService).toSelf().inSingletonScope();
101
+ bindFileSystemWatcherServer(bind);
102
+ bind(MockLogger).toSelf().inSingletonScope();
103
+ bind(ILogger).toService(MockLogger);
104
+ bind(IPCConnectionProvider).toSelf().inSingletonScope();
105
+ });
106
+ container.load(module);
107
+ return container;
108
+ }
109
+ });
@@ -54,7 +54,7 @@ import {
54
54
  FileSystemProviderError,
55
55
  FileChange,
56
56
  WatchOptions,
57
- FileUpdateOptions, FileUpdateResult, FileReadStreamOptions
57
+ FileUpdateOptions, FileUpdateResult, FileReadStreamOptions, FilePermission
58
58
  } from '../common/files';
59
59
  import { FileSystemWatcherServer } from '../common/filesystem-watcher-protocol';
60
60
  import trash = require('trash');
@@ -65,6 +65,7 @@ import { BinaryBuffer } from '@theia/core/lib/common/buffer';
65
65
  import { ReadableStreamEvents, newWriteableStream } from '@theia/core/lib/common/stream';
66
66
  import { CancellationToken } from '@theia/core/lib/common/cancellation';
67
67
  import { readFileIntoStream } from '../common/io';
68
+ import { Mode } from 'stat-mode';
68
69
 
69
70
  export namespace DiskFileSystemProvider {
70
71
  export interface StatAndLink {
@@ -151,12 +152,13 @@ export class DiskFileSystemProvider implements Disposable,
151
152
  async stat(resource: URI): Promise<Stat> {
152
153
  try {
153
154
  const { stat, symbolicLink } = await this.statLink(this.toFilePath(resource)); // cannot use fs.stat() here to support links properly
154
-
155
+ const mode = new Mode(stat);
155
156
  return {
156
157
  type: this.toType(stat, symbolicLink),
157
158
  ctime: stat.birthtime.getTime(), // intentionally not using ctime here, we want the creation time
158
159
  mtime: stat.mtime.getTime(),
159
- size: stat.size
160
+ size: stat.size,
161
+ permissions: !mode.owner.write ? FilePermission.Readonly : undefined,
160
162
  };
161
163
  } catch (error) {
162
164
  throw this.toFileSystemProviderError(error);