From 8ed32bc9258d30f523562a94205b786e3da93e88 Mon Sep 17 00:00:00 2001 From: GuilleW Date: Mon, 7 Nov 2022 00:43:04 +0100 Subject: [PATCH 1/4] remove helper --- spec/spec-helper.coffee | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 spec/spec-helper.coffee diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee deleted file mode 100644 index 58ad7eb4..00000000 --- a/spec/spec-helper.coffee +++ /dev/null @@ -1,18 +0,0 @@ -auth = require '../lib/auth' - -global.silenceOutput = (callThrough = false) -> - spyOn(console, 'log') - spyOn(console, 'error') - spyOn(process.stdout, 'write') - spyOn(process.stderr, 'write') - - if callThrough - spy.andCallThrough() for spy in [ - console.log, - console.error, - process.stdout.write, - process.stderr.write - ] - -global.spyOnToken = -> - spyOn(auth, 'getToken').andCallFake (callback) -> callback(null, 'token') From e36c1261218322db2bb13b0ee8c9813aa66cadc9 Mon Sep 17 00:00:00 2001 From: GuilleW Date: Tue, 8 Nov 2022 11:16:32 +0100 Subject: [PATCH 2/4] decaffeinate spec/clean-spec --- spec/clean-spec.coffee | 90 ------------------------------------------ spec/clean-spec.js | 84 ++++++++++++++------------------------- 2 files changed, 30 insertions(+), 144 deletions(-) delete mode 100644 spec/clean-spec.coffee diff --git a/spec/clean-spec.coffee b/spec/clean-spec.coffee deleted file mode 100644 index 3159ee98..00000000 --- a/spec/clean-spec.coffee +++ /dev/null @@ -1,90 +0,0 @@ -path = require 'path' -fs = require 'fs-plus' -temp = require 'temp' -express = require 'express' -http = require 'http' -wrench = require 'wrench' -apm = require '../lib/apm-cli' -nodeVersion = require('./config.json').nodeVersion - -describe 'apm clean', -> - [moduleDirectory, server] = [] - - beforeEach -> - silenceOutput() - spyOnToken() - - app = express() - - app.get "/node/#{nodeVersion}/node-#{nodeVersion}-headers.tar.gz", (request, response) -> - response.sendFile path.join(__dirname, 'fixtures', 'node-dist', "node-#{nodeVersion}-headers.tar.gz") - app.get "/node/#{nodeVersion}/win-x86/node.lib", (request, response) -> - response.sendFile path.join(__dirname, 'fixtures', 'node-dist', 'node.lib') - app.get "/node/#{nodeVersion}/win-x64/node.lib", (request, response) -> - response.sendFile path.join(__dirname, 'fixtures', 'node-dist', 'node_x64.lib') - app.get "/node/#{nodeVersion}/SHASUMS256.txt", (request, response) -> - response.sendFile path.join(__dirname, 'fixtures', 'node-dist', 'SHASUMS256.txt') - app.get '/test-module', (request, response) -> - response.sendFile path.join(__dirname, 'fixtures', 'install-test-module.json') - app.get '/tarball/test-module-1.2.0.tgz', (request, response) -> - response.sendFile path.join(__dirname, 'fixtures', 'test-module-1.2.0.tgz') - - server = http.createServer(app) - - live = false - server.listen 3000, '127.0.0.1', -> - console.log "Server started" - atomHome = temp.mkdirSync('apm-home-dir-') - process.env.ATOM_HOME = atomHome - process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node" - process.env.ATOM_ELECTRON_VERSION = nodeVersion - process.env.npm_config_registry = 'http://localhost:3000/' - - moduleDirectory = path.join(temp.mkdirSync('apm-test-module-'), 'test-module-with-dependencies') - wrench.copyDirSyncRecursive(path.join(__dirname, 'fixtures', 'test-module-with-dependencies'), moduleDirectory) - process.chdir(moduleDirectory) - live = true - waitsFor -> live - - afterEach -> - done = false - server.close -> done = true - waitsFor -> done - - it 'uninstalls any packages not referenced in the package.json', -> - removedPath = path.join(moduleDirectory, 'node_modules', 'will-be-removed') - fs.makeTreeSync(removedPath) - fs.writeFileSync( - path.join(removedPath, 'package.json'), - '{"name": "will-be-removed", "version": "1.0.0", "dependencies": {}}', - 'utf8' - ) - - callback = jasmine.createSpy('callback') - apm.run(['clean'], callback) - - waitsFor 'waiting for command to complete', -> - callback.callCount > 0 - - runs -> - expect(callback.mostRecentCall.args[0]).toBeUndefined() - expect(fs.existsSync(removedPath)).toBeFalsy() - - it 'uninstalls a scoped package', -> - removedPath = path.join(moduleDirectory, 'node_modules/@types/atom') - fs.makeTreeSync(removedPath) - fs.writeFileSync( - path.join(removedPath, 'package.json'), - '{"name": "@types/atom", "version": "1.0.0", "dependencies": {}}', - 'utf8' - ) - - callback = jasmine.createSpy('callback') - apm.run(['clean'], callback) - - waitsFor 'waiting for command to complete', -> - callback.callCount > 0 - - runs -> - expect(callback.mostRecentCall.args[0]).toBeUndefined() - expect(fs.existsSync(removedPath)).toBeFalsy() diff --git a/spec/clean-spec.js b/spec/clean-spec.js index 9dc214c2..33641445 100644 --- a/spec/clean-spec.js +++ b/spec/clean-spec.js @@ -1,9 +1,3 @@ -/* - * decaffeinate suggestions: - * DS101: Remove unnecessary use of Array.from - * DS102: Remove unnecessary code created because of implicit returns - * Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md - */ const path = require('path'); const fs = require('fs-plus'); const temp = require('temp'); @@ -11,88 +5,70 @@ const express = require('express'); const http = require('http'); const wrench = require('wrench'); const apm = require('../lib/apm-cli'); -const { - nodeVersion -} = require('./config.json'); +const { nodeVersion } = JSON.parse(fs.readFileSync('./config.json')); -describe('apm clean', function() { - let [moduleDirectory, server] = Array.from([]); +describe('apm clean', () => { + let server, moduleDirectory; - beforeEach(function() { + beforeEach(() => { silenceOutput(); spyOnToken(); const app = express(); app.get(`/node/${nodeVersion}/node-${nodeVersion}-headers.tar.gz`, (request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', `node-${nodeVersion}-headers.tar.gz`))); - app.get(`/node/${nodeVersion}/win-x86/node.lib`, (request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', 'node.lib'))); - app.get(`/node/${nodeVersion}/win-x64/node.lib`, (request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', 'node_x64.lib'))); - app.get(`/node/${nodeVersion}/SHASUMS256.txt`, (request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', 'SHASUMS256.txt'))); - app.get('/test-module', (request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'install-test-module.json'))); - app.get('/tarball/test-module-1.2.0.tgz', (request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'test-module-1.2.0.tgz'))); - + app.get(`/node/${nodeVersion}/win-x86/node.lib`, (_request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', 'node.lib'))); + app.get(`/node/${nodeVersion}/win-x64/node.lib`, (_request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', 'node_x64.lib'))); + app.get(`/node/${nodeVersion}/SHASUMS256.txt`, (_request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'node-dist', 'SHASUMS256.txt'))); + app.get('/test-module', (_request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'install-test-module.json'))); + app.get('/tarball/test-module-1.2.0.tgz', (_request, response) => response.sendFile(path.join(__dirname, 'fixtures', 'test-module-1.2.0.tgz'))); server = http.createServer(app); - let live = false; - server.listen(3000, '127.0.0.1', function() { - console.log("Server started"); - const atomHome = temp.mkdirSync('apm-home-dir-'); - process.env.ATOM_HOME = atomHome; - process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"; + server.listen(3000, '127.0.0.1', () => { + console.log('Server started'); + process.env.ATOM_HOME = temp.mkdirSync('apm-home-dir-'); + process.env.ATOM_ELECTRON_URL = 'http://localhost:3000/node'; process.env.ATOM_ELECTRON_VERSION = nodeVersion; process.env.npm_config_registry = 'http://localhost:3000/'; - moduleDirectory = path.join(temp.mkdirSync('apm-test-module-'), 'test-module-with-dependencies'); wrench.copyDirSyncRecursive(path.join(__dirname, 'fixtures', 'test-module-with-dependencies'), moduleDirectory); process.chdir(moduleDirectory); - return live = true; + live = true; }); - return waitsFor(() => live); - }); + waitsFor(() => live); + }) - afterEach(function() { - let done = false; - server.close(() => done = true); - return waitsFor(() => done); + afterEach(() => { + let done = false + server.close(() => { + done = true; + }); + waitsFor(() => done); }); - it('uninstalls any packages not referenced in the package.json', function() { + it('uninstalls any packages not referenced in the package.json', () => { const removedPath = path.join(moduleDirectory, 'node_modules', 'will-be-removed'); fs.makeTreeSync(removedPath); - fs.writeFileSync( - path.join(removedPath, 'package.json'), - '{"name": "will-be-removed", "version": "1.0.0", "dependencies": {}}', - 'utf8' - ); - + fs.writeFileSync(path.join(removedPath, 'package.json'), '{"name": "will-be-removed", "version": "1.0.0", "dependencies": {}}', 'utf8'); const callback = jasmine.createSpy('callback'); apm.run(['clean'], callback); - waitsFor('waiting for command to complete', () => callback.callCount > 0); - - return runs(function() { + runs(() => { expect(callback.mostRecentCall.args[0]).toBeUndefined(); - return expect(fs.existsSync(removedPath)).toBeFalsy(); + expect(fs.existsSync(removedPath)).toBeFalsy(); }); }); - return it('uninstalls a scoped package', function() { + it('uninstalls a scoped package', () => { const removedPath = path.join(moduleDirectory, 'node_modules/@types/atom'); fs.makeTreeSync(removedPath); - fs.writeFileSync( - path.join(removedPath, 'package.json'), - '{"name": "@types/atom", "version": "1.0.0", "dependencies": {}}', - 'utf8' - ); - + fs.writeFileSync(path.join(removedPath, 'package.json'), '{"name": "@types/atom", "version": "1.0.0", "dependencies": {}}', 'utf8'); const callback = jasmine.createSpy('callback'); apm.run(['clean'], callback); - waitsFor('waiting for command to complete', () => callback.callCount > 0); - - return runs(function() { + runs(() => { expect(callback.mostRecentCall.args[0]).toBeUndefined(); - return expect(fs.existsSync(removedPath)).toBeFalsy(); + expect(fs.existsSync(removedPath)).toBeFalsy(); }); }); }); From c116ec87a7e436705580565c38d3eedf83e0d96e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Polg=C3=A1r=20M=C3=A1rton?= Date: Sat, 8 Apr 2023 15:56:10 +0200 Subject: [PATCH 3/4] Config file needs to be resolved relative to the file location --- spec/clean-spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/clean-spec.js b/spec/clean-spec.js index 33641445..8262a75a 100644 --- a/spec/clean-spec.js +++ b/spec/clean-spec.js @@ -5,7 +5,7 @@ const express = require('express'); const http = require('http'); const wrench = require('wrench'); const apm = require('../lib/apm-cli'); -const { nodeVersion } = JSON.parse(fs.readFileSync('./config.json')); +const { nodeVersion } = JSON.parse(fs.readFileSync(path.join(__dirname, 'config.json'))); describe('apm clean', () => { let server, moduleDirectory; From e379a6527891b3654b0dfb84571a847cb11a3620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Polg=C3=A1r=20M=C3=A1rton?= Date: Sat, 20 May 2023 14:30:18 +0200 Subject: [PATCH 4/4] Bring back indentation for writing into package.json --- spec/clean-spec.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/spec/clean-spec.js b/spec/clean-spec.js index 8262a75a..1e83da0a 100644 --- a/spec/clean-spec.js +++ b/spec/clean-spec.js @@ -49,7 +49,12 @@ describe('apm clean', () => { it('uninstalls any packages not referenced in the package.json', () => { const removedPath = path.join(moduleDirectory, 'node_modules', 'will-be-removed'); fs.makeTreeSync(removedPath); - fs.writeFileSync(path.join(removedPath, 'package.json'), '{"name": "will-be-removed", "version": "1.0.0", "dependencies": {}}', 'utf8'); + fs.writeFileSync( + path.join(removedPath, 'package.json'), + '{"name": "will-be-removed", "version": "1.0.0", "dependencies": {}}', + 'utf8' + ); + const callback = jasmine.createSpy('callback'); apm.run(['clean'], callback); waitsFor('waiting for command to complete', () => callback.callCount > 0); @@ -62,7 +67,12 @@ describe('apm clean', () => { it('uninstalls a scoped package', () => { const removedPath = path.join(moduleDirectory, 'node_modules/@types/atom'); fs.makeTreeSync(removedPath); - fs.writeFileSync(path.join(removedPath, 'package.json'), '{"name": "@types/atom", "version": "1.0.0", "dependencies": {}}', 'utf8'); + fs.writeFileSync( + path.join(removedPath, 'package.json'), + '{"name": "@types/atom", "version": "1.0.0", "dependencies": {}}', + 'utf8' + ); + const callback = jasmine.createSpy('callback'); apm.run(['clean'], callback); waitsFor('waiting for command to complete', () => callback.callCount > 0);