Talk:Parsoid

Jump to navigation Jump to search

About this board

Couldn't resolve host name (curl error: 6) but able to curl MediaWiki fine

2
Summary by Arlolra

User disappeared

FireAmpersand (talkcontribs)

Not sure if I should be posting here or on the visualeditor page, but I can't for the life of me get Parsaoid/VisualEditor working.

Here is some info about my setup:

- Host: Centos 8

- Docker Installed and MediaWiki is running on that with 80->80

- MediaWiki is a private wiki

- Parsaoid is installed on the host and mapped to 8001 (Default had a conflict with container already in use)

- VisualEditor is installed and throws no error other then the one in the title.


Now I have gone through the following pages to try to troubleshoot my issue:

Parsoid/Troubleshooting

Extension:VisualEditor#Linking with Parsoid in private wikis


Currently I can curl the api through Parsoid and get values through a private wiki but within mediawiki, I can not edit with visual editor.


LocalSetting.php


<?php

# This file was automatically generated by the MediaWiki 1.34.0

# installer. If you make manual changes, please keep track in case you

# need to recreate them later.

#

# See includes/DefaultSettings.php for all configurable settings

# and their default values, but don't forget to make changes in _this_

# file, not there.

#

# Further documentation for configuration settings may be found at:

# https://www.mediawiki.org/wiki/Manual:Configuration_settings

# Protect against web entry

if ( !defined( 'MEDIAWIKI' ) ) {

Β  Β exit;

}

## Uncomment this to disable output compression

# $wgDisableOutputCompression = true;

$wgSitename = "FireAmpersand Documentation";

$wgMetaNamespace = "FireAmpersand_Documentation";

## The URL base path to the directory containing the wiki;

## defaults for all runtime URL paths are based off of this.

## For more information on customizing the URLs

## (like /w/index.php/Page_title to /wiki/Page_title) please see:

## https://www.mediawiki.org/wiki/Manual:Short_URL

$wgScriptPath = "";

## The protocol and server name to use in fully-qualified URLs

$wgServer = "http://bumblebee.fireampersand.ca";

## The URL path to static resources (images, scripts, etc.)

$wgResourceBasePath = $wgScriptPath;

## The URL path to the logo.Β  Make sure you change this from the default,

## or else you'll overwrite your logo when you upgrade!

$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";

## UPO means: this is also a user preference option

$wgEnableEmail = false;

$wgEnableUserEmail = true; # UPO

$wgEmergencyContact = "apache@🌻.invalid";

$wgPasswordSender = "apache@🌻.invalid";

$wgEnotifUserTalk = false; # UPO

$wgEnotifWatchlist = false; # UPO

$wgEmailAuthentication = true;

## Database settings

$wgDBtype = "sqlite";

$wgDBserver = "";

$wgDBname = "my_wiki";

$wgDBuser = "";

$wgDBpassword = "";

# SQLite-specific settings

$wgSQLiteDataDir = "/var/www/data";

$wgObjectCaches[CACHE_DB] = [

Β  Β 'class' => SqlBagOStuff::class,

Β  Β 'loggroup' => 'SQLBagOStuff',

Β  Β 'server' => [

Β  Β  Β  Β 'type' => 'sqlite',

Β  Β  Β  Β 'dbname' => 'wikicache',

Β  Β  Β  Β 'tablePrefix' => '',

Β  Β  Β  Β 'variables' => [ 'synchronous' => 'NORMAL' ],

Β  Β  Β  Β 'dbDirectory' => $wgSQLiteDataDir,

Β  Β  Β  Β 'trxMode' => 'IMMEDIATE',

Β  Β  Β  Β 'flags' => 0

Β  Β ]

];

$wgLocalisationCacheConf['storeServer'] = [

Β  Β 'type' => 'sqlite',

Β  Β 'dbname' => "{$wgDBname}_l10n_cache",

Β  Β 'tablePrefix' => '',

Β  Β 'variables' => [ 'synchronous' => 'NORMAL' ],

Β  Β 'dbDirectory' => $wgSQLiteDataDir,

Β  Β 'trxMode' => 'IMMEDIATE',

Β  Β 'flags' => 0

];

$wgJobTypeConf['default'] = [

Β  Β 'class' => 'JobQueueDB',

Β  Β 'claimTTL' => 3600,

Β  Β 'server' => [

Β  Β  Β  Β 'type' => 'sqlite',

Β  Β  Β  Β 'dbname' => "{$wgDBname}_jobqueue",

Β  Β  Β  Β 'tablePrefix' => '',

Β  Β  Β  Β 'variables' => [ 'synchronous' => 'NORMAL' ],

Β  Β  Β  Β 'dbDirectory' => $wgSQLiteDataDir,

Β  Β  Β  Β 'trxMode' => 'IMMEDIATE',

Β  Β  Β  Β 'flags' => 0

Β  Β ]

];

## Shared memory settings

$wgMainCacheType = CACHE_ACCEL;

$wgMemCachedServers = [];

## To enable image uploads, make sure the 'images' directory

## is writable, then set this to true:

$wgEnableUploads = true;

$wgUseImageMagick = true;

$wgImageMagickConvertCommand = "/usr/bin/convert";

# InstantCommons allows wiki to use images from https://commons.wikimedia.org

$wgUseInstantCommons = false;

# Periodically send a pingback to https://www.mediawiki.org/ with basic data

# about this MediaWiki instance. The Wikimedia Foundation shares this data

# with MediaWiki developers to help guide future development efforts.

$wgPingback = false;

## If you use ImageMagick (or any other shell command) on a

## Linux server, this will need to be set to the name of an

## available UTF-8 locale

$wgShellLocale = "C.UTF-8";

## Set $wgCacheDirectory to a writable directory on the web server

## to make your wiki go slightly faster. The directory should not

## be publicly accessible from the web.

#$wgCacheDirectory = "$IP/cache";

# Site language code, should be one of the list in ./languages/data/Names.php

$wgLanguageCode = "en-ca";

$wgSecretKey = "d8f1a050a167350916861d1c65c428ec2e15ef1ddde8c3d305533350dd83f480";

# Changing this will log out all existing sessions.

$wgAuthenticationTokenVersion = "1";

# Site upgrade key. Must be set to a string (default provided) to turn on the

# web installer while LocalSettings.php is in place

$wgUpgradeKey = "364ffa43b8516e75";

## For attaching licensing metadata to pages, and displaying an

## appropriate copyright notice / icon. GNU Free Documentation

## License and Creative Commons licenses are supported so far.

$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright

$wgRightsUrl = "";

$wgRightsText = "";

$wgRightsIcon = "";

# Path to the GNU diff3 utility. Used for conflict resolution.

$wgDiff3 = "/usr/bin/diff3";

# The following permissions were set based on your choice in the installer

$wgGroupPermissions['*']['createaccount'] = false;

$wgGroupPermissions['*']['edit'] = false;

$wgGroupPermissions['*']['read'] = false;

## Default skin: you can change the default skin. Use the internal symbolic

## names, ie 'vector', 'monobook':

$wgDefaultSkin = "vector";

# Enabled skins.

# The following skins were automatically enabled:

wfLoadSkin( 'MonoBook' );

wfLoadSkin( 'Timeless' );

wfLoadSkin( 'Vector' );

# End of automatically generated settings.

# Add more configuration options below.

#Extensions

# VisualEditor

wfLoadExtension( 'VisualEditor' );

$wgDefaultUserOptions['visualeditor-enable'] = 1;

$wgHiddenPrefs[] = 'visualeditor-enable';

#Parsoid Connection

$wgVirtualRestConfig['modules']['parsoid'] = array(

Β Β  #URL to the Parsoid instance

Β Β  'url' => 'http://bumblebee.fireampersand.ca:8001',

Β Β  'domain' => 'localhost',

Β Β  'prefix' => 'localhost'

Β Β  );

//$wgSessionsInObjectCache = true;

//$wgVirtualRestConfig['modules']['parsoid']['forwardCookies'] = true;

if ( $_SERVER['REMOTE_ADDR'] == '172.17.0.1'){

Β  Β $wgGroupPermissions['*']['read'] = true;

Β  Β $wgGroupPermissions['*']['edit'] = true;

};

ini_set('error_log','/tmp/php-error.log');

error_log($_SERVER['REMOTE_ADDR']);



Any help would be apreciated, been working on this since last night.

Arlolra (talkcontribs)

Error in the npm test for the parsoid folder?

6
Summary by Arlolra

Follow CentOS step-by-step

Pdwangchao (talkcontribs)

I installed the parsoid and run the "npm install", everything is OK. But when I use the npm test ,Error occoured. Anyone knows the reason or give some advise?

the log file is below:

0 info it worked if it ends with ok

1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'nsp' ]

2 info using npm@5.4.0

3 info using node@v6.11.2

4 verbose run-script [ 'prensp', 'nsp', 'postnsp' ]

5 info lifecycle parsoid@0.7.1~prensp: parsoid@0.7.1

6 info lifecycle parsoid@0.7.1~nsp: parsoid@0.7.1

7 verbose lifecycle parsoid@0.7.1~nsp: unsafe-perm in lifecycle true

8 verbose lifecycle parsoid@0.7.1~nsp: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/data/wwwroot/default/mediawiki/services/parsoid/node_modules/.bin:/usr/local/lib/node_modules/npm/bin/node-gyp-bin:/data/wwwroot/default/mediawiki/services/parsoid/node_modules/.bin:/usr/local/php/bin:/usr/local/apache/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

9 verbose lifecycle parsoid@0.7.1~nsp: CWD: /data/wwwroot/default/mediawiki/services/parsoid

10 silly lifecycle parsoid@0.7.1~nsp: Args: [ '-c', 'nsp check' ]

11 silly lifecycle parsoid@0.7.1~nsp: Returned: code: 1 Β signal: null

12 info lifecycle parsoid@0.7.1~nsp: Failed to exec nsp script

13 verbose stack Error: parsoid@0.7.1 nsp: `nsp check`

13 verbose stack Exit status 1

13 verbose stack Β  Β  at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:280:16)

13 verbose stack Β  Β  at emitTwo (events.js:106:13)

13 verbose stack Β  Β  at EventEmitter.emit (events.js:191:7)

13 verbose stack Β  Β  at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)

13 verbose stack Β  Β  at emitTwo (events.js:106:13)

13 verbose stack Β  Β  at ChildProcess.emit (events.js:191:7)

13 verbose stack Β  Β  at maybeClose (internal/child_process.js:891:16)

13 verbose stack Β  Β  at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

14 verbose pkgid parsoid@0.7.1

15 verbose cwd /data/wwwroot/default/mediawiki/services/parsoid

16 verbose Linux 3.10.0-514.26.2.el7.x86_64

17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "nsp"

18 verbose node v6.11.2

19 verbose npm Β v5.4.0

20 error code ELIFECYCLE

21 error errno 1

22 error parsoid@0.7.1 nsp: `nsp check`

22 error Exit status 1

23 error Failed at the parsoid@0.7.1 nsp script.

23 error This is probably not a problem with npm. There is likely additional logging output above.

24 verbose exit [ 1, true ]

Arlolra (talkcontribs)

Are there any warnings of missing packages when you run npm ls?

nsp check makes a request to nodesecurity.io, is that being rejected by a firewall or something>

Pdwangchao (talkcontribs)

Hi Arlolra

Thanks for your reply!

Yes, it exists.

when I use "npm ls", the output is below. I google for it but have no idea. when I run the "nsp check", nothing happened. Then I ran it again and the output is "bash: nsp: command not found..."

By the way, I install the parsoid by git clone method, and install the nodejs by yum method(v6.11.1) and then the make method(v6.11.2).

