Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
grunt-banana-checker
Advanced tools
Readme
Checker for the 'Banana' JSON-file format for interface messages, as used by MediaWiki and jQuery.i18n.
By default, Banana checker asserts the following:
@metadata
object.For all available options, see the Options section.
You can use Banana checker standalone, or as Grunt plugin.
To use this plugin, add it as a development dependency to your project:
npm install grunt-banana-checker --save-dev
Ensure your project has a Gruntfile.js file (example file). Then, in Gruntfile.js, add the line:
grunt.loadNpmTasks( 'grunt-banana-checker' );
In Gruntfile.js, add a configuation key for banana
and set it to an empty object.
We will use this object to declare which directory contains the interface messages. For example, to enable grunt-banana-checker for a single directory only, configure it like so:
grunt.initConfig( { banana: { all: 'i18n/' } } );
You can also configure multiple directories, like so:
grunt.initConfig( { banana: { core: 'languages/i18n/', installer: 'includes/installer/i18n/' } } );
You can also use globbing patterns and/or arrays of directories, like so:
grunt.initConfig( { banana: { all: 'modules/ve-{mw,wmf}/i18n/' } } );
For a full list of supported ways of defining the target directory of a Grunt plugin, see Configuring tasks on gruntjs.com.
To customise the options for Banana checker, define your target directory as an object instead of a string, with src
and options
properties, like so:
grunt.initConfig( { banana: { all: { src: 'i18n/', options: { sourceFile: 'messages.json', documentationFile: 'documentation.json' } } } } );
For all available options, see the Options section.
The Banana checker also offers a command-line interface.
npm install grunt-banana-checker --save-dev
To use Banana checker as part of your test run, refer to the banana-checker
program from the scripts.test
property in your package.json
file.
{ "scripts": { "test": "banana-checker i18n/" } }
To set custom options, pass parameters as --key=value
pairs. For example:
npx banana-checker --requireKeyPrefix="x-" i18n/
0
, 1
, true
, or false
.--key=one,two
.For edge cases, you can set some path options:
Type: string
Default value: "en.json"
The JSON file providing the primary messages.
Type: string
Default value: "qqq.json"
The JSON file providing the documentation messages.
Type: boolean
Default value: true
Whether to fail if message files don't have a @metadata
meta-data key.
Type: boolean
Default value: true
Whether to fail if any message is in the primary file but not documented.
Type: boolean
Default value: true
Whether to fail if any message is in the primary file but documented as a blank string.
Type: boolean
or "initial"
Default value: true
Whether to fail if any message key is not lower case. If set to "initial"
, fail only if the first
character is not lower case.
Type: string
or string[]
Default value: []
Whether to fail if any message key is not prefixed by the given prefix, or if multiple, one of the given prefices.
Type: boolean
Default value: true
Whether to fail if any documented message isn't in the primary file.
Type: boolean
Default value: true
Whether to fail if any message is translated as a blank string.
Type: boolean
Default value: false
Whether to fail if any message is translated as identical to the original string.
Type: boolean
Default value: false
Whether to fail if any translated message isn't in the primary file.
Type: boolean
Default value: false
Whether to fail if any translated message fails to use a parameter used in the primary message.
Type: string[]
Default value: []
Example value: [ 'fr', 'es' ]
Languages on which to fail if any message in the primary file is missing.
Type: string[]
Default value: []
Example value: [ 'first-message-key', 'third-message-key' ]
Messages on which to fail if missing in any provided language.
Type: boolean
Default value: true
Whether to ignore missing translations whose original string is blank.
Type: boolean
Default value: true
Whether to ignore leading whitespace in original or translated messages.
Type: boolean
Default value: false
Whether to ignore trailing whitespace in original or translated messages.
FAQs
Checker for the 'Banana' JSON-file format for interface messages, as used by MediaWiki and jQuery.i18n.
The npm package grunt-banana-checker receives a total of 14,462 weekly downloads. As such, grunt-banana-checker popularity was classified as popular.
We found that grunt-banana-checker demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 26 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.