Skip to content
Snippets Groups Projects
Commit eacd2b25 authored by Rhys Arkins's avatar Rhys Arkins
Browse files

refactor: check if npm enabled before detecting files

parent 7c17c666
Branches
No related tags found
No related merge requests found
...@@ -239,6 +239,8 @@ async function detectPackageFiles(input) { ...@@ -239,6 +239,8 @@ async function detectPackageFiles(input) {
const config = { ...input }; const config = { ...input };
const { logger } = config; const { logger } = config;
logger.trace({ config }, 'detectPackageFiles'); logger.trace({ config }, 'detectPackageFiles');
config.types = {};
if (config.npm.enabled !== false) {
config.packageFiles = await config.api.findFilePaths('package.json'); config.packageFiles = await config.api.findFilePaths('package.json');
logger.debug( logger.debug(
{ packageFiles: config.packageFiles }, { packageFiles: config.packageFiles },
...@@ -273,7 +275,8 @@ async function detectPackageFiles(input) { ...@@ -273,7 +275,8 @@ async function detectPackageFiles(input) {
message: `Skipped package.json files found within ignored paths: \`${skippedPackageFiles}\``, message: `Skipped package.json files found within ignored paths: \`${skippedPackageFiles}\``,
}); });
logger.debug( logger.debug(
`Now have ${config.packageFiles.length} package file(s) after filtering` `Now have ${config.packageFiles
.length} package file(s) after filtering`
); );
} }
} }
...@@ -283,19 +286,29 @@ async function detectPackageFiles(input) { ...@@ -283,19 +286,29 @@ async function detectPackageFiles(input) {
config.packageFiles = ['package.json']; config.packageFiles = ['package.json'];
} }
} }
if (config.packageFiles.length) {
config.types['javascript'] = true;
}
}
if (config.meteor.enabled) { if (config.meteor.enabled) {
const meteorPackageFiles = await config.api.findFilePaths( const meteorPackageFiles = await config.api.findFilePaths(
'package.js', 'package.js',
'Npm.depends' 'Npm.depends'
); );
logger.info(`Found ${meteorPackageFiles.length} meteor package files`); logger.info(`Found ${meteorPackageFiles.length} meteor package files`);
if (meteorPackageFiles.length) {
config.types['meteor'] = true;
config.packageFiles = config.packageFiles.concat(meteorPackageFiles); config.packageFiles = config.packageFiles.concat(meteorPackageFiles);
} }
}
if (config.docker.enabled) { if (config.docker.enabled) {
const dockerFiles = await config.api.findFilePaths('Dockerfile'); const dockerFiles = await config.api.findFilePaths('Dockerfile');
logger.info(`Found ${dockerFiles.length} Dockerfiles`); logger.info(`Found ${dockerFiles.length} Dockerfiles`);
if (dockerFiles.length) {
config.types['docker'] = true;
config.packageFiles = config.packageFiles.concat(dockerFiles); config.packageFiles = config.packageFiles.concat(dockerFiles);
} }
}
return config; return config;
} }
......
...@@ -60,6 +60,10 @@ Array [ ...@@ -60,6 +60,10 @@ Array [
exports[`workers/repository/apis detectPackageFiles(config) ignores node modules 1`] = ` exports[`workers/repository/apis detectPackageFiles(config) ignores node modules 1`] = `
Array [ Array [
"package.json", "package.json",
"package.json",
"node_modules/backend/package.json",
"package.json",
"node_modules/backend/package.json",
] ]
`; `;
......
...@@ -274,9 +274,6 @@ describe('workers/repository/apis', () => { ...@@ -274,9 +274,6 @@ describe('workers/repository/apis', () => {
api: { api: {
findFilePaths: jest.fn(), findFilePaths: jest.fn(),
}, },
meteor: {
enabled: true,
},
logger, logger,
warnings: [], warnings: [],
}; };
...@@ -284,6 +281,8 @@ describe('workers/repository/apis', () => { ...@@ -284,6 +281,8 @@ describe('workers/repository/apis', () => {
config.api.findFilePaths.mockReturnValueOnce([ config.api.findFilePaths.mockReturnValueOnce([
'modules/something/package.js', 'modules/something/package.js',
]); ]);
config.api.findFilePaths.mockReturnValueOnce([]);
config.meteor.enabled = true;
const res = await apis.detectPackageFiles(config); const res = await apis.detectPackageFiles(config);
expect(res.packageFiles).toMatchSnapshot(); expect(res.packageFiles).toMatchSnapshot();
}); });
...@@ -293,14 +292,13 @@ describe('workers/repository/apis', () => { ...@@ -293,14 +292,13 @@ describe('workers/repository/apis', () => {
api: { api: {
findFilePaths: jest.fn(), findFilePaths: jest.fn(),
}, },
docker: {
enabled: true,
},
logger, logger,
warnings: [], warnings: [],
}; };
config.api.findFilePaths.mockReturnValueOnce(['package.json']); config.api.findFilePaths.mockReturnValueOnce(['package.json']);
config.api.findFilePaths.mockReturnValueOnce([]);
config.api.findFilePaths.mockReturnValueOnce(['Dockerfile']); config.api.findFilePaths.mockReturnValueOnce(['Dockerfile']);
config.docker.enabled = true;
const res = await apis.detectPackageFiles(config); const res = await apis.detectPackageFiles(config);
expect(res.packageFiles).toMatchSnapshot(); expect(res.packageFiles).toMatchSnapshot();
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment