Skip to content

Commit

Permalink
Merge pull request #26762 from mshima/husky
Browse files Browse the repository at this point in the history
update husky to v9.1.1
  • Loading branch information
DanielFran committed Jul 23, 2024
2 parents 1986d2a + 33e6a32 commit f411927
Show file tree
Hide file tree
Showing 27 changed files with 146 additions and 134 deletions.
4 changes: 3 additions & 1 deletion generators/angular/generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,15 @@ export default class AngularGenerator extends BaseApplicationGenerator {

get preparing() {
return this.asPreparingTaskGroup({
applicationDefauts({ applicationDefaults }) {
applicationDefauts({ application, applicationDefaults }) {
applicationDefaults({
__override__: true,
eslintConfigFile: app => `eslint.config.${app.packageJsonType === 'module' ? 'js' : 'mjs'}`,
webappEnumerationsDir: app => `${app.clientSrcDir}app/entities/enumerations/`,
angularLocaleId: app => app.nativeLanguageDefinition.angularLocale ?? defaultLanguage.angularLocale,
});

application.addPrettierExtensions?.(['html', 'css', 'scss']);
},
addNeedles({ source, application }) {
source.addEntitiesToClient = param => {
Expand Down
22 changes: 18 additions & 4 deletions generators/app/__snapshots__/generator.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ Options:
--skip-jhipster-dependencies Don't write jhipster dependencies to package.json.
--creation-timestamp <value> Project creation timestamp (used for reproducible builds)
--jdl-store <value> JDL store
--skip-commit-hook Skip adding husky commit hooks
--prettier-tab-width <value> Default tab width for prettier
--monorepository Use monorepository
--skip-commit-hook Skip adding husky commit hooks
--db <value> Provide DB name for the application when skipping server side generation
--incremental-changelog Creates incremental database changelogs
--skip-user-management Skip the user management module during app generation
Expand Down Expand Up @@ -213,6 +213,7 @@ exports[`generator - app with default config should match snapshot 1`] = `
"SERVER_TEST_SRC_DIR": "src/test/java/",
"TEST_DIR": "src/test/",
"VUE": "vue",
"addPrettierExtensions": [Function],
"addSpringMilestoneRepository": false,
"angularLocaleId": "en",
"anyEntityHasRelationshipWithUser": false,
Expand Down Expand Up @@ -719,10 +720,13 @@ exports[`generator - app with default config should match snapshot 1`] = `
"packageName": "com.mycompany.myapp.web.rest.vm",
},
],
"packageJsonNodeEngine": undefined,
"packageJsonType": "commonjs",
"packageName": "com.mycompany.myapp",
"pages": [],
"prettierConfigFile": ".prettierrc",
"prettierExtensions": "md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss,java",
"prettierExtensions": "md,json,yml,js,cjs,mjs,ts,cts,mts,java,html,css,scss",
"prettierFolders": ",**/",
"prettierJava": undefined,
"prettierTabWidth": 2,
"prodDatabaseDriver": {
Expand Down Expand Up @@ -825,6 +829,7 @@ exports[`generator - app with gateway should match snapshot 1`] = `
"SERVER_TEST_SRC_DIR": "src/test/java/",
"TEST_DIR": "src/test/",
"VUE": "vue",
"addPrettierExtensions": [Function],
"addSpringMilestoneRepository": false,
"angularLocaleId": "en",
"anyEntityHasRelationshipWithUser": false,
Expand Down Expand Up @@ -1327,10 +1332,13 @@ exports[`generator - app with gateway should match snapshot 1`] = `
"packageName": "com.mycompany.myapp.web.rest.vm",
},
],
"packageJsonNodeEngine": undefined,
"packageJsonType": "commonjs",
"packageName": "com.mycompany.myapp",
"pages": [],
"prettierConfigFile": ".prettierrc",
"prettierExtensions": "md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss,java",
"prettierExtensions": "md,json,yml,js,cjs,mjs,ts,cts,mts,java,html,css,scss",
"prettierFolders": ",**/",
"prettierJava": undefined,
"prettierTabWidth": 2,
"prodDatabaseDriver": {
Expand Down Expand Up @@ -1435,6 +1443,7 @@ exports[`generator - app with microservice should match snapshot 1`] = `
"SERVER_TEST_SRC_DIR": "src/test/java/",
"TEST_DIR": "src/test/",
"VUE": "vue",
"addPrettierExtensions": [Function],
"addSpringMilestoneRepository": false,
"anyEntityHasRelationshipWithUser": false,
"applicationType": "microservice",
Expand Down Expand Up @@ -1831,6 +1840,8 @@ exports[`generator - app with microservice should match snapshot 1`] = `
},
"nodeDependencies": {
"concurrently": "CONCURRENTLY_VERSION",
"eslint-config-prettier": "ESLINT_CONFIG_PRETTIER_VERSION",
"eslint-plugin-prettier": "ESLINT_PLUGIN_PRETTIER_VERSION",
"husky": "HUSKY_VERSION",
"lint-staged": "LINT_STAGED_VERSION",
"npm": "NPM_VERSION",
Expand Down Expand Up @@ -1880,10 +1891,13 @@ exports[`generator - app with microservice should match snapshot 1`] = `
"packageName": "com.mycompany.myapp.web.rest.vm",
},
],
"packageJsonNodeEngine": undefined,
"packageJsonType": "commonjs",
"packageName": "com.mycompany.myapp",
"pages": [],
"prettierConfigFile": ".prettierrc",
"prettierExtensions": "md,json,yml,html,java",
"prettierExtensions": "md,json,yml,js,cjs,mjs,ts,cts,mts,java",
"prettierFolders": ",**/",
"prettierJava": undefined,
"prettierTabWidth": 2,
"prodDatabaseDriver": {
Expand Down
15 changes: 8 additions & 7 deletions generators/bootstrap-application/generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,6 @@ export default class BootstrapApplicationGenerator extends BaseApplicationGenera
gatewayServicesApiAvailable: undefined,
});

applicationDefaults({
useNpmWrapper: application => application.clientFrameworkAny && application.backendTypeJavaAny,
documentationArchiveUrl: ({ jhipsterVersion }) =>
`${JHIPSTER_DOCUMENTATION_URL}${JHIPSTER_DOCUMENTATION_ARCHIVE_PATH}v${jhipsterVersion}`,
});

let prettierExtensions = 'md,json,yml,html';
if (application.clientFrameworkAny) {
prettierExtensions = `${prettierExtensions},cjs,mjs,js,ts,tsx,css,scss`;
Expand All @@ -85,7 +79,14 @@ export default class BootstrapApplicationGenerator extends BaseApplicationGenera
if (!application.skipServer) {
prettierExtensions = `${prettierExtensions},java`;
}
application.prettierExtensions = prettierExtensions;

applicationDefaults({
// TODO remove prettierExtensions, moved to prettier generator
prettierExtensions,
useNpmWrapper: application => application.clientFrameworkAny && application.backendTypeJavaAny,
documentationArchiveUrl: ({ jhipsterVersion }) =>
`${JHIPSTER_DOCUMENTATION_URL}${JHIPSTER_DOCUMENTATION_ARCHIVE_PATH}v${jhipsterVersion}`,
});
},
});
}
Expand Down
29 changes: 16 additions & 13 deletions generators/common/__snapshots__/generator.spec.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,13 @@ trim_trailing_whitespace = false
"stateCleared": "modified",
},
".husky/pre-commit": {
"contents": "#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
"$(dirname "$0")/../npmw" exec --no-install lint-staged
"contents": "lint-staged
",
"stateCleared": "modified",
},
".lintstagedrc.cjs": {
"contents": "module.exports = {
'{,**/}*.{md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss,java}': ['prettier --write'],
'{,**/}*.{md,json,yml,js,cjs,mjs,ts,cts,mts}': ['prettier --write'],
};
",
"stateCleared": "modified",
Expand Down Expand Up @@ -111,20 +107,27 @@ This application was generated using JHipster JHIPSTER_VERSION, you can find doc
},
"package.json": {
"contents": "{
"config": {
"default_environment": "prod"
},
"private": true,
"dependencies": {},
"devDependencies": {
"generator-jhipster": "JHIPSTER_VERSION",
"husky": "HUSKY_VERSION",
"lint-staged": "LINT_STAGED_VERSION",
"prettier": "PRETTIER_VERSION",
"prettier-plugin-packagejson": "PRETTIER_PLUGIN_PACKAGEJSON_VERSION",
"prettier-plugin-java": "PRETTIER_PLUGIN_JAVA_VERSION"
"husky": "HUSKY_VERSION",
"lint-staged": "LINT_STAGED_VERSION"
},
"engines": {},
"scripts": {
"prepare": "husky"
}
},
"config": {
"default_environment": "prod"
},
"name": "jhipster",
"version": "0.0.0",
"description": "Description for JHipster",
"license": "UNLICENSED",
"type": "commonjs"
}
",
"stateCleared": "modified",
Expand Down
9 changes: 1 addition & 8 deletions generators/common/command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@ import { JHipsterCommandDefinition } from '../base/api.js';
import { GENERATOR_BOOTSTRAP_APPLICATION_BASE } from '../generator-list.js';

const command: JHipsterCommandDefinition = {
options: {
skipCommitHook: {
description: 'Skip adding husky commit hooks',
type: Boolean,
scope: 'storage',
},
},
configs: {
defaultEnvironment: {
description: 'Default environment for the application',
Expand All @@ -40,7 +33,7 @@ const command: JHipsterCommandDefinition = {
scope: 'storage',
},
},
import: [GENERATOR_BOOTSTRAP_APPLICATION_BASE, 'jhipster:javascript:prettier'],
import: [GENERATOR_BOOTSTRAP_APPLICATION_BASE, 'jhipster:javascript:prettier', 'jhipster:javascript:husky'],
};

export default command;
6 changes: 0 additions & 6 deletions generators/common/files.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,6 @@ export const commonFiles = {
templates: ['sonar-project.properties'],
},
],
commitHooks: [
{
condition: generator => !generator.skipCommitHook,
templates: ['.lintstagedrc.cjs', '.husky/pre-commit'],
},
],
};

export function writeFiles() {
Expand Down
24 changes: 3 additions & 21 deletions generators/common/generator.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ export default class CommonGenerator extends BaseApplicationGenerator {
return this.asComposingTaskGroup({
async composing() {
await this.composeWithJHipster('jhipster:javascript:prettier');
if (!this.jhipsterConfig.skipCommitHook) {
await this.composeWithJHipster('jhipster:javascript:husky');
}
},
});
}
Expand Down Expand Up @@ -225,27 +228,6 @@ export default class CommonGenerator extends BaseApplicationGenerator {
},
});
},
addCommitHookDependencies({ application }) {
if (application.skipCommitHook) return;
this.packageJson.merge({
scripts: {
prepare: 'husky',
},
devDependencies: {
husky: application.nodeDependencies.husky,
'lint-staged': application.nodeDependencies['lint-staged'],
prettier: application.nodeDependencies.prettier,
'prettier-plugin-packagejson': application.nodeDependencies['prettier-plugin-packagejson'],
},
});
if (application.backendTypeJavaAny) {
this.packageJson.merge({
devDependencies: {
'prettier-plugin-java': application.nodeDependencies['prettier-plugin-java'],
},
});
}
},
});
}

Expand Down
2 changes: 0 additions & 2 deletions generators/common/resources/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"devDependencies": {
"concurrently": "8.2.2",
"husky": "9.0.11",
"lint-staged": "15.2.7",
"npm": "10.8.2",
"wait-on": "7.2.0"
}
Expand Down
9 changes: 0 additions & 9 deletions generators/common/templates/.husky/pre-commit.ejs

This file was deleted.

21 changes: 0 additions & 21 deletions generators/common/templates/.lintstagedrc.cjs.ejs

This file was deleted.

3 changes: 3 additions & 0 deletions generators/java/generators/bootstrap/generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ export default class BootstrapGenerator extends BaseApplicationGenerator {

get preparing() {
return this.asPreparingTaskGroup({
applicationDefaults({ application }) {
application.addPrettierExtensions?.(['java']);
},
prepareJavaApplication({ application, source }) {
source.hasJavaProperty = (property: string) => application.javaProperties![property] !== undefined;
source.hasJavaManagedProperty = (property: string) => application.javaManagedProperties![property] !== undefined;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ exports[`generator - javascript:bootstrap customVersion-commonjs should match fi
},
"package.json": {
"contents": "{
"name": "dasherizedBaseName",
"version": "0.0.0",
"description": "projectDescription",
"private": true,
"license": "UNLICENSED",
"dependencies": {},
"devDependencies": {},
"engines": {
"node": "customVersion"
},
"scripts": {},
"name": "dasherizedBaseName",
"version": "0.0.0",
"description": "projectDescription",
"license": "UNLICENSED",
"type": "commonjs"
}
",
Expand All @@ -37,15 +37,15 @@ exports[`generator - javascript:bootstrap packageJsonNodeEngine(false)-module sh
},
"package.json": {
"contents": "{
"name": "dasherizedBaseName",
"version": "0.0.0",
"description": "projectDescription",
"private": true,
"license": "UNLICENSED",
"dependencies": {},
"devDependencies": {},
"engines": {},
"scripts": {},
"name": "dasherizedBaseName",
"version": "0.0.0",
"description": "projectDescription",
"license": "UNLICENSED",
"type": "module"
}
",
Expand All @@ -63,17 +63,17 @@ exports[`generator - javascript:bootstrap packageJsonNodeEngine(true) should mat
},
"package.json": {
"contents": "{
"name": "dasherizedBaseName",
"version": "0.0.0",
"description": "projectDescription",
"private": true,
"license": "UNLICENSED",
"dependencies": {},
"devDependencies": {},
"engines": {
"node": "^18.19.0 || >= 20.6.1"
},
"scripts": {},
"name": "dasherizedBaseName",
"version": "0.0.0",
"description": "projectDescription",
"license": "UNLICENSED",
"type": "commonjs"
}
",
Expand Down
Loading

0 comments on commit f411927

Please sign in to comment.