Skip to content

Commit

Permalink
add check for missing js-controller dep, reuire js-controller 5.0.19
Browse files Browse the repository at this point in the history
  • Loading branch information
mcm1957 committed Jan 11, 2025
1 parent a1a9b0e commit 60c28a8
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 49 deletions.
50 changes: 6 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,68 +33,62 @@ npx @iobroker/repochecker https://github.com/ioBroker/ioBroker.javascript --loca
-->

## Changelog
### 3.2.2 (2024-11-01)
### **WORK IN PROGRESS**
- (mcm1957) An error is issued if js-controller dependency is missing.
- (mcm1957) Required js-controller has been increased to 5.0.19.
- (mcm1957) Recommended js-controller version is omitted if identical to required one.


### 3.2.2 (2024-11-01)
- (mcm1957) Link to open issues has been corrected.
- (mcm1957) Component name added to resonsive check issues.

### 3.2.1 (2024-11-01)

- (mcm1957) Size checking for "divider" and "staticImage" supended.

### 3.2.0 (2024-11-01)

- (oweitman) Script has been extended to use optionally local data for checking.
- (mcm1957) Warning if i18n is not used has been fixed [#324].
- (mcm1957) Check for importent issues has been added.
- (mcm1957) Checking of jsonConfig (initially) added.

### 3.1.4 (2024-10-26)

- (mcm1957) linter has been activated and issues reported have been fixed.
- (mcm1957) Blacklist for package/dependencies has been extended.
- (mcm1957) Recommend adapter-core 3.2.2 now.
- (mcm1957) Clearify test for "[E952] .npmignore not found". [#320]
- (mcm1957) Abort processing if iobroker.live not reachable. [#321]

### 3.1.3 (2024-10-11)

- (mcm1957) Checker no longer crash id no npm package exists.

### 3.1.2 (2024-10-04)

- (mcm1957) Require node 18 minimum as engines clause.

### 3.1.1 (2024-10-04)

- (mcm1957) "[E166] 'common.mode: extension' is unknown" has been fixed [#308]
- (mcm1957) "[E904] file iob_npm.done found in repository, but not found in .gitignore" removed as covered by [E503]. [#309]
- (mcm1957) "[E500] node_modules found" has been retricted to adapetr root. [#297]
- (mcm1957) Do not check main entry if common.mode none or extension.
- (mcm1957) Change "[W113] Adapter should support compact mode" text and honor common.compact set to false. [#300]

### 3.1.0 (2024-09-29)

- (mcm1957) "@iobroker/plugin-sentry" blacklisted as dependency [#301]
- (mcm1957) Accept .ts files as main file too. [#303]
- (mcm1957) [E405] and [E426] incorrect path has been corrected. [#299]

### 3.0.7 (2024-09-19)

- (mcm1957) "[W523] 'package-lock.json"'not found in repo!" reduced to suggestion. [#298]

### 3.0.6 (2024-09-13)

- (mcm1957) "[E124] Main file not found" no longer raised if common.nogit is set
- (mcm1957) 'Text of "common.main" is deprecated' has been adapted. [#266]
- (mcm1957) Ignore errors caused by complex .gitignor/.npmignore. [#288]

### 3.0.5 (2024-09-13)

- (mcm1957) '@iobroker/dev-server' is valid as dev-dependency. [#260]

### 3.0.4 (2024-09-12)

- (mcm1957) Abort with incorrect dependency definition fixed [#287]
- (mcm1957) Improve handling of malformed dependency definitions [#284]
- (mcm1957) Improve handling of malformed .releaseconfig.json files [#283]
Expand All @@ -104,47 +98,39 @@ npx @iobroker/repochecker https://github.com/ioBroker/ioBroker.javascript --loca
- (mcm1957) Do no longer require a js-controller dependecy for wwwOnly adapters. [#250]

### 3.0.3 (2024-09-12)

- (mcm1957) Check for iob_npm.done at .npmignore has been removed [#294]

### 3.0.2 (2024-09-11)

- (mcm1957) Handling of missing LICENSE file corrected. [#282]
- (mcm1957) [W126] Missing mandatory translation is error now. [#293]
- (mcm1957) Record repochcker version used for tests.
- (mcm1957) Record github commit-sha of last commit used for tests.

### 3.0.0 (2024-09-10)

- (mcm1957) Error and warning numbering has been reviewed and duplicates removed.
- (mcm1957) index.js has been split into seperated modules.

### 2.10.0 (2024-08-19)

- (mcm1957) Suggestions ([Sxxx] have been added).

### 2.9.1 (2024-08-12)

- (mcm1957) E162 - correct dependency check for js-controller. [#267].
- (mcm1957) E605 - copyright year range including whitespaces is now accepted. [#269].
- (mcm1957) E016 - missing vaiableexpansion has been added. [#263].
- (mcm1957) E114 - typo at error message has been fixed [#261].

### 2.9.0 (2024-07-29)

- (mcm1957) Adapt text if sources-dist(-stable).json need a correction [#97].
- (mcm1957) Missing "common.mode" error text corrected [#249].
- (mcm1957) Files "iob" and "iobroker" are disallowed now [#248].
- (mcm1957) Checks related to @alcalzone/releasescript modified [#71].
- (mcm1957) Text of E114 (missing adminUI) adapted.

### 2.8.1 (2024-07-28)

- (mcm1957) Check of js-controller version has been corrected [#247].
- (mcm1957) Honor '>' at dependency checks too [#246].

### 2.8.0 (2024-07-28)

- (mcm1957) Copyright year check has been fixed for single year entries.
- (mcm1957) js-controller version check added [#233].
- (mcm1957) Check for fixed version dependencies and for github dependencies [#233].
Expand All @@ -154,15 +140,12 @@ npx @iobroker/repochecker https://github.com/ioBroker/ioBroker.javascript --loca
- (mcm1957) "common.noConfig" must match "common.adminUI" setting [#170].

### 2.7.2 (2024-07-26)

- (mcm1957) package-lock.json check fixed.

### 2.7.1 (2024-07-26)

- (mcm1957) Reduce setTimeout/setInterval error to warning temporary.

### 2.7.0 (2024-07-26)

- (mcm1957) Some non trivial keywords related to adapter are enforced now [#234].
- (mcm1957) Severity if [E105] / [W105] has been corrected [#204].
- (mcm1957) Disallow 'globalDependencies' at package.json [#204].
Expand All @@ -176,36 +159,29 @@ npx @iobroker/repochecker https://github.com/ioBroker/ioBroker.javascript --loca
- (mcm1957) Copyright year now honors commit year and npm publish year too [#237].

### 2.6.1 (2024-06-24)

- (mcm1957) Check "[W156] Adapter should support admin 5 UI (jsonConfig)" checks for reactUi now.

### 2.6.0 (2024-06-24)

- (mcm1957) Check has been aded to ensure keywords and common.keywords are present. [#200]
- (mcm1957) Detection of react has been added, gulpfile.js is accepted for react based UIs now. [#223]

### 2.5.1 (2024-06-24)

- (mcm1957) Suggestion to update dependencies to recommended version added.
- (mcm1957) Adapter-core recommended set to 3.1.6 [#220]

### 2.5.0 (2024-05-30)

- (mcm1957) Check to ensure that dependency revisions are available at repository added. [#180]

### 2.4.0 (2024-05-30)

- (mcm1957) Add check to protect sensitive data. [#195]
- (mcm1957) Add check to verify that dependencies and globalDepencies are of type array. [#90]

### 2.3.1 (2024-05-07)

- (mcm1957) Reduce number of missing translation warnings.
- (mcm1957) Seperate between required and recommended translations.
- (mcm1957) Log missing translations in detail.

### 2.3.0 (2024-05-07)

- (mcm1957) Elements marked as deprectaed added to blacklist.
- (mcm1957) Blacklist added to block elements at package.json and io-package.json.
- (mcm1957) Error [E000] will be raised now if repository cannot be accessed at all [#194].
Expand All @@ -214,16 +190,13 @@ npx @iobroker/repochecker https://github.com/ioBroker/ioBroker.javascript --loca
- (mcm1957) Raise an error if version at package.json is lower than latest release at npmjs [#192]

### 2.2.3 (2024-03-29)

- (mcm1957) Checking of license has been improved

### 2.2.2 (2024-03-29)

- (mcm1957) Checking of adapter-core has been fixed
- (mcm1957) Load all potential interesting files, fixes [#149]

### 2.2.1 (2024-03-26)

- (mcm1957) Added check that own adapter is not listed at common.restartAdapters
- (mcm1957) Added check of version strings at common.news
- (mcm1957) Added check for recommended node version (node 18 for now)
Expand All @@ -232,51 +205,40 @@ npx @iobroker/repochecker https://github.com/ioBroker/ioBroker.javascript --loca
- (mcm1957) Added check for adapter-core version (>= 3.0.6)

### 2.2.0 (2024-03-24)

- (klein0r) Added check for licenseInformation
- (klein0r) Added check for deprecated license
- (klein0r) Added check for required attribute common.tier
- (klein0r) Added check for disallowed attribute common.automaticUpgrade

### 2.1.13 (2024-01-02)

- (bluefox) Corrected rule W156: adminUI.config === 'none' is allowed

### 2.1.12 (2023-09-21)

- (bluefox) Added check of using '\_' in adapter name

### 2.1.11 (2023-09-05)

- (bluefox) Added check of iobroker.js-controller in dependencies

### 2.1.7 (2023-08-14)

- (mcm57) Update index.js - fix typo in error message (packet.json)
- (mcm57) Update index.js - renumber E504/1 to 519 - fixes #112

### 2.1.6 (2022-12-08)

- (bluefox) added better error logging

### 2.1.5 (2022-12-07)

- (bluefox) added check of `.releaseconfig.json` file

### 2.1.4 (2022-08-19)

- (bluefox) Added check for adapter name: it may not start with '\_'

### 2.1.2 (2022-07-14)

- (bluefox) Fixed some errors

### 2.1.0 (2022-05-26)

- (bluefox) Added support for jsonConfig.json5 and jsonCustom.json5

### 2.0.5 (2022-05-22)

- (bluefox) Made it possible to run with npx

## License
Expand Down
26 changes: 21 additions & 5 deletions lib/M100_IOPackageJson.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ async function getIOPackageJson(context) {
}

const recommendedJsControllerVersion = '5.0.19';
let requiredJsControllerVersion = '4.0.24';
let requiredJsControllerVersion = '5.0.19';

const blacklistIOPackageJson = {
installedFrom: {
Expand Down Expand Up @@ -519,15 +519,28 @@ async function checkIOPackageJson(context) {
}
} else {
if (!context.ioPackageJson.common.onlyWWW) {
context.errors.push(`[E162] js-controller dependency missing. js-controller ${requiredJsControllerVersion} is required as minimum, ${recommendedJsControllerVersion} is recommended. Please add to dependencies at io-package.json.`);
if (requiredJsControllerVersion !== recommendedJsControllerVersion) {
context.errors.push(`[E162] js-controller dependency missing. js-controller ${requiredJsControllerVersion} is required as minimum, ${recommendedJsControllerVersion} is recommended. Please add to dependencies at io-package.json.`);
} else {
context.errors.push(`[E162] js-controller dependency missing. js-controller ${requiredJsControllerVersion} is required as minimum. Please add to dependencies at io-package.json.`);
}
}
}
}
} else {
if (!context.ioPackageJson.common.onlyWWW) {
context.errors.push(`[E185] "common.dependencies" must be an array at io-package.json`);
if (requiredJsControllerVersion !== recommendedJsControllerVersion) {
context.errors.push(`[E162] js-controller dependency missing. js-controller ${requiredJsControllerVersion} is required as minimum, ${recommendedJsControllerVersion} is recommended. Please add to dependencies at io-package.json.`);
} else {
context.errors.push(`[E162] js-controller dependency missing. js-controller ${requiredJsControllerVersion} is required as minimum. Please add to dependencies at io-package.json.`);
}
}
}

/*
increase dependency as required by addition features
*/
*/
if (context.ioPackageJson && context.ioPackageJson.common && context.ioPackageJson.common.supportedMessges) {
requiredJsControllerVersion = common.maxVersion(requiredJsControllerVersion, '5.0.18');
}
Expand All @@ -537,7 +550,11 @@ async function checkIOPackageJson(context) {


if (currentJsControllerVersion && compareVersions.compare(requiredJsControllerVersion, currentJsControllerVersion, '>')) {
context.errors.push(`[E157] js-controller ${currentJsControllerVersion} listed as dependency but ${requiredJsControllerVersion} is required as minimum, ${recommendedJsControllerVersion} is recommended. Please update dependency at io-package.json.`);
if (requiredJsControllerVersion !== recommendedJsControllerVersion) {
context.errors.push(`[E157] js-controller ${currentJsControllerVersion} listed as dependency but ${requiredJsControllerVersion} is required as minimum, ${recommendedJsControllerVersion} is recommended. Please update dependency at io-package.json.`);
} else {
context.errors.push(`[E157] js-controller ${currentJsControllerVersion} listed as dependency but ${requiredJsControllerVersion} is required as minimum. Please update dependency at io-package.json.`);
}
} else if (currentJsControllerVersion && compareVersions.compare(recommendedJsControllerVersion, currentJsControllerVersion, '>')) {
context.warnings.push(`[W156] js-controller ${currentJsControllerVersion} listed as dependency but ${recommendedJsControllerVersion} is recommended. Please consider updating dependency at io-package.json.`);
}
Expand All @@ -553,7 +570,6 @@ async function checkIOPackageJson(context) {
context.errors.push(`[E161] "js-controller" is not allowed in common.globalDependencies`);
}
}

}


Expand Down

0 comments on commit 60c28a8

Please sign in to comment.