forked from DonJayamanne/pythonVSCode
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
area-internalLabel for non-user facing issuesLabel for non-user facing issuesdebtCovers everything internal: CI, testing, refactoring of the codebase, etc.Covers everything internal: CI, testing, refactoring of the codebase, etc.metaIssue that is tracking an overall projectIssue that is tracking an overall project
Description
TODO: maybe move the list of tasks to a wiki page?
Tasks
filesystem:
- identify all current filesystem usage
- find direct usage
- (#7519)
fsmodule - (#7519)
fs-extramodule
- (#7519)
- find indirect usage
- (#7519)
tmpmodule - (#7519)
globmodule - ...
- (#7519)
- there are probably some we have missed
- find direct usage
- consolidate all filesystem usage into
IFileSystem(src/client/common/platform/filesystem.ts)- (#7519) add
...to IFileSystem- implement
- update call sites
- ...
- drop unused methods from
IFileSystem(and friends)- (#7519)
pathExistsSync() - ...
- (#7519)
- how to deal with third-party modules that use the filesystem directly?
- (#7519) add
- ensure we keep using only our wrapper in the future
- how to keep from accidentally using the filesystem directly?
- use the new
vscode.workspace.fsAPI (see [meta] Use the vscode filesystem API for *all* filesystem operations. #8533) - improve testability (and other cleanup)
- (#7519) factor out
TempFileSystemfor tmp file/dir ops (i.e. as a wrapper around the nodetmpmodule) - (#7519) factor out
RawFileSystem - (#7519) factor out
FileSystemUtilsfromFileSystem(and useRawFileSystemin it) - eliminate
IFileSystemin favor ofIFileSystemUtils(incl. itsrawproperty)
- (#7519) factor out
paths:
- improve testability (and other cleanup)
- move
IPathUtilsfromsrc/client/common/types.tstosrc/client/common/platform/types.ts - (#7519) factor out
FileSystemPathsas wrapper around 'path' module - rename
src/client/common/platform/pathutils.tstofspaths.ts - move
FileSystemPathsthere (for the low-level operations) - rename
PathUtilstoFileSystemPathUtils(for high-level operations) - move low-level operations to
IFileSystemPaths-
separator->sep -
delimiter -
basename()
-
- move high-level operations to
IFileSystemPathUtils-
arePathsSame()
-
- add
IFileSystemPathUtils.rawto exposeFileSystemPaths
- move
- identify all current node
pathmodule usage- find direct usage (see [meta] Consolidate filesystem path operations. #8541)
- find indirect usage
- there are probably some we have missed
- consolidate all fs path operations into
FileSystemPathUtils& raw (see [meta] Consolidate filesystem path operations. #8541)- how to deal with third-party modules that use node's "path" module directly?
- ensure we keep using only our wrapper in the future (see [meta] Consolidate filesystem path operations. #8541)
- how to keep from accidentally using node's "path" module directly?
other:
- clean up (particularly for testability)
- move
IsWindowsfromsrc/client/common/types.tstosrc/client/common/platform/types.ts
- move
Metadata
Metadata
Assignees
Labels
area-internalLabel for non-user facing issuesLabel for non-user facing issuesdebtCovers everything internal: CI, testing, refactoring of the codebase, etc.Covers everything internal: CI, testing, refactoring of the codebase, etc.metaIssue that is tracking an overall projectIssue that is tracking an overall project