MediaWiki REL1_31
jsparse.php
Go to the documentation of this file.
1<?php
24require_once __DIR__ . '/Maintenance.php';
25
32 public $errs = 0;
33
34 public function __construct() {
35 parent::__construct();
36 $this->addDescription( 'Runs parsing/syntax checks on JavaScript files' );
37 $this->addArg( 'file(s)', 'JavaScript file to test', false );
38 }
39
40 public function execute() {
41 if ( $this->hasArg() ) {
42 $files = $this->mArgs;
43 } else {
44 $this->maybeHelp( true ); // @todo fixme this is a lame API :)
45 exit( 1 ); // it should exit from the above first...
46 }
47
48 $parser = new JSParser();
49 foreach ( $files as $filename ) {
50 Wikimedia\suppressWarnings();
51 $js = file_get_contents( $filename );
52 Wikimedia\restoreWarnings();
53 if ( $js === false ) {
54 $this->output( "$filename ERROR: could not read file\n" );
55 $this->errs++;
56 continue;
57 }
58
59 try {
60 $parser->parse( $js, $filename, 1 );
61 } catch ( Exception $e ) {
62 $this->errs++;
63 $this->output( "$filename ERROR: " . $e->getMessage() . "\n" );
64 continue;
65 }
66
67 $this->output( "$filename OK\n" );
68 }
69
70 if ( $this->errs > 0 ) {
71 exit( 1 );
72 }
73 }
74}
75
76$maintClass = JSParseHelper::class;
77require_once RUN_MAINTENANCE_IF_MAIN;
Maintenance script to test JavaScript validity using JsMinPlus' parser.
Definition jsparse.php:31
execute()
Do the actual work.
Definition jsparse.php:40
__construct()
Default constructor.
Definition jsparse.php:34
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
addArg( $arg, $description, $required=true)
Add some args that are needed.
hasArg( $argId=0)
Does a given argument exist?
addDescription( $text)
Set the description text.
maybeHelp( $force=false)
Maybe show the help.
design txt This is a brief overview of the new design More thorough and up to date information is available on the documentation wiki at etc Handles the details of getting and saving to the user table of the and dealing with sessions and cookies OutputPage Encapsulates the entire HTML page that will be sent in response to any server request It is used by calling its functions to add in any and then calling output() to send it all. It could be easily changed to send incrementally if that becomes useful
do that in ParserLimitReportFormat instead $parser
Definition hooks.txt:2603
returning false will NOT prevent logging $e
Definition hooks.txt:2176
$maintClass
Definition jsparse.php:76
require_once RUN_MAINTENANCE_IF_MAIN