Skip to content

Commit 40febb5

Browse files
authored
feat: add validations for dhis2 package.json files (#47)
* feat: add validations for dhis2 package.json files * fix: clean up code a bit * fix: only do husky checks on root packages * feat: add fine-grained style setup * feat: check for publish access and autofix if possible * chore: run pkg check * refactor: minimize the amount of json parsing * refactor: format json when writing * chore: trigger apply * feat: add validate command * fix: do not add publish config to root dir * refactor: remove package subcommand * fix: use specific options for validation * refactor: add space where needed * refactor: add groups directory * refactor: use the groups directory for config * refactor: add all to the groups * refactor: use singular for consistency * refactor: use force to overwrite configs
1 parent 3dcd3c4 commit 40febb5

26 files changed

+719
-46
lines changed

.commitlintrc.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
extends: ['@commitlint/config-conventional'],
3+
}

.dependabot/config.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 1
2+
3+
update_configs:
4+
- package_manager: "javascript"
5+
directory: "/"
6+
update_schedule: "live"
7+
default_assignees:
8+
- @dhis2/front-end
9+
version_requirement_updates: "increase_versions"
10+
- package_manager: "java:maven"
11+
directory: "/"
12+
update_schedule: "monthly"
13+
- package_manager: "docker"
14+
directory: "/"
15+
update_schedule: "weekly"
16+
- package_manager: "submodules"
17+
directory: "/"
18+
update_schedule: "weekly"
File renamed without changes.

config/github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 1
2+
3+
update_configs:
4+
- package_manager: "javascript"
5+
directory: "/"
6+
update_schedule: "live"
7+
default_assignees:
8+
- @dhis2/front-end
9+
version_requirement_updates: "increase_versions"
10+
- package_manager: "java:maven"
11+
directory: "/"
12+
update_schedule: "monthly"
13+
- package_manager: "docker"
14+
directory: "/"
15+
update_schedule: "weekly"
16+
- package_manager: "submodules"
17+
directory: "/"
18+
update_schedule: "weekly"

config/github/stale.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_extends: .github
File renamed without changes.

config/js/eslint.config.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
const SEVERITY = 2
2+
3+
module.exports = {
4+
root: true,
5+
6+
parser: 'babel-eslint',
7+
8+
env: {
9+
browser: true,
10+
node: true,
11+
jest: true,
12+
},
13+
14+
parserOptions: {
15+
// latest standard is ok, eq. to 9
16+
ecmaVersion: 2018,
17+
ecmaFeatures: {
18+
jsx: true,
19+
modules: true,
20+
},
21+
},
22+
23+
rules: {
24+
'max-params': [
25+
SEVERITY,
26+
{
27+
max: 3,
28+
},
29+
],
30+
'prefer-const': [
31+
SEVERITY,
32+
{
33+
destructuring: 'any',
34+
ignoreReadBeforeAssign: false,
35+
},
36+
],
37+
'no-mixed-spaces-and-tabs': [SEVERITY],
38+
},
39+
}
File renamed without changes.

package.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@
1919
"@commitlint/read": "^7.6.0",
2020
"@dhis2/cli-helpers-engine": "1.2.1",
2121
"babel-eslint": "^10.0.1",
22+
"chalk": "^2.4.2",
2223
"eslint": "^5.16.0",
24+
"fs-extra": "^8.0.1",
2325
"perfy": "^1.1.5",
2426
"prettier": "^1.15.3",
27+
"semver": "^6.0.0",
2528
"yargs": "^13.1.0"
2629
},
2730
"devDependencies": {
@@ -30,7 +33,10 @@
3033
"husky": {
3134
"hooks": {
3235
"commit-msg": "./bin/d2-style commit check",
33-
"pre-commit": "./bin/d2-style js apply"
36+
"pre-commit": "./bin/d2-style validate js package --fix"
3437
}
38+
},
39+
"publishConfig": {
40+
"access": "public"
3541
}
3642
}

src/cmds/js_cmds/apply.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ exports.handler = argv => {
3838
report.summarize()
3939

4040
if (report.hasViolations) {
41+
log.error(
42+
`${report.violations.length} file(s) violate the code standard.`
43+
)
4144
process.exit(1)
4245
}
4346

0 commit comments

Comments
 (0)