npm ls:

parsoid@0.7.1 /data/wwwroot/default/mediawiki/services/parsoid

β”œβ”€β”€ alea@0.0.9

β”œβ”€β”€ async@0.9.2

β”œβ”€β”¬ babybird@0.0.1

β”‚ β”œβ”€β”€ asap@2.0.5

β”‚ └── is-arguments@1.0.2

β”œβ”€β”¬ body-parser@1.17.1

β”‚ β”œβ”€β”€ bytes@2.4.0

β”‚ β”œβ”€β”€ content-type@1.0.2

β”‚ β”œβ”€β”¬ debug@2.6.1

β”‚ β”‚ └── ms@0.7.2

β”‚ β”œβ”€β”€ depd@1.1.0

β”‚ β”œβ”€β”¬ http-errors@1.6.1

β”‚ β”‚ β”œβ”€β”€ depd@1.1.0 deduped

β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3

β”‚ β”‚ β”œβ”€β”€ setprototypeof@1.0.3 deduped

β”‚ β”‚ └── statuses@1.3.1 deduped

β”‚ β”œβ”€β”€ iconv-lite@0.4.15

β”‚ β”œβ”€β”¬ on-finished@2.3.0

β”‚ β”‚ └── ee-first@1.1.1

β”‚ β”œβ”€β”€ qs@6.4.0

β”‚ β”œβ”€β”¬ raw-body@2.2.0

β”‚ β”‚ β”œβ”€β”€ bytes@2.4.0 deduped

β”‚ β”‚ β”œβ”€β”€ iconv-lite@0.4.15 deduped

β”‚ β”‚ └── unpipe@1.0.0 deduped

β”‚ └─┬ type-is@1.6.15

β”‚ Β  β”œβ”€β”€ media-typer@0.3.0

β”‚ Β  └── mime-types@2.1.15 deduped

β”œβ”€β”¬ chai@3.5.0

β”‚ β”œβ”€β”€ assertion-error@1.0.2

β”‚ β”œβ”€β”¬ deep-eql@0.1.3

β”‚ β”‚ └── type-detect@0.1.1

β”‚ └── type-detect@1.0.0

β”œβ”€β”€ colors@1.1.2

β”œβ”€β”¬ compression@1.6.2

β”‚ β”œβ”€β”¬ accepts@1.3.3

β”‚ β”‚ β”œβ”€β”€ mime-types@2.1.15 deduped

β”‚ β”‚ └── negotiator@0.6.1 deduped (git+https://github.com/arlolra/negotiator.git#0418ab4e9a665772b7e233564a4525c9d9a8ec3a)

β”‚ β”œβ”€β”€ bytes@2.3.0

β”‚ β”œβ”€β”¬ compressible@2.0.10

β”‚ β”‚ └── mime-db@1.27.0

β”‚ β”œβ”€β”¬ debug@2.2.0

β”‚ β”‚ └── ms@0.7.1

β”‚ β”œβ”€β”€ on-headers@1.0.1

β”‚ └── vary@1.1.1

β”œβ”€β”¬ connect-busboy@0.0.2

β”‚ └─┬ busboy@0.2.14

β”‚ Β  β”œβ”€β”¬ dicer@0.2.5

β”‚ Β  β”‚ β”œβ”€β”€ readable-stream@1.1.14 deduped

β”‚ Β  β”‚ └── streamsearch@0.1.2

β”‚ Β  └─┬ readable-stream@1.1.14

β”‚ Β  Β  β”œβ”€β”€ core-util-is@1.0.2

β”‚ Β  Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ Β  Β  β”œβ”€β”€ isarray@0.0.1

β”‚ Β  Β  └── string_decoder@0.10.31

β”œβ”€β”€ content-type@1.0.1 (git+https://github.com/wikimedia/content-type.git#47b2632d0a2ee79a7d67268e2f6621becd95d05b)

β”œβ”€β”€ core-js@2.4.1

β”œβ”€β”¬ coveralls@2.13.0

β”‚ β”œβ”€β”¬ js-yaml@3.6.1

β”‚ β”‚ β”œβ”€β”€ argparse@1.0.9 deduped

β”‚ β”‚ └── esprima@2.7.3

β”‚ β”œβ”€β”€ lcov-parse@0.0.10

β”‚ β”œβ”€β”€ log-driver@1.2.5

β”‚ β”œβ”€β”€ minimist@1.2.0

β”‚ └─┬ request@2.79.0

β”‚ Β  β”œβ”€β”€ aws-sign2@0.6.0 deduped

β”‚ Β  β”œβ”€β”€ aws4@1.6.0 deduped

β”‚ Β  β”œβ”€β”€ caseless@0.11.0

β”‚ Β  β”œβ”€β”€ combined-stream@1.0.5 deduped

β”‚ Β  β”œβ”€β”€ extend@3.0.0 deduped

β”‚ Β  β”œβ”€β”€ forever-agent@0.6.1 deduped

β”‚ Β  β”œβ”€β”€ form-data@2.1.2 deduped

β”‚ Β  β”œβ”€β”¬ har-validator@2.0.6

β”‚ Β  β”‚ β”œβ”€β”€ chalk@1.1.3 deduped

β”‚ Β  β”‚ β”œβ”€β”¬ commander@2.9.0

β”‚ Β  β”‚ β”‚ └── graceful-readlink@1.0.1

β”‚ Β  β”‚ β”œβ”€β”€ is-my-json-valid@2.16.0 deduped

β”‚ Β  β”‚ └─┬ pinkie-promise@2.0.1

β”‚ Β  β”‚ Β  └── pinkie@2.0.4

β”‚ Β  β”œβ”€β”€ hawk@3.1.3 deduped

β”‚ Β  β”œβ”€β”€ http-signature@1.1.1 deduped

β”‚ Β  β”œβ”€β”€ is-typedarray@1.0.0 deduped

β”‚ Β  β”œβ”€β”€ isstream@0.1.2 deduped

β”‚ Β  β”œβ”€β”€ json-stringify-safe@5.0.1 deduped

β”‚ Β  β”œβ”€β”€ mime-types@2.1.15 deduped

β”‚ Β  β”œβ”€β”€ oauth-sign@0.8.2 deduped

β”‚ Β  β”œβ”€β”€ qs@6.3.2

β”‚ Β  β”œβ”€β”€ stringstream@0.0.5 deduped

β”‚ Β  β”œβ”€β”€ tough-cookie@2.3.2 deduped

β”‚ Β  β”œβ”€β”€ tunnel-agent@0.4.3

β”‚ Β  └── uuid@3.0.1

β”œβ”€β”€ diff@1.4.0

β”œβ”€β”€ domino@1.0.28

β”œβ”€β”€ entities@1.1.1

β”œβ”€β”¬ eslint@3.19.0

β”‚ β”œβ”€β”¬ babel-code-frame@6.22.0

β”‚ β”‚ β”œβ”€β”€ chalk@1.1.3 deduped

β”‚ β”‚ β”œβ”€β”€ esutils@2.0.2 deduped

β”‚ β”‚ └── js-tokens@3.0.1

β”‚ β”œβ”€β”¬ chalk@1.1.3

β”‚ β”‚ β”œβ”€β”€ ansi-styles@2.2.1

β”‚ β”‚ β”œβ”€β”€ escape-string-regexp@1.0.5

β”‚ β”‚ β”œβ”€β”¬ has-ansi@2.0.0

β”‚ β”‚ β”‚ └── ansi-regex@2.1.1 deduped

β”‚ β”‚ β”œβ”€β”¬ strip-ansi@3.0.1

β”‚ β”‚ β”‚ └── ansi-regex@2.1.1 deduped

β”‚ β”‚ └── supports-color@2.0.0

β”‚ β”œβ”€β”¬ concat-stream@1.6.0

β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”œβ”€β”¬ readable-stream@2.2.9

β”‚ β”‚ β”‚ β”œβ”€β”€ buffer-shims@1.0.0

β”‚ β”‚ β”‚ β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ β”‚ β”œβ”€β”€ process-nextick-args@1.0.7

β”‚ β”‚ β”‚ β”œβ”€β”¬ string_decoder@1.0.0

β”‚ β”‚ β”‚ β”‚ └── buffer-shims@1.0.0 deduped

β”‚ β”‚ β”‚ └── util-deprecate@1.0.2

β”‚ β”‚ └── typedarray@0.0.6

β”‚ β”œβ”€β”€ debug@2.6.1 deduped

β”‚ β”œβ”€β”¬ doctrine@2.0.0

β”‚ β”‚ β”œβ”€β”€ esutils@2.0.2 deduped

β”‚ β”‚ └── isarray@1.0.0

β”‚ β”œβ”€β”¬ escope@3.6.0

β”‚ β”‚ β”œβ”€β”¬ es6-map@0.1.5

β”‚ β”‚ β”‚ β”œβ”€β”¬ d@1.0.0

β”‚ β”‚ β”‚ β”‚ └── es5-ext@0.10.15 deduped

β”‚ β”‚ β”‚ β”œβ”€β”¬ es5-ext@0.10.15

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ es6-iterator@2.0.1 deduped

β”‚ β”‚ β”‚ β”‚ └── es6-symbol@3.1.1 deduped

β”‚ β”‚ β”‚ β”œβ”€β”¬ es6-iterator@2.0.1

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ d@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ es5-ext@0.10.15 deduped

β”‚ β”‚ β”‚ β”‚ └── es6-symbol@3.1.1 deduped

β”‚ β”‚ β”‚ β”œβ”€β”¬ es6-set@0.1.5

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ d@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ es5-ext@0.10.15 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ es6-iterator@2.0.1 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ es6-symbol@3.1.1 deduped

β”‚ β”‚ β”‚ β”‚ └── event-emitter@0.3.5 deduped

β”‚ β”‚ β”‚ β”œβ”€β”¬ es6-symbol@3.1.1

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ d@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ └── es5-ext@0.10.15 deduped

β”‚ β”‚ β”‚ └─┬ event-emitter@0.3.5

β”‚ β”‚ β”‚ Β  β”œβ”€β”€ d@1.0.0 deduped

β”‚ β”‚ β”‚ Β  └── es5-ext@0.10.15 deduped

β”‚ β”‚ β”œβ”€β”¬ es6-weak-map@2.0.2

β”‚ β”‚ β”‚ β”œβ”€β”€ d@1.0.0 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ es5-ext@0.10.15 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ es6-iterator@2.0.1 deduped

β”‚ β”‚ β”‚ └── es6-symbol@3.1.1 deduped

β”‚ β”‚ β”œβ”€β”¬ esrecurse@4.1.0

β”‚ β”‚ β”‚ β”œβ”€β”€ estraverse@4.1.1

β”‚ β”‚ β”‚ └── object-assign@4.1.1 deduped

β”‚ β”‚ └── estraverse@4.2.0

β”‚ β”œβ”€β”¬ espree@3.4.2

β”‚ β”‚ β”œβ”€β”€ acorn@5.0.3

β”‚ β”‚ └─┬ acorn-jsx@3.0.1

β”‚ β”‚ Β  └── acorn@3.3.0

β”‚ β”œβ”€β”¬ esquery@1.0.0

β”‚ β”‚ └── estraverse@4.2.0

β”‚ β”œβ”€β”€ estraverse@4.2.0

β”‚ β”œβ”€β”€ esutils@2.0.2

β”‚ β”œβ”€β”¬ file-entry-cache@2.0.0

β”‚ β”‚ β”œβ”€β”¬ flat-cache@1.2.2

β”‚ β”‚ β”‚ β”œβ”€β”€ circular-json@0.3.1

β”‚ β”‚ β”‚ β”œβ”€β”¬ del@2.2.2

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ globby@5.0.0

β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ array-union@1.0.2

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── array-uniq@1.0.3

β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ arrify@1.0.1

β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ glob@7.1.1

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ fs.realpath@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ inflight@1.0.6 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ minimatch@3.0.3 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ once@1.4.0 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── path-is-absolute@1.0.1 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ object-assign@4.1.1 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pify@2.3.0 deduped

β”‚ β”‚ β”‚ β”‚ β”‚ └── pinkie-promise@2.0.1 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ is-path-cwd@1.0.0

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ is-path-in-cwd@1.0.0

β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ is-path-inside@1.0.0

β”‚ β”‚ β”‚ β”‚ β”‚ Β  └── path-is-inside@1.0.2 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ object-assign@4.1.1 deduped

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pify@2.3.0

β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ pinkie-promise@2.0.1 deduped

β”‚ β”‚ β”‚ β”‚ └─┬ rimraf@2.6.1

β”‚ β”‚ β”‚ β”‚ Β  └─┬ glob@7.1.1

β”‚ β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ fs.realpath@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ inflight@1.0.6 deduped

β”‚ β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ minimatch@3.0.3 deduped

β”‚ β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ once@1.4.0 deduped

β”‚ β”‚ β”‚ β”‚ Β  Β  └── path-is-absolute@1.0.1 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ graceful-fs@4.1.11 deduped

β”‚ β”‚ β”‚ └─┬ write@0.2.1

β”‚ β”‚ β”‚ Β  └── mkdirp@0.5.1 deduped

β”‚ β”‚ └── object-assign@4.1.1

β”‚ β”œβ”€β”¬ glob@7.1.1

β”‚ β”‚ β”œβ”€β”€ fs.realpath@1.0.0

β”‚ β”‚ β”œβ”€β”¬ inflight@1.0.6

β”‚ β”‚ β”‚ β”œβ”€β”€ once@1.4.0 deduped

β”‚ β”‚ β”‚ └── wrappy@1.0.2 deduped

β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”œβ”€β”¬ minimatch@3.0.3

β”‚ β”‚ β”‚ └─┬ brace-expansion@1.1.6

β”‚ β”‚ β”‚ Β  β”œβ”€β”€ balanced-match@0.4.2

β”‚ β”‚ β”‚ Β  └── concat-map@0.0.1

β”‚ β”‚ β”œβ”€β”€ once@1.4.0 deduped

β”‚ β”‚ └── path-is-absolute@1.0.1

β”‚ β”œβ”€β”€ globals@9.17.0

β”‚ β”œβ”€β”€ ignore@3.2.7

β”‚ β”œβ”€β”€ imurmurhash@0.1.4

β”‚ β”œβ”€β”¬ inquirer@0.12.0

β”‚ β”‚ β”œβ”€β”€ ansi-escapes@1.4.0

β”‚ β”‚ β”œβ”€β”€ ansi-regex@2.1.1

β”‚ β”‚ β”œβ”€β”€ chalk@1.1.3 deduped

β”‚ β”‚ β”œβ”€β”¬ cli-cursor@1.0.2

β”‚ β”‚ β”‚ └─┬ restore-cursor@1.0.1

β”‚ β”‚ β”‚ Β  β”œβ”€β”€ exit-hook@1.1.1

β”‚ β”‚ β”‚ Β  └── onetime@1.1.0

β”‚ β”‚ β”œβ”€β”€ cli-width@2.1.0

β”‚ β”‚ β”œβ”€β”¬ figures@1.7.0

β”‚ β”‚ β”‚ β”œβ”€β”€ escape-string-regexp@1.0.5 deduped

β”‚ β”‚ β”‚ └── object-assign@4.1.1 deduped

β”‚ β”‚ β”œβ”€β”€ lodash@4.17.4

β”‚ β”‚ β”œβ”€β”¬ readline2@1.0.1

β”‚ β”‚ β”‚ β”œβ”€β”€ code-point-at@1.1.0 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ is-fullwidth-code-point@1.0.0 deduped

β”‚ β”‚ β”‚ └── mute-stream@0.0.5

β”‚ β”‚ β”œβ”€β”¬ run-async@0.1.0

β”‚ β”‚ β”‚ └── once@1.4.0 deduped

β”‚ β”‚ β”œβ”€β”€ rx-lite@3.1.2

β”‚ β”‚ β”œβ”€β”€ string-width@1.0.2 deduped

β”‚ β”‚ β”œβ”€β”€ strip-ansi@3.0.1 deduped

β”‚ β”‚ └── through@2.3.8

β”‚ β”œβ”€β”¬ is-my-json-valid@2.16.0

β”‚ β”‚ β”œβ”€β”€ generate-function@2.0.0

β”‚ β”‚ β”œβ”€β”¬ generate-object-property@1.2.0

β”‚ β”‚ β”‚ └── is-property@1.0.2

β”‚ β”‚ β”œβ”€β”€ jsonpointer@4.0.1

β”‚ β”‚ └── xtend@4.0.1

β”‚ β”œβ”€β”¬ is-resolvable@1.0.0

β”‚ β”‚ └── tryit@1.0.3

β”‚ β”œβ”€β”€ js-yaml@3.8.3 deduped

β”‚ β”œβ”€β”¬ json-stable-stringify@1.0.1

β”‚ β”‚ └── jsonify@0.0.0

β”‚ β”œβ”€β”¬ levn@0.3.0

β”‚ β”‚ β”œβ”€β”€ prelude-ls@1.1.2

β”‚ β”‚ └─┬ type-check@0.3.2

β”‚ β”‚ Β  └── prelude-ls@1.1.2 deduped

β”‚ β”œβ”€β”€ lodash@4.17.4

β”‚ β”œβ”€β”¬ mkdirp@0.5.1

β”‚ β”‚ └── minimist@0.0.8

β”‚ β”œβ”€β”€ natural-compare@1.4.0

β”‚ β”œβ”€β”¬ optionator@0.8.2

β”‚ β”‚ β”œβ”€β”€ deep-is@0.1.3

β”‚ β”‚ β”œβ”€β”€ fast-levenshtein@2.0.6

β”‚ β”‚ β”œβ”€β”€ levn@0.3.0 deduped

β”‚ β”‚ β”œβ”€β”€ prelude-ls@1.1.2 deduped

β”‚ β”‚ β”œβ”€β”€ type-check@0.3.2 deduped

β”‚ β”‚ └── wordwrap@1.0.0

β”‚ β”œβ”€β”€ path-is-inside@1.0.2

β”‚ β”œβ”€β”€ pluralize@1.2.1

β”‚ β”œβ”€β”€ progress@1.1.8

β”‚ β”œβ”€β”¬ require-uncached@1.0.3

β”‚ β”‚ β”œβ”€β”¬ caller-path@0.1.0

β”‚ β”‚ β”‚ └── callsites@0.2.0

β”‚ β”‚ └── resolve-from@1.0.1

β”‚ β”œβ”€β”¬ shelljs@0.7.7

β”‚ β”‚ β”œβ”€β”€ glob@7.1.1 deduped

β”‚ β”‚ β”œβ”€β”€ interpret@1.0.3

β”‚ β”‚ └─┬ rechoir@0.6.2

β”‚ β”‚ Β  └── resolve@1.1.7 deduped

β”‚ β”œβ”€β”€ strip-bom@3.0.0

β”‚ β”œβ”€β”€ strip-json-comments@2.0.1

β”‚ β”œβ”€β”¬ table@3.8.3

β”‚ β”‚ β”œβ”€β”¬ ajv@4.11.5

β”‚ β”‚ β”‚ β”œβ”€β”€ co@4.6.0

β”‚ β”‚ β”‚ └── json-stable-stringify@1.0.1 deduped

β”‚ β”‚ β”œβ”€β”€ ajv-keywords@1.5.1

β”‚ β”‚ β”œβ”€β”€ chalk@1.1.3 deduped

β”‚ β”‚ β”œβ”€β”€ lodash@4.17.4

β”‚ β”‚ β”œβ”€β”€ slice-ansi@0.0.4

β”‚ β”‚ └─┬ string-width@2.0.0

β”‚ β”‚ Β  β”œβ”€β”€ is-fullwidth-code-point@2.0.0

β”‚ β”‚ Β  └── strip-ansi@3.0.1 deduped

β”‚ β”œβ”€β”€ text-table@0.2.0

β”‚ └─┬ user-home@2.0.0

β”‚ Β  └── os-homedir@1.0.2

β”œβ”€β”€ eslint-config-node-services@2.1.1

β”œβ”€β”¬ eslint-plugin-jsdoc@3.0.2

β”‚ β”œβ”€β”¬ comment-parser@0.4.0

β”‚ β”‚ └─┬ readable-stream@2.2.9

β”‚ β”‚ Β  β”œβ”€β”€ buffer-shims@1.0.0 deduped

β”‚ β”‚ Β  β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ Β  β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ Β  β”œβ”€β”€ process-nextick-args@1.0.7 deduped

β”‚ β”‚ Β  β”œβ”€β”¬ string_decoder@1.0.0

β”‚ β”‚ Β  β”‚ └── buffer-shims@1.0.0 deduped

β”‚ β”‚ Β  └── util-deprecate@1.0.2 deduped

β”‚ └── lodash@4.17.4

β”œβ”€β”¬ eslint-plugin-json@1.2.0

β”‚ └─┬ jshint@2.9.4

β”‚ Β  β”œβ”€β”¬ cli@1.0.1

β”‚ Β  β”‚ β”œβ”€β”€ exit@0.1.2 deduped

β”‚ Β  β”‚ └─┬ glob@7.1.1

β”‚ Β  β”‚ Β  β”œβ”€β”€ fs.realpath@1.0.0 deduped

β”‚ Β  β”‚ Β  β”œβ”€β”€ inflight@1.0.6 deduped

β”‚ Β  β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ Β  β”‚ Β  β”œβ”€β”€ minimatch@3.0.3 deduped

β”‚ Β  β”‚ Β  β”œβ”€β”€ once@1.4.0 deduped

β”‚ Β  β”‚ Β  └── path-is-absolute@1.0.1 deduped

β”‚ Β  β”œβ”€β”¬ console-browserify@1.1.0

β”‚ Β  β”‚ └── date-now@0.1.4

β”‚ Β  β”œβ”€β”€ exit@0.1.2

β”‚ Β  β”œβ”€β”¬ htmlparser2@3.8.3

β”‚ Β  β”‚ β”œβ”€β”€ domelementtype@1.3.0

β”‚ Β  β”‚ β”œβ”€β”¬ domhandler@2.3.0

β”‚ Β  β”‚ β”‚ └── domelementtype@1.3.0 deduped

β”‚ Β  β”‚ β”œβ”€β”¬ domutils@1.5.1

β”‚ Β  β”‚ β”‚ β”œβ”€β”¬ dom-serializer@0.1.0

β”‚ Β  β”‚ β”‚ β”‚ β”œβ”€β”€ domelementtype@1.1.3

β”‚ Β  β”‚ β”‚ β”‚ └── entities@1.1.1 deduped

β”‚ Β  β”‚ β”‚ └── domelementtype@1.3.0 deduped

β”‚ Β  β”‚ β”œβ”€β”€ entities@1.0.0

β”‚ Β  β”‚ └── readable-stream@1.1.14 deduped

β”‚ Β  β”œβ”€β”€ lodash@3.7.0

β”‚ Β  β”œβ”€β”€ minimatch@3.0.3 deduped

β”‚ Β  β”œβ”€β”€ shelljs@0.3.0

β”‚ Β  └── strip-json-comments@1.0.4

β”œβ”€β”¬ express@4.15.2

β”‚ β”œβ”€β”€ accepts@1.3.3 deduped

β”‚ β”œβ”€β”€ array-flatten@1.1.1

β”‚ β”œβ”€β”€ content-disposition@0.5.2

β”‚ β”œβ”€β”€ content-type@1.0.2

β”‚ β”œβ”€β”€ cookie@0.3.1

β”‚ β”œβ”€β”€ cookie-signature@1.0.6

β”‚ β”œβ”€β”€ debug@2.6.1 deduped

β”‚ β”œβ”€β”€ depd@1.1.0 deduped

β”‚ β”œβ”€β”€ encodeurl@1.0.1

β”‚ β”œβ”€β”€ escape-html@1.0.3

β”‚ β”œβ”€β”€ etag@1.8.0

β”‚ β”œβ”€β”€ finalhandler@1.0.1 deduped

β”‚ β”œβ”€β”€ fresh@0.5.0

β”‚ β”œβ”€β”€ merge-descriptors@1.0.1

β”‚ β”œβ”€β”€ methods@1.1.2

β”‚ β”œβ”€β”€ on-finished@2.3.0 deduped

β”‚ β”œβ”€β”€ parseurl@1.3.1

β”‚ β”œβ”€β”€ path-to-regexp@0.1.7

β”‚ β”œβ”€β”¬ proxy-addr@1.1.4

β”‚ β”‚ β”œβ”€β”€ forwarded@0.1.0

β”‚ β”‚ └── ipaddr.js@1.3.0

β”‚ β”œβ”€β”€ qs@6.4.0 deduped

β”‚ β”œβ”€β”€ range-parser@1.2.0

β”‚ β”œβ”€β”¬ send@0.15.1

β”‚ β”‚ β”œβ”€β”€ debug@2.6.1 deduped

β”‚ β”‚ β”œβ”€β”€ depd@1.1.0 deduped

β”‚ β”‚ β”œβ”€β”€ destroy@1.0.4

β”‚ β”‚ β”œβ”€β”€ encodeurl@1.0.1 deduped

β”‚ β”‚ β”œβ”€β”€ escape-html@1.0.3 deduped

β”‚ β”‚ β”œβ”€β”€ etag@1.8.0 deduped

β”‚ β”‚ β”œβ”€β”€ fresh@0.5.0 deduped

β”‚ β”‚ β”œβ”€β”€ http-errors@1.6.1 deduped

β”‚ β”‚ β”œβ”€β”€ mime@1.3.4

β”‚ β”‚ β”œβ”€β”€ ms@0.7.2 deduped

β”‚ β”‚ β”œβ”€β”€ on-finished@2.3.0 deduped

β”‚ β”‚ β”œβ”€β”€ range-parser@1.2.0 deduped

β”‚ β”‚ └── statuses@1.3.1 deduped

β”‚ β”œβ”€β”¬ serve-static@1.12.1

β”‚ β”‚ β”œβ”€β”€ encodeurl@1.0.1 deduped

β”‚ β”‚ β”œβ”€β”€ escape-html@1.0.3 deduped

β”‚ β”‚ β”œβ”€β”€ parseurl@1.3.1 deduped

β”‚ β”‚ └── send@0.15.1 deduped

β”‚ β”œβ”€β”€ setprototypeof@1.0.3

β”‚ β”œβ”€β”€ statuses@1.3.1

β”‚ β”œβ”€β”€ type-is@1.6.15 deduped

β”‚ β”œβ”€β”€ utils-merge@1.0.0

β”‚ └── vary@1.1.1 deduped

β”œβ”€β”¬ express-handlebars@3.0.0

β”‚ β”œβ”€β”¬ glob@6.0.4

β”‚ β”‚ β”œβ”€β”€ inflight@1.0.6 deduped

β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”œβ”€β”€ minimatch@3.0.3 deduped

β”‚ β”‚ β”œβ”€β”€ once@1.4.0 deduped

β”‚ β”‚ └── path-is-absolute@1.0.1 deduped

β”‚ β”œβ”€β”€ graceful-fs@4.1.11

β”‚ β”œβ”€β”¬ handlebars@4.0.6

β”‚ β”‚ β”œβ”€β”€ async@1.5.2

β”‚ β”‚ β”œβ”€β”¬ optimist@0.6.1

β”‚ β”‚ β”‚ β”œβ”€β”€ minimist@0.0.10

β”‚ β”‚ β”‚ └── wordwrap@0.0.3

β”‚ β”‚ β”œβ”€β”¬ source-map@0.4.4

β”‚ β”‚ β”‚ └── amdefine@1.0.1

β”‚ β”‚ └── UNMET OPTIONAL DEPENDENCY uglify-js@^2.6

β”‚ β”œβ”€β”¬ object.assign@4.0.4

β”‚ β”‚ β”œβ”€β”¬ define-properties@1.1.2

β”‚ β”‚ β”‚ β”œβ”€β”€ foreach@2.0.5

β”‚ β”‚ β”‚ └── object-keys@1.0.11 deduped

β”‚ β”‚ β”œβ”€β”€ function-bind@1.1.0

β”‚ β”‚ └── object-keys@1.0.11

β”‚ └─┬ promise@7.1.1

β”‚ Β  └── asap@2.0.5 deduped

β”œβ”€β”¬ finalhandler@1.0.1

β”‚ β”œβ”€β”¬ debug@2.6.3

β”‚ β”‚ └── ms@0.7.2 deduped

β”‚ β”œβ”€β”€ encodeurl@1.0.1 deduped

β”‚ β”œβ”€β”€ escape-html@1.0.3 deduped

β”‚ β”œβ”€β”€ on-finished@2.3.0 deduped

β”‚ β”œβ”€β”€ parseurl@1.3.1 deduped

β”‚ β”œβ”€β”€ statuses@1.3.1 deduped

β”‚ └── unpipe@1.0.0

β”œβ”€β”¬ istanbul@0.4.5

β”‚ β”œβ”€β”€ abbrev@1.0.9

β”‚ β”œβ”€β”€ async@1.5.2

β”‚ β”œβ”€β”¬ escodegen@1.8.1

β”‚ β”‚ β”œβ”€β”€ esprima@2.7.3

β”‚ β”‚ β”œβ”€β”€ estraverse@1.9.3

β”‚ β”‚ β”œβ”€β”€ esutils@2.0.2 deduped

β”‚ β”‚ β”œβ”€β”€ optionator@0.8.2 deduped

β”‚ β”‚ └── source-map@0.4.4 deduped

β”‚ β”œβ”€β”€ esprima@2.7.3

β”‚ β”œβ”€β”¬ glob@5.0.15

β”‚ β”‚ β”œβ”€β”€ inflight@1.0.6 deduped

β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”œβ”€β”€ minimatch@3.0.3 deduped

β”‚ β”‚ β”œβ”€β”€ once@1.4.0 deduped

β”‚ β”‚ └── path-is-absolute@1.0.1 deduped

β”‚ β”œβ”€β”€ handlebars@4.0.6 deduped

β”‚ β”œβ”€β”€ js-yaml@3.8.3 deduped

β”‚ β”œβ”€β”€ mkdirp@0.5.1 deduped

β”‚ β”œβ”€β”¬ nopt@3.0.6

β”‚ β”‚ └── abbrev@1.0.9 deduped

β”‚ β”œβ”€β”¬ once@1.4.0

β”‚ β”‚ └── wrappy@1.0.2

β”‚ β”œβ”€β”€ resolve@1.1.7

β”‚ β”œβ”€β”¬ supports-color@3.2.3

β”‚ β”‚ └── has-flag@1.0.0

β”‚ β”œβ”€β”¬ which@1.2.14

β”‚ β”‚ └── isexe@2.0.0

β”‚ └── wordwrap@1.0.0

β”œβ”€β”¬ js-yaml@3.8.3

β”‚ β”œβ”€β”¬ argparse@1.0.9

β”‚ β”‚ └── sprintf-js@1.0.3

β”‚ └── esprima@3.1.3

β”œβ”€β”€ mediawiki-title@0.6.3

β”œβ”€β”¬ mocha@2.5.3

β”‚ β”œβ”€β”€ commander@2.3.0

β”‚ β”œβ”€β”¬ debug@2.2.0

β”‚ β”‚ └── ms@0.7.1

β”‚ β”œβ”€β”€ diff@1.4.0 deduped

β”‚ β”œβ”€β”€ escape-string-regexp@1.0.2

β”‚ β”œβ”€β”¬ glob@3.2.11

β”‚ β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ └─┬ minimatch@0.3.0

β”‚ β”‚ Β  β”œβ”€β”€ lru-cache@2.7.3

β”‚ β”‚ Β  └── sigmund@1.0.1

β”‚ β”œβ”€β”€ growl@1.9.2

β”‚ β”œβ”€β”¬ jade@0.26.3

β”‚ β”‚ β”œβ”€β”€ commander@0.6.1

β”‚ β”‚ └── mkdirp@0.3.0

β”‚ β”œβ”€β”€ mkdirp@0.5.1 deduped

β”‚ β”œβ”€β”€ supports-color@1.2.0

β”‚ └── to-iso-string@0.0.2

β”œβ”€β”€ negotiator@0.6.1 (git+https://github.com/arlolra/negotiator.git#0418ab4e9a665772b7e233564a4525c9d9a8ec3a)

β”œβ”€β”¬ nock@8.2.1

β”‚ β”œβ”€β”€ chai@3.5.0 deduped

β”‚ β”œβ”€β”€ debug@2.6.1 deduped

β”‚ β”œβ”€β”€ deep-equal@1.0.1

β”‚ β”œβ”€β”€ json-stringify-safe@5.0.1

β”‚ β”œβ”€β”€ lodash@4.9.0

β”‚ β”œβ”€β”€ mkdirp@0.5.1 deduped

β”‚ β”œβ”€β”€ propagate@0.4.0

β”‚ └── qs@6.4.0 deduped

β”œβ”€β”€ node-uuid@1.4.8

β”œβ”€β”¬ nsp@2.6.3

β”‚ β”œβ”€β”¬ chalk@1.1.3

β”‚ β”‚ β”œβ”€β”€ ansi-styles@2.2.1

β”‚ β”‚ β”œβ”€β”€ escape-string-regexp@1.0.5

β”‚ β”‚ β”œβ”€β”¬ has-ansi@2.0.0

β”‚ β”‚ β”‚ └── ansi-regex@2.0.0

β”‚ β”‚ β”œβ”€β”¬ strip-ansi@3.0.1

β”‚ β”‚ β”‚ └── ansi-regex@2.0.0

β”‚ β”‚ └── supports-color@2.0.0

β”‚ β”œβ”€β”¬ cli-table@0.3.1

β”‚ β”‚ └── colors@1.0.3

β”‚ β”œβ”€β”€ cvss@1.0.1

β”‚ β”œβ”€β”¬ https-proxy-agent@1.0.0

β”‚ β”‚ β”œβ”€β”¬ agent-base@2.0.1

β”‚ β”‚ β”‚ β”œβ”€β”€ extend@3.0.0 deduped

β”‚ β”‚ β”‚ └── semver@5.0.3

β”‚ β”‚ β”œβ”€β”¬ debug@2.2.0

β”‚ β”‚ β”‚ └── ms@0.7.1

β”‚ β”‚ └── extend@3.0.0

β”‚ β”œβ”€β”¬ joi@6.10.1

β”‚ β”‚ β”œβ”€β”€ hoek@2.16.3

β”‚ β”‚ β”œβ”€β”€ isemail@1.2.0

β”‚ β”‚ β”œβ”€β”€ moment@2.12.0

β”‚ β”‚ └─┬ topo@1.1.0

β”‚ β”‚ Β  └── hoek@2.16.3 deduped

β”‚ β”œβ”€β”€ nodesecurity-npm-utils@5.0.0

β”‚ β”œβ”€β”€ path-is-absolute@1.0.0

β”‚ β”œβ”€β”¬ rc@1.1.6

β”‚ β”‚ β”œβ”€β”€ deep-extend@0.4.1

β”‚ β”‚ β”œβ”€β”€ ini@1.3.4

β”‚ β”‚ β”œβ”€β”€ minimist@1.2.0

β”‚ β”‚ └── strip-json-comments@1.0.4

β”‚ β”œβ”€β”€ semver@5.1.0

β”‚ β”œβ”€β”¬ subcommand@2.0.3

β”‚ β”‚ β”œβ”€β”€ cliclopts@1.1.1

β”‚ β”‚ β”œβ”€β”¬ debug@2.2.0

β”‚ β”‚ β”‚ └── ms@0.7.1

β”‚ β”‚ β”œβ”€β”€ minimist@1.2.0

β”‚ β”‚ └── xtend@4.0.1

β”‚ └─┬ wreck@6.3.0

β”‚ Β  β”œβ”€β”¬ boom@2.10.1

β”‚ Β  β”‚ └── hoek@2.16.3 deduped

β”‚ Β  └── hoek@2.16.3

β”œβ”€β”€ pegjs@0.8.0 (git+https://github.com/tstarling/pegjs.git#36d584bd7bbc564c86c058c5dfe8053b1fe1d584)

β”œβ”€β”¬ prfun@2.1.4

β”‚ └── core-js@2.4.1 deduped

β”œβ”€β”¬ request@2.81.0

β”‚ β”œβ”€β”€ aws-sign2@0.6.0

β”‚ β”œβ”€β”€ aws4@1.6.0

β”‚ β”œβ”€β”€ caseless@0.12.0

β”‚ β”œβ”€β”¬ combined-stream@1.0.5

β”‚ β”‚ └── delayed-stream@1.0.0

β”‚ β”œβ”€β”€ extend@3.0.0

β”‚ β”œβ”€β”€ forever-agent@0.6.1

β”‚ β”œβ”€β”¬ form-data@2.1.2

β”‚ β”‚ β”œβ”€β”€ asynckit@0.4.0

β”‚ β”‚ β”œβ”€β”€ combined-stream@1.0.5 deduped

β”‚ β”‚ └── mime-types@2.1.15 deduped

β”‚ β”œβ”€β”¬ har-validator@4.2.1

β”‚ β”‚ β”œβ”€β”€ ajv@4.11.5 deduped

β”‚ β”‚ └── har-schema@1.0.5

β”‚ β”œβ”€β”¬ hawk@3.1.3

β”‚ β”‚ β”œβ”€β”¬ boom@2.10.1

β”‚ β”‚ β”‚ └── hoek@2.16.3 deduped

β”‚ β”‚ β”œβ”€β”¬ cryptiles@2.0.5

β”‚ β”‚ β”‚ └── boom@2.10.1 deduped

β”‚ β”‚ β”œβ”€β”€ hoek@2.16.3

β”‚ β”‚ └─┬ sntp@1.0.9

β”‚ β”‚ Β  └── hoek@2.16.3 deduped

β”‚ β”œβ”€β”¬ http-signature@1.1.1

β”‚ β”‚ β”œβ”€β”€ assert-plus@0.2.0

β”‚ β”‚ β”œβ”€β”¬ jsprim@1.4.0

β”‚ β”‚ β”‚ β”œβ”€β”€ assert-plus@1.0.0

β”‚ β”‚ β”‚ β”œβ”€β”€ extsprintf@1.0.2

β”‚ β”‚ β”‚ β”œβ”€β”€ json-schema@0.2.3

β”‚ β”‚ β”‚ └─┬ verror@1.3.6

β”‚ β”‚ β”‚ Β  └── extsprintf@1.0.2 deduped

β”‚ β”‚ └─┬ sshpk@1.11.0

β”‚ β”‚ Β  β”œβ”€β”€ asn1@0.2.3

β”‚ β”‚ Β  β”œβ”€β”€ assert-plus@1.0.0

β”‚ β”‚ Β  β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY bcrypt-pbkdf@^1.0.0

β”‚ β”‚ Β  β”œβ”€β”¬ dashdash@1.14.1

β”‚ β”‚ Β  β”‚ └── assert-plus@1.0.0

β”‚ β”‚ Β  β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY ecc-jsbn@~0.1.1

β”‚ β”‚ Β  β”œβ”€β”¬ getpass@0.1.6

β”‚ β”‚ Β  β”‚ └── assert-plus@1.0.0

β”‚ β”‚ Β  β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY jodid25519@^1.0.0

β”‚ β”‚ Β  β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY jsbn@~0.1.0

β”‚ β”‚ Β  └── UNMET OPTIONAL DEPENDENCY tweetnacl@~0.14.0

β”‚ β”œβ”€β”€ is-typedarray@1.0.0

β”‚ β”œβ”€β”€ isstream@0.1.2

β”‚ β”œβ”€β”€ json-stringify-safe@5.0.1 deduped

β”‚ β”œβ”€β”¬ mime-types@2.1.15

β”‚ β”‚ └── mime-db@1.27.0 deduped

β”‚ β”œβ”€β”€ oauth-sign@0.8.2

β”‚ β”œβ”€β”€ performance-now@0.2.0

β”‚ β”œβ”€β”€ qs@6.4.0 deduped

β”‚ β”œβ”€β”€ safe-buffer@5.0.1

β”‚ β”œβ”€β”€ stringstream@0.0.5

β”‚ β”œβ”€β”¬ tough-cookie@2.3.2

β”‚ β”‚ └── punycode@1.4.1

β”‚ β”œβ”€β”¬ tunnel-agent@0.6.0

β”‚ β”‚ └── safe-buffer@5.0.1 deduped

β”‚ └── uuid@3.0.1

β”œβ”€β”€ semver@5.3.0

β”œβ”€β”¬ serve-favicon@2.4.2

β”‚ β”œβ”€β”€ etag@1.8.0 deduped

β”‚ β”œβ”€β”€ fresh@0.5.0 deduped

β”‚ β”œβ”€β”€ ms@1.0.0

β”‚ └── parseurl@1.3.1 deduped

β”œβ”€β”¬ service-runner@2.2.5

β”‚ β”œβ”€β”€ bluebird@3.5.0

β”‚ β”œβ”€β”¬ bunyan@1.8.10

β”‚ β”‚ β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY dtrace-provider@~0.8

β”‚ β”‚ β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY moment@^2.10.6

β”‚ β”‚ β”œβ”€β”€ UNMET OPTIONAL DEPENDENCY mv@~2

β”‚ β”‚ └── UNMET OPTIONAL DEPENDENCY safe-json-stringify@~1

β”‚ β”œβ”€β”€ bunyan-syslog-udp@0.1.0

β”‚ β”œβ”€β”¬ dnscache@1.0.1

β”‚ β”‚ β”œβ”€β”€ asap@2.0.5 deduped

β”‚ β”‚ └─┬ lodash.clone@4.3.2

β”‚ β”‚ Β  └── lodash._baseclone@4.5.7

β”‚ β”œβ”€β”€ extend@3.0.0 deduped

β”‚ β”œβ”€β”¬ gelf-stream@1.1.1

β”‚ β”‚ └── gelfling@0.3.1

β”‚ β”œβ”€β”€ hot-shots@4.4.0

β”‚ β”œβ”€β”€ js-yaml@3.8.3 deduped

β”‚ β”œβ”€β”¬ limitation@0.2.0

β”‚ β”‚ β”œβ”€β”€ bluebird@3.5.0 deduped

β”‚ β”‚ β”œβ”€β”¬ kad@1.3.6 (git+https://github.com/gwicke/kad.git#936c91652d757ea6f9dd30e44698afb0daaa1d17)

β”‚ β”‚ β”‚ β”œβ”€β”€ async@0.9.2 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ clarinet@0.11.0

β”‚ β”‚ β”‚ β”œβ”€β”€ colors@1.1.2 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ hat@0.0.3

β”‚ β”‚ β”‚ β”œβ”€β”¬ kad-fs@0.0.4

β”‚ β”‚ β”‚ β”‚ └─┬ readable-stream@2.2.6

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ buffer-shims@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ process-nextick-args@1.0.7 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ string_decoder@0.10.31 deduped

β”‚ β”‚ β”‚ β”‚ Β  └── util-deprecate@1.0.2 deduped

β”‚ β”‚ β”‚ β”œβ”€β”¬ kad-localstorage@0.0.7

β”‚ β”‚ β”‚ β”‚ └── dom-storage@2.0.2

β”‚ β”‚ β”‚ β”œβ”€β”¬ kad-memstore@0.0.1

β”‚ β”‚ β”‚ β”‚ └─┬ readable-stream@2.2.6

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ buffer-shims@1.0.0 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ process-nextick-args@1.0.7 deduped

β”‚ β”‚ β”‚ β”‚ Β  β”œβ”€β”€ string_decoder@0.10.31 deduped

β”‚ β”‚ β”‚ β”‚ Β  └── util-deprecate@1.0.2 deduped

β”‚ β”‚ β”‚ β”œβ”€β”€ lodash@3.10.1

β”‚ β”‚ β”‚ β”œβ”€β”€ merge@1.2.0

β”‚ β”‚ β”‚ β”œβ”€β”€ ms@0.7.2 deduped

β”‚ β”‚ β”‚ └─┬ msgpack5@3.4.1

β”‚ β”‚ β”‚ Β  β”œβ”€β”¬ bl@1.2.0

β”‚ β”‚ β”‚ Β  β”‚ └─┬ readable-stream@2.2.6

β”‚ β”‚ β”‚ Β  β”‚ Β  β”œβ”€β”€ buffer-shims@1.0.0 deduped

β”‚ β”‚ β”‚ Β  β”‚ Β  β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ β”‚ Β  β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ Β  β”‚ Β  β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ β”‚ Β  β”‚ Β  β”œβ”€β”€ process-nextick-args@1.0.7 deduped

β”‚ β”‚ β”‚ Β  β”‚ Β  β”œβ”€β”€ string_decoder@0.10.31 deduped

β”‚ β”‚ β”‚ Β  β”‚ Β  └── util-deprecate@1.0.2 deduped

β”‚ β”‚ β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ Β  └─┬ readable-stream@2.2.6

β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ buffer-shims@1.0.0 deduped

β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ process-nextick-args@1.0.7 deduped

β”‚ β”‚ β”‚ Β  Β  β”œβ”€β”€ string_decoder@0.10.31 deduped

β”‚ β”‚ β”‚ Β  Β  └── util-deprecate@1.0.2 deduped

β”‚ β”‚ └─┬ readable-stream@2.2.6

β”‚ β”‚ Β  β”œβ”€β”€ buffer-shims@1.0.0 deduped

β”‚ β”‚ Β  β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ β”‚ Β  β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ β”‚ Β  β”œβ”€β”€ isarray@1.0.0

β”‚ β”‚ Β  β”œβ”€β”€ process-nextick-args@1.0.7 deduped

β”‚ β”‚ Β  β”œβ”€β”€ string_decoder@0.10.31 deduped

β”‚ β”‚ Β  └── util-deprecate@1.0.2 deduped

β”‚ β”œβ”€β”€ semver@5.3.0 deduped

β”‚ └── yargs@6.6.0 deduped

β”œβ”€β”€ simplediff@0.1.1

β”œβ”€β”¬ supertest@1.2.0

β”‚ β”œβ”€β”€ methods@1.1.2 deduped

β”‚ └─┬ superagent@1.8.5

β”‚ Β  β”œβ”€β”€ component-emitter@1.2.1

β”‚ Β  β”œβ”€β”€ cookiejar@2.0.6

β”‚ Β  β”œβ”€β”€ debug@2.6.1 deduped

β”‚ Β  β”œβ”€β”€ extend@3.0.0 deduped

β”‚ Β  β”œβ”€β”¬ form-data@1.0.0-rc3

β”‚ Β  β”‚ β”œβ”€β”€ async@1.5.2

β”‚ Β  β”‚ β”œβ”€β”€ combined-stream@1.0.5 deduped

β”‚ Β  β”‚ └── mime-types@2.1.15 deduped

β”‚ Β  β”œβ”€β”€ formidable@1.0.17

β”‚ Β  β”œβ”€β”€ methods@1.1.2 deduped

β”‚ Β  β”œβ”€β”€ mime@1.3.4 deduped

β”‚ Β  β”œβ”€β”€ qs@2.3.3

β”‚ Β  β”œβ”€β”¬ readable-stream@1.0.27-1

β”‚ Β  β”‚ β”œβ”€β”€ core-util-is@1.0.2 deduped

β”‚ Β  β”‚ β”œβ”€β”€ inherits@2.0.3 deduped

β”‚ Β  β”‚ β”œβ”€β”€ isarray@0.0.1 deduped

β”‚ Β  β”‚ └── string_decoder@0.10.31 deduped

β”‚ Β  └── reduce-component@1.0.1

└─┬ yargs@6.6.0

Β  β”œβ”€β”€ camelcase@3.0.0

Β  β”œβ”€β”¬ cliui@3.2.0

Β  β”‚ β”œβ”€β”€ string-width@1.0.2 deduped

Β  β”‚ β”œβ”€β”€ strip-ansi@3.0.1 deduped

Β  β”‚ └─┬ wrap-ansi@2.1.0

Β  β”‚ Β  β”œβ”€β”€ string-width@1.0.2 deduped

Β  β”‚ Β  └── strip-ansi@3.0.1 deduped

Β  β”œβ”€β”€ decamelize@1.2.0

Β  β”œβ”€β”€ get-caller-file@1.0.2

Β  β”œβ”€β”¬ os-locale@1.4.0

Β  β”‚ └─┬ lcid@1.0.0

Β  β”‚ Β  └── invert-kv@1.0.0

Β  β”œβ”€β”¬ read-pkg-up@1.0.1

Β  β”‚ β”œβ”€β”¬ find-up@1.1.2

Β  β”‚ β”‚ β”œβ”€β”¬ path-exists@2.1.0

Β  β”‚ β”‚ β”‚ └── pinkie-promise@2.0.1 deduped

Β  β”‚ β”‚ └── pinkie-promise@2.0.1 deduped

Β  β”‚ └─┬ read-pkg@1.1.0

Β  β”‚ Β  β”œβ”€β”¬ load-json-file@1.1.0

Β  β”‚ Β  β”‚ β”œβ”€β”€ graceful-fs@4.1.11 deduped

Β  β”‚ Β  β”‚ β”œβ”€β”¬ parse-json@2.2.0

Β  β”‚ Β  β”‚ β”‚ └─┬ error-ex@1.3.1

Β  β”‚ Β  β”‚ β”‚ Β  └── is-arrayish@0.2.1

Β  β”‚ Β  β”‚ β”œβ”€β”€ pify@2.3.0 deduped

Β  β”‚ Β  β”‚ β”œβ”€β”€ pinkie-promise@2.0.1 deduped

Β  β”‚ Β  β”‚ └─┬ strip-bom@2.0.0

Β  β”‚ Β  β”‚ Β  └── is-utf8@0.2.1

Β  β”‚ Β  β”œβ”€β”¬ normalize-package-data@2.3.6

Β  β”‚ Β  β”‚ β”œβ”€β”€ hosted-git-info@2.4.1

Β  β”‚ Β  β”‚ β”œβ”€β”¬ is-builtin-module@1.0.0

Β  β”‚ Β  β”‚ β”‚ └── builtin-modules@1.1.1

Β  β”‚ Β  β”‚ β”œβ”€β”€ semver@5.3.0 deduped

Β  β”‚ Β  β”‚ └─┬ validate-npm-package-license@3.0.1

Β  β”‚ Β  β”‚ Β  β”œβ”€β”¬ spdx-correct@1.0.2

Β  β”‚ Β  β”‚ Β  β”‚ └── spdx-license-ids@1.2.2

Β  β”‚ Β  β”‚ Β  └── spdx-expression-parse@1.0.4

Β  β”‚ Β  └─┬ path-type@1.1.0

Β  β”‚ Β  Β  β”œβ”€β”€ graceful-fs@4.1.11 deduped

Β  β”‚ Β  Β  β”œβ”€β”€ pify@2.3.0 deduped

Β  β”‚ Β  Β  └── pinkie-promise@2.0.1 deduped

Β  β”œβ”€β”€ require-directory@2.1.1

Β  β”œβ”€β”€ require-main-filename@1.0.1

Β  β”œβ”€β”€ set-blocking@2.0.0

Β  β”œβ”€β”¬ string-width@1.0.2

Β  β”‚ β”œβ”€β”€ code-point-at@1.1.0

Β  β”‚ β”œβ”€β”¬ is-fullwidth-code-point@1.0.0

Β  β”‚ β”‚ └── number-is-nan@1.0.1

Β  β”‚ └── strip-ansi@3.0.1 deduped

Β  β”œβ”€β”€ which-module@1.0.0

Β  β”œβ”€β”€ y18n@3.2.1

Β  └─┬ yargs-parser@4.2.1

Β  Β  └── camelcase@3.0.0 deduped

Pdwangchao (talkcontribs)
Benn2003 (talkcontribs)
== English ==

According to this website https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372 all commands were executed.

The following should be set in the LocalSettings.php file from MediaWiki:

# Namespces for VE

        $ wgVisualEditorNamespaces = array_merge (

Β  Β  Β  Β  Β $ WgContentNamespaces, Β  Β  Β  Β  Β array (*) );

The following error is logged when the website is accessed:

FastCGI sent in stderr: "PHP message: PHP Parse error: syntax error, unexpected '*', expecting ')' in /usr/share/mediawiki/mediawiki-1.34.0/LocalSettings.php on line 130"

Line 130 specifies "array (*)".

Can anyone help?

== German ==

GemÀß dieser Webseite https://www.centos.org/forums/viewtopic.php?f=47&t=53223&p=225372#p225372 wurden alle Befehle ausgeführt.

In der Datei LocalSettings.php vom MediaWiki soll folgendes eingestellt werden:

# Namespces for VE

       $wgVisualEditorNamespaces = array_merge(

Β  Β  Β  Β  $wgContentNamespaces, Β  Β  Β  Β  array( * ) );

Beim Aufruf der Webseite wird folgender Fehler protokolliert:

FastCGI sent in stderr: "PHP message: PHP Parse error:Β  syntax error, unexpected '*', expecting ')' in /usr/share/mediawiki/mediawiki-1.34.0/LocalSettings.php on line 130"

In Zeile 130 ist "array( * )" angegeben.

Kann jemand weiterhelfen?

Arlolra (talkcontribs)

$wgVisualEditorNamespaces was the config for which namespaces to enable VE.

The default was array( NS_MAIN ), so you can try that.

I imagine the * was just a stand in for all of them. It's broken syntax.

Wikifarm issues with parsoid

2
Summary by Arlolra

User disappeared

Nickm84 (talkcontribs)

Has anybody been able to configure and run parsoid on a wikifarm that's sharing resources? I'm following the steps outlined in "the big switch" section which i've been able to get setup successfully. Manual:Wiki family


The problem is when editing pages with similar titles, for instance the Main_Page. When you edit the page from one wiki site, the other sites will show the same edited content from wiki1 when you edit their pages. I'm guessing this is because they're all using the same API. Is there any way around this?

Arlolra (talkcontribs)

I believe there are wikifarms that have had some success running parsoid.

"yum install git npm" doesn't work

6
Summary by Arlolra

Install Parsoid/PHP instead

TheSplatGuy (talkcontribs)

Hello all, I have been trying to set up VisualEditor for two days now because of how much a nightmare this is and I have finally gotten to this point where I need to download parsoid. So I am on a shared server which means that I can't use sudo or apt-get so I need to use the development section of this article. However when I try to put in the command "yum install git npm" it responds with the folling error message:

CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf

The thing is I have absolutely no clue how to solve this and I am getting pretty sick and tired of dealing with this stuff so please any advice would help. I am using an SSH through my terminal, Bluehost as my hosting service, and cPanel as the management system.

Aron Manning (talkcontribs)

Tip: join us on MediaWiki_on_Discord for help.

I don't know your hosting provider, so this might not be helpful, but anyway: yum is also a package manager just like apt-get, so that might be the reason why you can't use it.

As you're running that command I assume git and npm are not installed... you can skip git by uploading through ssh/scp. npm: I assume you can install it by hand in your user folder, or you might not even need it if you are running the latest parsoid: it's been ported to php recently. However, I haven't used that yet, so I suggest you asking this on discord. Hope that helps.

TheSplatGuy (talkcontribs)

I am sorry I did not mention this earlier but the hosting service I use is Bluehost. the hosting plan that I got is Shared hosting and I use cPanel for file management. from what I have done so far git works, but npm and yum do not (because they are not installed).

Arlolra (talkcontribs)
Aron Manning (talkcontribs)

Using Parsoid/PHP is a good idea. It's part of MediaWiki since 1.35 (October 2019), but it's not enabled by default (that's expected to change around or after June 2020). You find it in `vendor/wikimedia/parsoid` folder installed as a package by composer.

The mediawiki page describes the configuration, but there are some confusing bits. I've just recently set it up for myself so if you need help, I can be to your service (preferably on discord, but here too) @TheSplatGuy.

Arlolra (talkcontribs)

Feel free to update the page to clarify the confusing bitsΒ :)

Using Parsoid independently

10
Summary by Arlolra

Try parsing with --mock

AB1908 (talkcontribs)

Hi folks. I recently got Parsoid running and ran into a bit of trouble. I wanted to generate (only) HTML from wikitext while using two extensions, Cite and Spoiler, with a few adjustments for Cite. However, I'm unable to find a way to reliably get the output I want. Pandoc and alternative parsers listed on MediaWiki have incomplete support at best and incorrect output at worst and other markup tools/languages like Markdown or AsciiDoc aren't versatile enough. It seems that, to modify Cite's settings, I need to use system messages for which I'd need MediaWiki set up, something I'd like to avoid as all I want is a parser. Is my current goal of using only Parsoid to generate HTML impossible? If not, how am I supposed to go about it? Am I misunderstanding things? I've jumped through a lot of hoops and tested a bunch of different parsers. I've exhausted all my options before asking here; I really wish to avoid writing HTML as much as I can and wikitext is the best lightweight markup language I've found, so I'd appreciate any help.

SSastry (WMF) (talkcontribs)

As long as you don't have templates and images, you can make this work. However, Parsoid does not know about the Spoiler extension and so you would need a Parsoid-native implementation of it. But, once that is in place, you can use the bin/parse.php script with the --mock option to parse your wikitext and generate HTML. It operates without MediaWiki.

If you do have templates and images, then, you will need to update the mocks to provide expected output for those templates / media requests (which is workable if you have a small number of them).

AB1908 (talkcontribs)

This is excellent. Thank you very much for the help and for the work on the parser in general (I honestly didn't expect a reply from the team lead). I have a few more questions if you could bear with me:

1. Where would I find a parsoid-native implementation of an extension? How do I "enable" it, so to speak, for Parsoid? Is it the source code of the extension?

2. What are "mocks"? I couldn't find much information on them. The --help for parse.js doesn't list them and I couldn't find documentation on them either. I am using an up-to-date copy of the source.

3. I would like to customise the output of the Cite extension which can be done via system messages. How do I do that without using MediaWiki? Do I have to change configurations elsewhere? (non essential, can be ignored)

Arlolra (talkcontribs)

For now, native extensions are in the Parsoid repo, in src/Ext/ and lib/ext/. They will eventually move to the respective extension repos.

Mocks weren't a concept in Parsoid/JS. You'd want to use the --offline flag for the same purpose. But keep in mind that Parsoid/JS is only getting security fixes and is rapidly approaching EOL. You should consider working with Parsoid/PHP

AB1908 (talkcontribs)

> For now, native extensions are in the Parsoid repo, in src/Ext/ and lib/ext/. They will eventually move to the respective extension repos.


I assume this means using the Spoiler extension is off the table. Regardless, thanks again for taking the time to help.

Arlolra (talkcontribs)

No, if you wrote a native implementation of it, there's an extension registration mechanism. The code can live wherever you want.

SSastry (WMF) (talkcontribs)

If https://github.com/Telshin/Spoilers/blob/master/SpoilersHooks.php is the spoiler extension, that should be fairly simple to implement. Take a look @ Parsoid/Extension API#Examples (but will require the master branch of Parsoid). If you are working with the JS version, it will still be simple, but you will have to take a look at Cite's ref.js file and the toDOM method there.

But anyway, yes, you will need to write that code before you can use the spoiler extension with Parsoid.

SSastry (WMF) (talkcontribs)

For example, see below:

[subbu@earth:~/work/wmf/parsoid] echo -e "a <ref>boo</ref>\n\n*a\n*b" | php bin/parse.php --mock --body_only --pageName 'Testing' --normalize=parsoid

<p>a <sup class="mw-ref" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{},"body":{"id":"mw-reference-text-cite_note-1"}}'><a href="./Testing#cite_note-1"><span class="mw-reflink-text">[1]</span></a></sup></p>
<ul>
<li>a</li>
<li>b</li>
</ul>
<div class="mw-references-wrap" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{},"autoGenerated":true}'>
<ol class="mw-references references">
<li id="cite_note-1"><a href="./Testing#cite_ref-1" rel="mw:referencedBy"><span class="mw-linkback-text">↑ </span></a> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">boo</span></li>
</ol>
</div>
AB1908 (talkcontribs)

The php script fails for me stating that ../vendor/autoload.php was not found. This is a total non-issue for me though as I have the JS version working.

Arlolra (talkcontribs)

You need to composer install before running the php script.

111.125.208.58 (talkcontribs)

I have mediawiki and parsoid setup locally

I am trying to expand templates locally, while coverting from wikitetx to HTML. But templates remain as it is.

can anyone suggest where i am going wrong

Arlolra (talkcontribs)

Are the templates defined in your local mediawiki instance?

111.125.208.58 (talkcontribs)

How to do it,

I have enabled few extensions like ParserFunctions, Scribunto, to expand templates.

I am trying to convert "{{Convert|907|hp|kW PS|0|abbr=on}}" --> "907Β hp (676Β kW; 920Β PS)" but i get output as "Template:Convert"


Arlolra (talkcontribs)

You need to create a page on your local wiki, //localhost/wiki/Template:Convert, or whathaveyou.

You can copy the source from enwiki, https://en.wikipedia.org/w/index.php?title=Template:Convert&action=edit

Although, that seems to invoke a Scribunto module, so you'll also need a //localhost/wiki/Module:Convert as well.

Again, the source can be copied from, https://en.wikipedia.org/w/index.php?title=Module:Convert&action=edit

Alternatively, depending on how you're planning on using the tool, you can set --domain en.wikipedia.org to use the templates defined there, but then you won't have access to the pages on your local wiki.

SSastry (WMF) (talkcontribs)
111.125.208.58 (talkcontribs)

@Arlolra and @SSastry (WMF) Thanks for guidinig me through the solution,

Another question has arised to me, likewise i have multiple templates which i need to expand while converting from wikitext to HTML. So manual importing of each template could be cumbersome. Is there a way to download all the template dumps at once and then import to local mediwaiki.

Arlolra (talkcontribs)

Again, you might want to consider parsing with --domain en.wikipedia.org or wherever you're getting this content from, rather than your local wiki

There are larger project dumps you can import at https://meta.wikimedia.org/wiki/Data_dumps

Reply to "expand templates locally"

Error loading data from server

2
JJ245-AA (talkcontribs)

Hello everyone!

I installed parsoid successfully. I was able to use the visual editor to edit a page at first but the second time I try to edit it I get the following error -

Error loading data from server: apierror-visualeditor-docserver-http: HTTP 404. Would you like to retry?


Any help would be greatly appreciated!!

Thanks

Arlolra (talkcontribs)

Can you provide some more information about the wiki and how it's configured?

Reply to "Error loading data from server"
Summary by Arlolra

open as utf-8

77.204.146.31 (talkcontribs)

Hi everyone

I got a probleme with parsoid, when i did my request (html to wikitexte) i got a wikicode.txt but for every letter like é or à or â parsoid translate this to Á©f and that for only one letter like é.

So my question is why parsoid translate like that,and i have to edit some config file to bypass thisΒ ?

2A01:E0A:1EF:A2C0:E5DA:7BF2:9F73:CDDC (talkcontribs)

I found the solution i just need to open my file html to coding="utf-8"

parsoid doesn't like tls 1.3

3
Summary by Arlolra

nodejs 10.19 deb in ubuntu 20.04 doesn't know about tls v1.3 yet

188.102.29.119 (talkcontribs)

mediawiki 1.34.2 / parsoid 0.11.0all from the mw-repo on ubuntu 20.04, served by apache. apache redirects all non-https-requests to https, with

sslprotocol Β  Β  Β  Β  Β  Β  all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2

in the apache configuration i'm getting an

"Error loading data from server: apierror-visualeditor-docserver-http-error: http-bad-status. Would you like to retry?" error msg when trying to use visualeditor. in the logs:

{"name":"parsoid","hostname":"whatever","pid":483060,"level":60,"logType":"fatal/request","wiki":"wiki$0","title":"whatever", "oldId":null,"reqId":"d960f833d976986e93c7afeb","userAgent":"VisualEditor-MediaWiki/1.34.2","msg":"Template Fetch failure for \"whatever\": Error: write EPROTO 140430689695552:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1543:SSL alert number 70\n","stack":"Error: Template Fetch failure for \"whatever\": Error: write EPROTO 140430689695552:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1543:SSL alert number 70\n\n Β Β  at TemplateRequest.ApiRequest._requestCB (/usr/lib/parsoid/src/lib/mw/ApiRequest.js:414:15)\n Β Β  at Request.request [as _callback] (/usr/lib/parsoid/src/lib/mw/ApiRequest.js:332:35)\n Β Β  at self.callback (/usr/lib/parsoid/node_modules/request/request.js:185:22)\n Β Β  at Request.emit (events.js:198:13)\n Β Β  at Request.onRequestError (/usr/lib/parsoid/node_modules/request/request.js:877:8)\n Β Β  at ClientRequest.emit (events.js:203:15)\n Β Β  at TLSSocket.socketErrorListener (_http_client.js:401:9)\n Β Β  at TLSSocket.emit (events.js:198:13)\n Β Β  at errorOrDestroy (internal/streams/destroy.js:107:12)\n Β Β  at onwriteError (_stream_writable.js:436:5)\n Β Β  at onwrite (_stream_writable.js:461:5)\n Β Β  at _destroy (internal/streams/destroy.js:49:7)\n Β Β  at TLSSocket.Socket._destroy (net.js:614:3)\n Β Β  at TLSSocket.destroy (internal/streams/destroy.js:37:8)\n Β Β  at WriteWrap.afterWrite [as oncomplete] (net.js:791:10)","longMsg":"Template Fetch failure for \"whatever\": Error: write EPROTO 140430689695552:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:../ssl/record/rec_layer_s3.c:1543:SSL alert number 70\n","levelPath":"fatal/request","time":"2020-07-01T15:11:18.900Z","v":0}

… removing -TLSv1.2 from the sslprotocol-config causes it to work as expected.

188.102.29.119 (talkcontribs)

… not really parsoids fault, the nodejs 10.19 deb in ubuntu 20.04 doesn't know about tls v1.3 yet:

188.102.29.119 (talkcontribs)

root@mediawiki:~# grep -i tlsv1. nodejs-10.19.0~dfsg/lib/_tls_common.js

Β  if (v === 'TLSv1') return TLS1_VERSION;

Β  if (v === 'TLSv1.1') return TLS1_1_VERSION;

Β  if (v === 'TLSv1.2') return TLS1_2_VERSION;

root@mediawiki:~#

Eamercer (talkcontribs)

I have a MediaWiki installation with VisualEditor and Parsoid server.


This was working well until fairly recently. Something changed, but unfortunately, I can't identify what it was. Now when clicking the edit link on any page this error pops up:


Error loading data from server: apierror-visualeditor-docserver-http-error: (curl error: 52) Server returned nothing (no headers, no data). Would you like to retry?


MediaWiki: 1.30.0


Parsoid: 0.8.0


I get the same curl error if I try to use curl to test the parsoid server from the command line:

$ curl -L http: //localhost:8000/version

curl: (52) Empty reply from server


If I telnet to the port and type the GET command, I get a response:

$ telnet localhost 8000
Trying ::1...
Connected to localhost.
Escape character is '^]'.
GET /version

HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=utf-8
Content-Length: 36
ETag: W/"24-4cl/tnkz8/d5N8Iw6BlbZIYKEhs"
Vary: Accept-Encoding
Date: Tue, 14 Apr 2020 16:55:33 GMT
Connection: close

{"name":"parsoid","version":"0.8.1"}Connection closed by foreign host.

Host is Centos release 7.7.1908


Arlolra (talkcontribs)

Seems like there's something wrong with curl, since both php and the bin are stumbling.

Maybe try seeing what it's sending?

nc -l 8002
# in another terminal
curl localhost:8002
Eamercer (talkcontribs)
$ nc -l 8002
GET / HTTP/1.1
User-Agent: curl/7.29.0
Host: localhost:8002
Accept: */*
Arlolra (talkcontribs)
Eamercer (talkcontribs)
$ curl -v http://localhost:8000/version
* About to connect() to localhost port 8000 (#0)
*   Trying ::1...
* Connected to localhost (::1) port 8000 (#0)
> GET /version HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:8000
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

Arlolra (talkcontribs)

Can you check the logs for anything of interest?

Eamercer (talkcontribs)

I'm not seeing anything in the system logs.

I also haven't been able to determine where the parsoid logs are or how to configure them.

I haven't increased the mediawiki logging, but since the problem can be demonstrated apart from the wiki, it didn't seem necessary at this point.

Arlolra (talkcontribs)

How did you install Parsoid?

Eamercer (talkcontribs)


git clone https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid
ln -s /usr/local/parsoid/ /opt/parsoid
npm install
cd ..
chown -Rv root:root parsoid
chmod -Rv u+rw,g+r,o+r parsoid
firewall-cmd --permanent --zone=public --add-port=8000/tcp
firewall-cmd --reload
cd parsoid/
cp config.example.yaml config.yaml
vim config.yaml
semanage port -m -t http_port_t -p tcp 8000
setsebool httpd_can_network_connect 0
setsebool -P httpd_can_network_connect 0
vi /etc/systemd/system/parsoid.service
systemctl start parsoid.service

config.yaml =

# This is a sample configuration file
#
# Copy this file to config.yaml and edit that file to fit your needs.
#
# Also see:
# - `npm start -- -h` for more information about passing config files via
#   the commandline.
# - lib/config/ParsoidConfig.js for all the properties that you can configure
#   here. Not all properties are documented here.

# The number of http workers (as opposed to `cpu_workers` below)
#num_workers: 1

worker_heartbeat_timeout: 300000

logging:
    level: info

#metrics:
#    type: log

services:
  - module: lib/index.js
    entrypoint: apiServiceWorker
    conf:
        # For backwards compatibility, and to continue to support non-static
        # configs for the time being, optionally provide a path to a
        # localsettings.js file.  See localsettings.example.js
        #localsettings: ./localsettings.js

        # Set your own user-agent string
        # Otherwise, defaults to:
        #   'Parsoid/<current-version-defined-in-package.json>'
        #userAgent: 'My-User-Agent-String'

        # Configure Parsoid to point to your MediaWiki instances.
        mwApis:
        - # This is the only required parameter,
          # the URL of you MediaWiki API endpoint.
          uri: 'http://localhost/migwiki/api.php'
          # The "domain" is used for communication with Visual Editor
          # and RESTBase.  It defaults to the hostname portion of
          # the `uri` property above, but you can manually set it
          # to an arbitrary string. It must match the "domain" set
          # in $wgVirtualRestConfig.
          domain: 'localhost'  # optional
          # To specify a proxy (or proxy headers) specific to this prefix
          # (which overrides defaultAPIProxyURI). Alternatively, set `proxy`
          # to `null` to override and force no proxying when a default proxy
          # has been set.
          #proxy:
          #    uri: 'http://my.proxy:1234/'
          #    headers:  # optional
          #        'X-Forwarded-Proto': 'https'
          # See below, defaults to true.
          #strictSSL: false

        # Enable using compute workers to parse requests.
        #useWorker: true
        # The number of workers in the pool spawned by each http worker to
        # call out for parsing.  Defaults to:
        #   ceil(number of cpus / `num_workers`) + 1
        #cpu_workers: 1

        # We pre-define wikipedias as 'enwiki', 'dewiki' etc. Similarly
        # for other projects: 'enwiktionary', 'enwikiquote', 'enwikibooks',
        # 'enwikivoyage' etc.
        # The default for this is false. Uncomment the line below if you want
        # to load WMF's config for wikipedias, etc.
        #loadWMF: true

        # A default proxy to connect to the API endpoints.
        # Default: undefined (no proxying).
        # Overridden by per-wiki proxy config in setMwApi.
        #defaultAPIProxyURI: 'http://proxy.example.org:8080'

        # Enable debug mode (prints extra debugging messages)
        #debug: true

        # Use the PHP preprocessor to expand templates via the MW API (default true)
        #usePHPPreProcessor: false

        # Use selective serialization (default false)
        #useSelser: true

        # Allow cross-domain requests to the API (default '*')
        # Sets Access-Control-Allow-Origin header
        # disable:
        #allowCORS: false
        # restrict:
        #allowCORS: 'some.domain.org'

        # Allow override of port/interface:
        #serverPort: 8000
        #serverInterface: '127.0.0.1'

        # Enable linting of some wikitext errors to the log
        #linting: true
        #linter:
        #  sendAPI: false # Send lint errors to MW API instead of to the log
        #  apiSampling: 10 # Sampling rate (1 / 10)

        # Require SSL certificates to be valid (default true)
        # Set to false when using self-signed SSL certificates
        # Note that this can also be applied per wiki in the mwApis above
        #strictSSL: false

        # Use a different server for CSS style modules.
        # Leaving it undefined (the default) will use the same URI as the MW API,
        # changing api.php for load.php.
        #modulesLoadURI: 'http://example.org/load.php'

Arlolra (talkcontribs)

What's in /etc/systemd/system/parsoid.service

Eamercer (talkcontribs)
Unit]
Description=Mediawiki Parsoid web service on node.js
Documentation=http://www.mediawiki.org/wiki/Parsoid
Wants=local-fs.target network.target
After=local-fs.target network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/usr/local/parsoid
# EnvironmentFile=-/etc/parsoid/parsoid.env
ExecStart=/usr/bin/node /usr/local/parsoid/bin/server.js
KillMode=process
Restart=on-success
PrivateTmp=true
StandardOutput=syslog

Arlolra (talkcontribs)

Your config.yaml doesn't define any logging streams so it'll go to stdout

logging:
    level: info

which seems like systemd would send it to syslog

StandardOutput=syslog

Since you didn't see anything there, the curl request probably isn't even reaching the parsoid server.

Above, you demonstrated that telnet worked. Can you try with another tool like wget just to confirm it's only curl that's having the issue?

Arlolra (talkcontribs)

Also, you should confirm that there isn't any conflicting thing listening on 8000

Eamercer (talkcontribs)

wget also connects but receives nothing:

$ wget http://localhost:8000/version
--2020-04-16 16:31:21--  http://localhost:8000/version
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8000... connected.
HTTP request sent, awaiting response... No data received.
Retrying.

--2020-04-16 16:31:22--  (try: 2)  http://localhost:8000/version
Connecting to localhost (localhost)|::1|:8000... connected.
HTTP request sent, awaiting response... No data received.
Retrying.

etc.

If I stop the parsoid service, all connections to 8000 just fail immediately.


Could I change the config.yaml to force logging to a specific file?

Arlolra (talkcontribs)

Something like the following should work,

logging:
  level: info
  name: parsoid
  streams:
    - level: info
      path: /tmp/parsoid.log
      type: file
Eamercer (talkcontribs)

I just ran


systemctl stop parsoid


strace -f -s80 npm start

Then I tried to get the version once via curl and once via telnet. Among the tons of system calls listed, the read of the GET from curl and from telnet are both seen.

$ grep 'GET \/version' /home/UPHS.PENNHEALTH.PRV/mercerea1/parsoid.script 
[pid 16579] read(14, "GET /version HTTP/1.1\r\nUser-Agent: curl/7.29.0\r\nHost: localhost:8000\r\nAccept: */"..., 65536) = 85
[pid 16590] read(14, "GET /version\r\n", 65536) = 14

Arlolra (talkcontribs)

Try running on a different port `PARSOID_PORT=4444 npm start`, maybe something is up with your firewall?

Try passing the exact same string in telnet

Eamercer (talkcontribs)

I can send:

GET /version HTTP/1.1

and it will respond. It does not close the connection immediately after responding as it does if I just send:

GET /version


If I send exactly what curl sends:

GET /version HTTP/1.1
User-Agent: curl/7.29.0
Host: localhost:8000
Accept: */*


the server immediately closes the connection. I also tried sending the GET with the User-Agent, Host, and Accept separately, and the behavior is the same if any of those lines are sent with the GET.

Arlolra (talkcontribs)

Did you try running on a different port, as above?

What version of nodejs are you running? And since you installed from git, which parsoid commit are you on?

In older versions of nodejs, it closes without a 400 error when encountering an http parse error, https://github.com/nodejs/node/commit/f2f391e575fc8072d10e1ad1601ef3f67f13a4db

You can try to catch that around here, https://github.com/wikimedia/parsoid/blob/master/lib/api/ParsoidService.js#L235

Add something like,

server.on('clientError', (err, conn) => {
  console.error(err);
});
Eamercer (talkcontribs)

Sorry. Yes, same behavior running on port 4444.


I've got nodejs version 6.12.3


I'm not sure how to get the parsoid commit. It's version 0.8.1 according to the package.json


Oddly, when I made the change to ParsoidService.js, it started responding to curl.


Now if I do

curl -L http://localhost:8000/version

It responds with:

{"name":"parsoid","version":"0.8.1"}

The console where parsoid is running outputs the following:

{ Error: Parse Error
Β  Β  at Error (native) bytesParsed: 84, code: 'HPE_INVALID_TRANSFER_ENCODING' }

Of course, I immediately tried to edit a page in our wiki, which didn't work, but seemed to get further along before failing with "Error loading data from server: Could not connect to the server." During this, the console output the following:

{ Error: Parse Error
    at Error (native) bytesParsed: 911, code: 'HPE_UNEXPECTED_CONTENT_LENGTH' }
Arlolra (talkcontribs)

That's an obscure error that points here, https://github.com/nodejs/http-parser/blob/master/http_parser.c#L1902

I imagine what happened was the http-parser package in Centos was recently updated for, https://www.tenable.com/plugins/nessus/134238 https://bugzilla.redhat.com/show_bug.cgi?id=1800364 https://github.com/nodejs/http-parser/commit/7d5c99d09f6743b055d53fc3f642746d9801479b

Maybe it got backported incorrectly or something.

Try a newer version of nodejs or download one directly from https://nodejs.org/en/download/ or contact the packager at Centos.

Eamercer (talkcontribs)

There was an update to http-parser installed on March 25th.


I installed node v0.10.46. Now when I enter npm start, it fails:

$ sudo npm start

> parsoid@0.8.1 start /usr/local/parsoid-0.8.1
> service-runner


/usr/local/parsoid-0.8.1/node_modules/service-runner/service-runner.js:12
const cluster = require('cluster');
^^^^^
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:945:3

npm ERR! Linux 3.10.0-1062.18.1.el7.x86_64
npm ERR! argv "/usr/bin/node" "/bin/npm" "start"
npm ERR! node v0.10.46
npm ERR! npm  v2.15.1
npm ERR! code ELIFECYCLE
npm ERR! parsoid@0.8.1 start: `service-runner`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the parsoid@0.8.1 start script 'service-runner'.
npm ERR! This is most likely a problem with the parsoid package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     service-runner
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs parsoid
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! 
npm ERR!     npm owner ls parsoid
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /usr/local/parsoid-0.8.1/npm-debug.log

/usr/local/parsoid-0.8.1/npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/bin/npm', 'start' ]
2 info using npm@2.15.1
3 info using node@v0.10.46
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart parsoid@0.8.1
6 info start parsoid@0.8.1
7 verbose unsafe-perm in lifecycle true
8 info parsoid@0.8.1 Failed to exec start script
9 verbose stack Error: parsoid@0.8.1 start: `service-runner`
9 verbose stack Exit status 8
9 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
9 verbose stack     at EventEmitter.emit (events.js:98:17)
9 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at ChildProcess.emit (events.js:98:17)
9 verbose stack     at maybeClose (child_process.js:766:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:833:5)
10 verbose pkgid parsoid@0.8.1
11 verbose cwd /usr/local/parsoid-0.8.1
12 error Linux 3.10.0-1062.18.1.el7.x86_64
13 error argv "/usr/bin/node" "/bin/npm" "start"
14 error node v0.10.46
15 error npm  v2.15.1
16 error code ELIFECYCLE
17 error parsoid@0.8.1 start: `service-runner`
17 error Exit status 8
18 error Failed at the parsoid@0.8.1 start script 'service-runner'.
18 error This is most likely a problem with the parsoid package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     service-runner
18 error You can get information on how to open an issue for this project with:
18 error     npm bugs parsoid
18 error Or if that isn't available, you can get their info via:
18 error
18 error     npm owner ls parsoid
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

Arlolra (talkcontribs)

nodejs v0.10 is quite old. You're coming from v6.x, I think you meant to download v10

Eamercer (talkcontribs)

You are correct, of course!


I just installed nodejs v 10.20.1 and everything is working again.


Thank you so much for your assistance and patience!


Arlolra (talkcontribs)

No problem, I was curious