Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate all manage fs.readFile to fs.readLocalFile #7049

Closed
rarkins opened this issue Aug 21, 2020 · 9 comments · Fixed by #13063
Closed

Migrate all manage fs.readFile to fs.readLocalFile #7049

rarkins opened this issue Aug 21, 2020 · 9 comments · Fixed by #13063
Labels
priority-4-low Low priority, unlikely to be done unless it becomes important to more people status:in-progress Someone is working on implementation type:refactor Refactoring or improving of existing code

Comments

@rarkins
Copy link
Collaborator

rarkins commented Aug 21, 2020

Ideally manager code should not need to use absolute file paths ever.

@rarkins rarkins added type:refactor Refactoring or improving of existing code priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others labels Aug 21, 2020
@olegkrivtsov
Copy link
Contributor

I'd like to take this one.

@olegkrivtsov
Copy link
Contributor

My plan for fixing this issue:

  1. Find all instances of fs.readFile as follows:
grep -rnw './lib' -e 'fs.readFile'
./lib/util/cache/repository/index.ts:56:        JSON.parse(await fs.readFile(cacheFileName, 'utf8'))
./lib/util/cache/repository/index.spec.ts:21:    expect(fs.readFile.mock.calls).toHaveLength(0);
./lib/util/cache/repository/index.spec.ts:28:    expect(fs.readFile.mock.calls).toHaveLength(0);
./lib/util/cache/repository/index.spec.ts:31:    fs.readFile.mockResolvedValueOnce('{}' as any);
./lib/util/cache/repository/index.spec.ts:42:    fs.readFile.mockResolvedValueOnce(
./lib/util/cache/repository/index.spec.ts:50:    expect(fs.readFile.mock.calls).toHaveLength(1);
./lib/util/fs/index.ts:38:      ? await fs.readFile(localFileName, encoding)
./lib/util/fs/index.ts:39:      : await fs.readFile(localFileName);
./lib/util/fs/proxies.ts:26:  return encoding ? fs.readFile(fileName, encoding) : fs.readFile(fileName);
./lib/manager/pipenv/artifacts.spec.ts:66:    fs.readFile.mockResolvedValueOnce(JSON.stringify(pipFileLock) as any);
./lib/manager/pipenv/artifacts.spec.ts:68:    fs.readFile.mockReturnValueOnce(JSON.stringify(pipFileLock) as any);
./lib/manager/pipenv/artifacts.spec.ts:80:    fs.readFile.mockResolvedValueOnce('unparseable pipfile lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:82:    fs.readFile.mockReturnValueOnce('unparseable pipfile lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:94:    fs.readFile.mockResolvedValueOnce('current pipfile.lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:99:    fs.readFile.mockReturnValueOnce('New Pipfile.lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:113:    fs.readFile.mockResolvedValueOnce(JSON.stringify(pipFileLock) as any);
./lib/manager/pipenv/artifacts.spec.ts:118:    fs.readFile.mockReturnValueOnce('new lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:130:    fs.readFile.mockResolvedValueOnce('Current Pipfile.lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:146:    fs.readFile.mockResolvedValueOnce('Current Pipfile.lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:151:    fs.readFile.mockReturnValueOnce('New Pipfile.lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:165:    fs.readFile.mockResolvedValueOnce(JSON.stringify(pipFileLock) as any);
./lib/manager/pipenv/artifacts.spec.ts:170:    fs.readFile.mockReturnValueOnce('new lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:184:    fs.readFile.mockResolvedValueOnce(JSON.stringify(pipFileLock) as any);
./lib/manager/pipenv/artifacts.spec.ts:189:    fs.readFile.mockReturnValueOnce('new lock' as any);
./lib/manager/pipenv/artifacts.spec.ts:203:    fs.readFile.mockResolvedValueOnce(JSON.stringify(pipFileLock) as any);
./lib/manager/pipenv/artifacts.spec.ts:208:    fs.readFile.mockReturnValueOnce('new lock' as any);
./lib/manager/gomod/artifacts.spec.ts:83:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:84:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:100:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:101:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:106:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:122:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:123:    fs.readFile.mockResolvedValueOnce('modules.txt content' as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:130:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:131:    fs.readFile.mockResolvedValueOnce('Foo go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:132:    fs.readFile.mockResolvedValueOnce('Bar go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:133:    fs.readFile.mockResolvedValueOnce('New go.mod' as any);
./lib/manager/gomod/artifacts.spec.ts:155:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:156:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:161:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:174:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:175:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:180:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:196:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:197:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:202:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:225:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:226:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:231:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:266:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:267:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:272:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:309:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:310:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:315:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:355:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:356:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:361:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:405:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:406:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:411:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:456:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:457:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:462:    fs.readFile.mockResolvedValueOnce('New go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:489:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:490:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:495:    fs.readFile.mockResolvedValueOnce('New go.sum 1' as any);
./lib/manager/gomod/artifacts.spec.ts:496:    fs.readFile.mockResolvedValueOnce('New go.sum 2' as any);
./lib/manager/gomod/artifacts.spec.ts:497:    fs.readFile.mockResolvedValueOnce('New go.sum 3' as any);
./lib/manager/gomod/artifacts.spec.ts:498:    fs.readFile.mockResolvedValueOnce('New go.mod' as any);
./lib/manager/gomod/artifacts.spec.ts:514:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:515:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:537:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:538:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:543:    fs.readFile
./lib/manager/gomod/artifacts.spec.ts:567:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:568:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:573:    fs.readFile
./lib/manager/gomod/artifacts.spec.ts:595:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:596:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:601:    fs.readFile
./lib/manager/gomod/artifacts.spec.ts:621:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:622:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:627:    fs.readFile
./lib/manager/gomod/artifacts.spec.ts:646:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:647:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:652:    fs.readFile
./lib/manager/gomod/artifacts.spec.ts:679:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:680:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:685:    fs.readFile
./lib/manager/gomod/artifacts.spec.ts:712:    fs.readFile.mockResolvedValueOnce('Current go.sum' as any);
./lib/manager/gomod/artifacts.spec.ts:713:    fs.readFile.mockResolvedValueOnce(null as any); // vendor modules filename
./lib/manager/gomod/artifacts.spec.ts:718:    fs.readFile
./lib/manager/pip-compile/artifacts.spec.ts:59:    fs.readFile.mockResolvedValueOnce('content' as any);
./lib/manager/pip-compile/artifacts.spec.ts:61:    fs.readFile.mockReturnValueOnce('content' as any);
./lib/manager/pip-compile/artifacts.spec.ts:74:    fs.readFile.mockResolvedValueOnce('current requirements.txt' as any);
./lib/manager/pip-compile/artifacts.spec.ts:79:    fs.readFile.mockReturnValueOnce('New requirements.txt' as any);
./lib/manager/pip-compile/artifacts.spec.ts:97:    fs.readFile.mockReturnValueOnce('new lock' as any);
./lib/manager/pip-compile/artifacts.spec.ts:110:    fs.readFile.mockResolvedValueOnce('Current requirements.txt' as any);
./lib/manager/pip-compile/artifacts.spec.ts:129:    fs.readFile.mockResolvedValueOnce('Current requirements.txt' as any);
./lib/manager/pip-compile/artifacts.spec.ts:134:    fs.readFile.mockReturnValueOnce('New requirements.txt' as any);
./lib/manager/pip-compile/artifacts.spec.ts:152:    fs.readFile.mockReturnValueOnce('new lock' as any);
./lib/manager/metadata.spec.ts:13:      readme = await fs.readFile(`${__dirname}/${manager}/readme.md`, 'utf8');
./lib/manager/poetry/artifacts.spec.ts:64:    fs.readFile.mockReturnValueOnce('Current poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:66:    fs.readFile.mockReturnValueOnce('Current poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:79:    fs.readFile.mockResolvedValueOnce('[metadata]\n' as never);
./lib/manager/poetry/artifacts.spec.ts:81:    fs.readFile.mockReturnValueOnce('New poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:94:    fs.readFile.mockResolvedValueOnce(null);
./lib/manager/poetry/artifacts.spec.ts:95:    fs.readFile.mockResolvedValueOnce('[metadata]\n' as never);
./lib/manager/poetry/artifacts.spec.ts:97:    fs.readFile.mockReturnValueOnce('New poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:117:    fs.readFile.mockResolvedValueOnce(null);
./lib/manager/poetry/artifacts.spec.ts:118:    fs.readFile.mockResolvedValueOnce('[metadata]\n' as never);
./lib/manager/poetry/artifacts.spec.ts:120:    fs.readFile.mockReturnValueOnce('New poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:134:    fs.readFile.mockResolvedValueOnce('[metadata]\n' as any);
./lib/manager/poetry/artifacts.spec.ts:136:    fs.readFile.mockReturnValueOnce('New poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:159:    fs.readFile.mockResolvedValueOnce(
./lib/manager/poetry/artifacts.spec.ts:163:    fs.readFile.mockReturnValueOnce('New poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:182:    fs.readFile.mockResolvedValueOnce('Current poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:197:    fs.readFile.mockResolvedValueOnce('Old poetry.lock' as any);
./lib/manager/poetry/artifacts.spec.ts:199:    fs.readFile.mockReturnValueOnce('New poetry.lock' as any);
./lib/manager/cocoapods/artifacts.spec.ts:110:    fs.readFile.mockResolvedValueOnce('Current Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:114:    fs.readFile.mockResolvedValueOnce('Current Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:128:    fs.readFile.mockResolvedValueOnce('Old Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:132:    fs.readFile.mockResolvedValueOnce('New Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:146:    fs.readFile.mockResolvedValueOnce('Old Manifest.lock' as any);
./lib/manager/cocoapods/artifacts.spec.ts:147:    fs.readFile.mockResolvedValueOnce('New Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:148:    fs.readFile.mockResolvedValueOnce('Pods manifest' as any);
./lib/manager/cocoapods/artifacts.spec.ts:171:    fs.readFile.mockResolvedValueOnce('Current Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:189:    fs.readFile.mockResolvedValueOnce('Old Podfile.lock' as any);
./lib/manager/cocoapods/artifacts.spec.ts:191:    fs.readFile.mockResolvedValueOnce('Old Podfile.lock' as any);
./lib/manager/cocoapods/artifacts.spec.ts:209:    fs.readFile.mockResolvedValueOnce('COCOAPODS: 1.2.4' as any);
./lib/manager/cocoapods/artifacts.spec.ts:211:    fs.readFile.mockResolvedValueOnce('New Podfile' as any);
./lib/manager/cocoapods/artifacts.spec.ts:234:    fs.readFile.mockResolvedValueOnce('COCOAPODS: 1.2.4' as any);
./lib/manager/cocoapods/artifacts.spec.ts:239:    fs.readFile.mockResolvedValueOnce('New Podfile' as any);
./lib/manager/cargo/artifacts.spec.ts:70:    fs.readFile.mockResolvedValueOnce('Current Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:72:    fs.readFile.mockResolvedValueOnce('Current Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:93:    fs.readFile.mockResolvedValueOnce('New Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:114:    fs.readFile.mockResolvedValueOnce('New Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:139:    fs.readFile.mockResolvedValueOnce('New Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:160:    fs.readFile.mockResolvedValueOnce('New Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:177:    fs.readFile.mockResolvedValueOnce('New Cargo.lock' as any);
./lib/manager/cargo/artifacts.spec.ts:195:    fs.readFile.mockResolvedValueOnce('Current Cargo.lock' as any);
./lib/manager/pip_requirements/artifacts.spec.ts:35:    fs.readFile.mockResolvedValueOnce('eventlet==0.30.2\npbr>=1.9\n' as any);
./lib/manager/pip_requirements/artifacts.spec.ts:46:    fs.readFile.mockResolvedValueOnce(newPackageFileContent as any);
./lib/manager/pip_requirements/artifacts.spec.ts:57:    fs.readFile.mockResolvedValueOnce('new content' as any);
./lib/manager/pip_requirements/artifacts.spec.ts:68:    fs.readFile.mockResolvedValueOnce('new content' as any);
./lib/manager/terraform/lockfile/hash.ts:29:      const fileBuffer = await fs.readFile(file);
./lib/manager/helmv3/artifacts.spec.ts:62:    fs.readFile.mockResolvedValueOnce('Current Chart.lock' as any);
./lib/manager/helmv3/artifacts.spec.ts:64:    fs.readFile.mockResolvedValueOnce('Current Chart.lock' as any);
./lib/manager/helmv3/artifacts.spec.ts:77:    fs.readFile.mockResolvedValueOnce('Old Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:79:    fs.readFile.mockResolvedValueOnce('New Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:95:    fs.readFile.mockResolvedValueOnce('Old Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:97:    fs.readFile.mockResolvedValueOnce('New Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:113:    fs.readFile.mockResolvedValueOnce('Old Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:115:    fs.readFile.mockResolvedValueOnce('New Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:130:    fs.readFile.mockResolvedValueOnce('Current Chart.lock' as any);
./lib/manager/helmv3/artifacts.spec.ts:153:    fs.readFile.mockResolvedValueOnce('Old Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:155:    fs.readFile.mockResolvedValueOnce('New Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:175:    fs.readFile.mockResolvedValueOnce('Old Chart.lock' as never);
./lib/manager/helmv3/artifacts.spec.ts:177:    fs.readFile.mockResolvedValueOnce('New Chart.lock' as never);
./lib/manager/npm/detect.spec.ts:9:      fs.readFile.mockResolvedValueOnce(
./lib/manager/npm/detect.spec.ts:24:      fs.readFile.mockImplementationOnce(() => Promise.reject());
./lib/manager/npm/post-update/pnpm.spec.ts:28:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/pnpm.spec.ts:30:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/pnpm.spec.ts:36:    fs.readFile = jest.fn(() => {
./lib/manager/npm/post-update/pnpm.spec.ts:40:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/pnpm.spec.ts:47:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/pnpm.spec.ts:49:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/pnpm.spec.ts:55:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/pnpm.spec.ts:59:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/pnpm.spec.ts:67:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/pnpm.spec.ts:75:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:27:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:40:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:47:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:59:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:68:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:84:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:85:    expect(fs.readFile).toHaveBeenCalledWith(
./lib/manager/npm/post-update/npm.spec.ts:97:    fs.readFile = jest.fn((_, _1) => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:109:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:110:    expect(fs.readFile).toHaveBeenCalledWith(
./lib/manager/npm/post-update/npm.spec.ts:120:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:129:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:136:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:145:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:152:    fs.readFile = jest.fn(() => {
./lib/manager/npm/post-update/npm.spec.ts:160:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:167:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:173:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:179:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:186:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/npm.spec.ts:192:    fs.readFile = jest.fn(() => 'package-lock-contents') as never;
./lib/manager/npm/post-update/npm.spec.ts:200:    expect(fs.readFile).toHaveBeenCalledTimes(1);
./lib/manager/npm/post-update/yarn.spec.ts:48:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/manager/npm/post-update/yarn.spec.ts:72:      expect(fs.readFile).toHaveBeenCalledTimes(expectedFsCalls);
./lib/manager/npm/post-update/yarn.spec.ts:84:    fs.readFile.mockResolvedValueOnce('package-lock-contents');
./lib/manager/npm/post-update/yarn.spec.ts:102:    fs.readFile.mockResolvedValueOnce('package-lock-contents');
./lib/manager/npm/post-update/yarn.spec.ts:126:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/manager/npm/post-update/yarn.spec.ts:158:      fs.readFile
./lib/manager/npm/post-update/yarn.spec.ts:185:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/manager/npm/post-update/yarn.spec.ts:202:      expect(fs.readFile).toHaveBeenCalledTimes(expectedFsCalls);
./lib/manager/npm/post-update/yarn.spec.ts:219:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/manager/npm/post-update/yarn.spec.ts:249:    fs.readFile.mockResolvedValueOnce(null).mockRejectedValueOnce(() => {
./lib/manager/npm/post-update/yarn.spec.ts:253:    expect(fs.readFile).toHaveBeenCalledTimes(2);
./lib/manager/npm/post-update/yarn.spec.ts:267:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/manager/npm/post-update/yarn.spec.ts:288:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/manager/npm/post-update/yarn.spec.ts:308:      fs.readFile.mockImplementation((filename, encoding) => {
./lib/workers/branch/index.spec.ts:873:      fs.readFile.mockResolvedValueOnce(Buffer.from('modified file content'));
./lib/workers/branch/index.spec.ts:951:      fs.readFile.mockResolvedValueOnce(Buffer.from('modified file content'));
./lib/workers/branch/index.spec.ts:1021:      fs.readFile.mockResolvedValueOnce(Buffer.from('modified file content'));
./lib/workers/branch/index.spec.ts:1097:      fs.readFile
./lib/workers/branch/index.spec.ts:1234:      fs.readFile
  1. Walk through each item of that list and try to replace with fs.readLocalFile where possible.

@rarkins
Copy link
Collaborator Author

rarkins commented Dec 3, 2021

Focus on lib/manager only

@olegkrivtsov
Copy link
Contributor

olegkrivtsov commented Dec 13, 2021

Hi @viceice could you please reopen this since I didn't complete migration for other managers?

@viceice viceice reopened this Dec 13, 2021
@viceice
Copy link
Member

viceice commented Dec 13, 2021

You should avoid the fixes or closes keyword in PR if you don't want to close the related issue. 😉

@renovate-release
Copy link
Collaborator

🎉 This issue has been resolved in version 30.4.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@olegkrivtsov
Copy link
Contributor

@rarkins regarding #13124 (comment)

If we exclude spec.ts files, the only production manager file requiring the change is this one:

./lib/manager/terraform/lockfile/hash.ts:29:      const fileBuffer = await fs.readFile(file);

const fileBuffer = await fs.readFile(file);

But this particular instance can't be fixed because the file is created in /tmp and readLocalFile can't be used here as far as I can see. Maybe this issue can be closed now?

@rarkins
Copy link
Collaborator Author

rarkins commented Dec 15, 2021

I think that is OK. @viceice wdyt?

@viceice
Copy link
Member

viceice commented Dec 15, 2021

OK, but tests should also only mock our fs instead of system fs or fs-extra.

greadle deep can be ignored, as we will remove it soon.

@rarkins rarkins added priority-4-low Low priority, unlikely to be done unless it becomes important to more people and removed priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others labels Dec 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority-4-low Low priority, unlikely to be done unless it becomes important to more people status:in-progress Someone is working on implementation type:refactor Refactoring or improving of existing code
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants