paypal / react-engine

a composite render engine for universal (isomorphic) express apps to render both plain react views and react-router views
Apache License 2.0
1.45k stars 130 forks source link

[v1.x] add nonce to the script tag for unsafe-inline #196

Open kumarrishav opened 6 years ago

kumarrishav commented 6 years ago

Fix: #193

kumarrishav commented 6 years ago

@samsel not sure why build failed here. There was no issue with lint and complexity in other branche(v2.x). even if code is exactly same

samsel commented 6 years ago

@kumarrishav https://travis-ci.org/paypal/react-engine/jobs/278128155

samsel commented 6 years ago

hostname: 0d024422-5e14-4e75-82b2-821ec2e11ef3@1.i-0385dd6-production-2-worker-org-ec2.travisci.net
version: v3.0.2 https://github.com/travis-ci/worker/tree/f1c05caed79c66a9103f12a22e8a45ec66dbca64
instance: 3e3ed65:travis:node_js (via amqp)
startup: 1.105123186s
system_info
Build system information
Build language: node_js
Build group: stable
Build dist: trusty
Build id: 278128154
Job id: 278128155
Runtime kernel version: 4.11.6-041106-generic
travis-build version: 125c5d1fa
Build image provisioning date and time
Tue Aug 29 02:50:02 UTC 2017
Operating System Details
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
Cookbooks Version
4642454 https://github.com/travis-ci/travis-cookbooks/tree/4642454
git version
git version 2.14.1
bash version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
gcc version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
docker version
Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 16:58:30 2017
 OS/Arch:      linux/amd64
clang version
clang version 3.9.0 (tags/RELEASE_390/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-3.9.0/bin
jq version
jq-1.5
bats version
Bats 0.4.0
shellcheck version
0.4.6
shfmt version
v1.3.1
ccache version
ccache version 3.1.9
Copyright (C) 2002-2007 Andrew Tridgell
Copyright (C) 2009-2011 Joel Rosdahl
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
cmake version
cmake version 3.2.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
heroku version
heroku-cli/6.13.19-6cd27b3 (linux-x64) node-v8.3.0
imagemagick version
Version: ImageMagick 6.7.7-10 2017-07-31 Q16 http://www.imagemagick.org
md5deep version
4.2
mercurial version
Mercurial Distributed SCM (version 4.2.2)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-2017 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mysql version
mysql  Ver 14.14 Distrib 5.6.33, for debian-linux-gnu (x86_64) using  EditLine wrapper
openssl version
OpenSSL 1.0.1f 6 Jan 2014
packer version
Packer v1.0.2
Your version of Packer is out of date! The latest version
is 1.0.4. You can update by downloading from www.packer.io
postgresql client version
psql (PostgreSQL) 9.6.4
ragel version
Ragel State Machine Compiler version 6.8 Feb 2013
Copyright (c) 2001-2009 by Adrian Thurston
subversion version
svn, version 1.8.8 (r1568071)
   compiled Aug 10 2017, 17:20:39 on x86_64-pc-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.3
  - handles 'http' scheme
  - handles 'https' scheme
sudo version
Sudo version 1.8.9p5
Configure options: --prefix=/usr -v --with-all-insults --with-pam --with-fqdn --with-logging=syslog --with-logfac=authpriv --with-env-editor --with-editor=/usr/bin/editor --with-timeout=15 --with-password-timeout=0 --with-passprompt=[sudo] password for %p:  --without-lecture --with-tty-tickets --disable-root-mailer --enable-admin-flag --with-sendmail=/usr/sbin/sendmail --with-timedir=/var/lib/sudo --mandir=/usr/share/man --libexecdir=/usr/lib/sudo --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu --with-selinux
Sudoers policy plugin version 1.8.9p5
Sudoers file grammar version 43
Sudoers path: /etc/sudoers
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: authpriv
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Send mail if the user is not in sudoers
Use a separate timestamp for each user/tty combo
Lecture user the first time they run sudo
Root may run sudo
Allow some information gathering to give useful error messages
Require fully-qualified hostnames in the sudoers file
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 15.0 minutes
Password prompt timeout: 0.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to authentication timestamp dir: /var/lib/sudo
Default password prompt: [sudo] password for %p: 
Default user to run commands as: root
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Path to the editor for use by visudo: /usr/bin/editor
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Environment variables to check for sanity:
    TZ
    TERM
    LINGUAS
    LC_*
    LANGUAGE
    LANG
    COLORTERM
Environment variables to remove:
    RUBYOPT
    RUBYLIB
    PYTHONUSERBASE
    PYTHONINSPECT
    PYTHONPATH
    PYTHONHOME
    TMPPREFIX
    ZDOTDIR
    READNULLCMD
    NULLCMD
    FPATH
    PERL5DB
    PERL5OPT
    PERL5LIB
    PERLLIB
    PERLIO_DEBUG 
    JAVA_TOOL_OPTIONS
    SHELLOPTS
    GLOBIGNORE
    PS4
    BASH_ENV
    ENV
    TERMCAP
    TERMPATH
    TERMINFO_DIRS
    TERMINFO
    _RLD*
    LD_*
    PATH_LOCALE
    NLSPATH
    HOSTALIASES
    RES_OPTIONS
    LOCALDOMAIN
    CDPATH
    IFS
Environment variables to preserve:
    JAVA_HOME
    TRAVIS
    CI
    DEBIAN_FRONTEND
    XAUTHORIZATION
    XAUTHORITY
    PS2
    PS1
    PATH
    LS_COLORS
    KRB5CCNAME
    HOSTNAME
    HOME
    DISPLAY
    COLORS
Locale to use while parsing sudoers: C
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use
PAM service name to use for login shells
Create a new PAM session for the command to run in
Maximum I/O log sequence number: 0
Local IP address and netmask pairs:
    172.17.0.2/255.255.0.0
Sudoers I/O plugin version 1.8.9p5
gzip version
gzip 1.6
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by Jean-loup Gailly.
zip version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.
Compiled with gcc 4.8.2 for Unix (Linux ELF) on Oct 21 2013.
Zip special compilation options:
    USE_EF_UT_TIME       (store Universal Time)
    BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
        bzip2 code and library copyright (c) Julian R Seward
        (See the bzip2 license for terms of use)
    SYMLINK_SUPPORT      (symbolic links supported)
    LARGE_FILE_SUPPORT   (can read and write large files on file system)
    ZIP64_SUPPORT        (use Zip64 to store large files in archives)
    UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
    STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
    UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
    [encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)
Encryption notice:
    The encryption code of this program is not copyrighted and is
    put in the public domain.  It was originally written in Europe
    and, to the best of our knowledge, can be freely distributed
    in both source and object forms from any country, including
    the USA under License Exception TSU of the U.S. Export
    Administration Regulations (section 740.13(e)) of 6 June 2002.
Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
vim version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:43:18)
Included patches: 1-52
Extra patches: 8.0.0056
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by buildd@
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl    -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions      
iptables version
iptables v1.4.21
curl version
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
wget version
GNU Wget 1.15 built on linux-gnu.
rsync version
rsync  version 3.1.0  protocol version 31
gimme version
v1.2.0
nvm version
0.33.2
perlbrew version
/home/travis/perl5/perlbrew/bin/perlbrew  - App::perlbrew/0.80
phpenv version
rbenv 1.1.1-4-g4ebd1bd
rvm version
rvm 1.29.2 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]
default ruby version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
CouchDB version
couchdb 1.6.1
ElasticSearch version
5.5.0
Installed Firefox version
firefox 55.0.2
MongoDB version
MongoDB 3.2.16
Pre-installed PostgreSQL versions
9.2.22
9.3.18
9.4.13
9.5.8
9.6.4
RabbitMQ Version
3.6.11
Redis version
redis-server 4.0.1
riak version
2.2.3
Pre-installed Go versions
1.7.4
ant version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T19:39:06Z)
Maven home: /usr/local/maven-3.5.0
Java version: 1.8.0_144, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-92-generic", arch: "amd64", family: "unix"
gradle version
------------------------------------------------------------
Gradle 4.0.1
------------------------------------------------------------
Build time:   2017-07-07 14:02:41 UTC
Revision:     38e5dc0f772daecca1d2681885d3d85414eb6826
Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_144 (Oracle Corporation 25.144-b01)
OS:           Linux 4.4.0-92-generic amd64
lein version
WARNING: You're currently running as root; probably by accident.
Press control-C to abort or Enter to continue as root.
Set LEIN_ROOT to disable this warning.
Leiningen 2.7.1 on Java 1.8.0_144 Java HotSpot(TM) 64-Bit Server VM
Pre-installed Node.js versions
v4.8.4
v6.11.2
v6.9.4
v7.4.0
v8.4
phpenv versions
  system
  5.6
* 5.6.31 (set by /home/travis/.phpenv/version)
  7.0
  7.0.22
  hhvm
  hhvm-stable
composer --version
Composer version 1.4.2 2017-05-17 08:17:52
Pre-installed Ruby versions
ruby-2.2.7
ruby-2.3.4
ruby-2.4.1
W: http://dl.hhvm.com/ubuntu/dists/trusty/InRelease: Signature by key 36AEF64D0207E7EEE352D4875A16E7281BE7A449 uses weak digest algorithm (SHA1)
W: http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/Release.gpg: Signature by key 15866BAFD9BCC4F3C1E0DFC7D69548E1C17EAB57 uses weak digest algorithm (SHA1)
git.checkout
0.68s$ git clone --depth=50 https://github.com/paypal/react-engine.git paypal/react-engine
Cloning into 'paypal/react-engine'...
remote: Counting objects: 922, done.
remote: Compressing objects: 100% (406/406), done.
remote: Total 922 (delta 609), reused 787 (delta 499), pack-reused 0
Receiving objects: 100% (922/922), 173.95 KiB | 21.74 MiB/s, done.
Resolving deltas: 100% (609/609), done.
$ cd paypal/react-engine
0.25s$ git fetch origin +refs/pull/196/merge:
remote: Counting objects: 311, done.
remote: Compressing objects: 100% (144/144), done.
remote: Total 311 (delta 187), reused 286 (delta 163), pack-reused 0
Receiving objects: 100% (311/311), 49.44 KiB | 24.72 MiB/s, done.
Resolving deltas: 100% (187/187), completed with 18 local objects.
From https://github.com/paypal/react-engine
 * branch            refs/pull/196/merge -> FETCH_HEAD
$ git checkout -qf FETCH_HEAD
$ export PATH=./node_modules/.bin:$PATH
Updating nvm
nvm.install
2.41s$ nvm install 0.12
Downloading and installing node v0.12.18...
Downloading https://nodejs.org/dist/v0.12.18/node-v0.12.18-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v0.12.18 (npm v2.15.11)
$ node --version
v0.12.18
$ npm --version
2.15.11
$ nvm --version
0.33.4
install.npm
20.65s$ npm install 
npm WARN package.json react-engine@1.7.0 No license field.
npm WARN deprecated lodash-node@3.10.2: This package is discontinued. Use lodash@^4.0.0.
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN engine request@2.82.0: wanted: {"node":">= 4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine har-validator@5.0.3: wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine hawk@6.0.2: wanted: {"node":">=4.5.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine boom@4.3.1: wanted: {"node":">=4.0.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine sntp@2.0.2: wanted: {"node":">=4.0.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine cryptiles@3.1.2: wanted: {"node":">=4.0.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine hoek@4.2.0: wanted: {"node":">=4.0.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine boom@5.2.0: wanted: {"node":">=4.0.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine har-schema@2.0.0: wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
> contextify@0.1.15 install /home/travis/build/paypal/react-engine/node_modules/jsdom/node_modules/contextify
> node-gyp rebuild
make: Entering directory `/home/travis/build/paypal/react-engine/node_modules/jsdom/node_modules/contextify/build'
  CXX(target) Release/obj.target/contextify/src/contextify.o
In file included from /home/travis/.node-gyp/0.12.18/include/node/v8stdint.h:13:0,
                 from /home/travis/.node-gyp/0.12.18/include/node/v8.h:18,
                 from /home/travis/.node-gyp/0.12.18/include/node/node.h:61,
                 from ../src/contextify.cc:1:
/home/travis/.node-gyp/0.12.18/include/node/node.h: In function ‘void node::FatalException(const v8::TryCatch&)’:
/home/travis/.node-gyp/0.12.18/include/node/node.h:275:61: warning: ‘void node::FatalException(v8::Isolate*, const v8::TryCatch&)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:270): Use ParseEncoding(isolate, ...) [-Wdeprecated-declarations]
   return FatalException(v8::Isolate::GetCurrent(), try_catch);
                                                             ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h:273:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use FatalException(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h: In function ‘v8::Local<v8::Value> node::Encode(const void*, size_t, node::encoding)’:
/home/travis/.node-gyp/0.12.18/include/node/node.h:287:62: warning: ‘v8::Local<v8::Value> node::Encode(v8::Isolate*, const void*, size_t, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:278): Use FatalException(isolate, ...) [-Wdeprecated-declarations]
   return Encode(v8::Isolate::GetCurrent(), buf, len, encoding);
                                                              ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h:282:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use Encode(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h: In function ‘ssize_t node::DecodeBytes(v8::Handle<v8::Value>, node::encoding)’:
/home/travis/.node-gyp/0.12.18/include/node/node.h:298:62: warning: ‘ssize_t node::DecodeBytes(v8::Isolate*, v8::Handle<v8::Value>, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:291): Use Encode(isolate, ...) [-Wdeprecated-declarations]
   return DecodeBytes(v8::Isolate::GetCurrent(), val, encoding);
                                                              ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h:294:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use DecodeBytes(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h: In function ‘ssize_t node::DecodeWrite(char*, size_t, v8::Handle<v8::Value>, node::encoding)’:
/home/travis/.node-gyp/0.12.18/include/node/node.h:312:75: warning: ‘ssize_t node::DecodeWrite(v8::Isolate*, char*, size_t, v8::Handle<v8::Value>, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:302): Use DecodeBytes(isolate, ...) [-Wdeprecated-declarations]
   return DecodeWrite(v8::Isolate::GetCurrent(), buf, buflen, val, encoding);
                                                                           ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node.h:307:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use DecodeWrite(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::New(v8::Handle<v8::String>, node::encoding)’:
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:58:52: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, v8::Handle<v8::String>, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:52): Use New(isolate, ...) [-Wdeprecated-declarations]
   return New(v8::Isolate::GetCurrent(), string, enc);
                                                    ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:55:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use New(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::New(const char*, size_t)’:
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:67:50: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, const char*, size_t)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:62): Use New(isolate, ...) [-Wdeprecated-declarations]
   return New(v8::Isolate::GetCurrent(), data, len);
                                                  ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:65:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use New(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::New(char*, size_t, node::smalloc::FreeCallback, void*)’:
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:80:69: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t, node::smalloc::FreeCallback, void*)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:70): Use New(isolate, ...) [-Wdeprecated-declarations]
   return New(v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                                     ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:75:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use New(isolate, ...)",
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h: In function ‘v8::Local<v8::Object> node::Buffer::Use(char*, uint32_t)’:
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:90:50: warning: ‘v8::Local<v8::Object> node::Buffer::Use(v8::Isolate*, char*, uint32_t)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:85): Use New(isolate, ...) [-Wdeprecated-declarations]
   return Use(v8::Isolate::GetCurrent(), data, len);
                                                  ^
/home/travis/.node-gyp/0.12.18/include/node/v8config.h:313:1: note: in definition of macro ‘V8_DEPRECATED’
 declarator __attribute__((deprecated(message)))
 ^
/home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:88:1: note: in expansion of macro ‘NODE_DEPRECATED’
 NODE_DEPRECATED("Use Use(isolate, ...)",
 ^
In file included from ../src/contextify.cc:3:0:
../node_modules/nan/nan.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char*, size_t, node::smalloc::FreeCallback, void*)’:
../node_modules/nan/nan.h:694:34: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t, node::smalloc::FreeCallback, void*)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:70): Use New(isolate, ...) [-Wdeprecated-declarations]
                              hint);
                                  ^
../node_modules/nan/nan.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::CopyBuffer(const char*, uint32_t)’:
../node_modules/nan/nan.h:709:67: warning: ‘v8::Local<v8::Object> node::Buffer::New(v8::Isolate*, const char*, size_t)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:62): Use New(isolate, ...) [-Wdeprecated-declarations]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../node_modules/nan/nan.h: In function ‘Nan::MaybeLocal<v8::Object> Nan::NewBuffer(char*, uint32_t)’:
../node_modules/nan/nan.h:735:67: warning: ‘v8::Local<v8::Object> node::Buffer::Use(v8::Isolate*, char*, uint32_t)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node_buffer.h:85): Use New(isolate, ...) [-Wdeprecated-declarations]
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../node_modules/nan/nan.h: In function ‘void Nan::FatalException(const Nan::TryCatch&)’:
../node_modules/nan/nan.h:870:73: warning: ‘void node::FatalException(v8::Isolate*, const v8::TryCatch&)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:270): Use ParseEncoding(isolate, ...) [-Wdeprecated-declarations]
     node::FatalException(v8::Isolate::GetCurrent(), try_catch.try_catch_);
                                                                         ^
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::Encode(const void*, size_t, Nan::Encoding)’:
../node_modules/nan/nan.h:1788:44: warning: ‘v8::Local<v8::Value> node::Encode(v8::Isolate*, const void*, size_t, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:278): Use FatalException(isolate, ...) [-Wdeprecated-declarations]
     , static_cast<node::encoding>(encoding));
                                            ^
../node_modules/nan/nan.h: In function ‘ssize_t Nan::DecodeBytes(v8::Local<v8::Value>, Nan::Encoding)’:
../node_modules/nan/nan.h:1804:44: warning: ‘ssize_t node::DecodeBytes(v8::Isolate*, v8::Handle<v8::Value>, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:291): Use Encode(isolate, ...) [-Wdeprecated-declarations]
     , static_cast<node::encoding>(encoding));
                                            ^
../node_modules/nan/nan.h: In function ‘ssize_t Nan::DecodeWrite(char*, size_t, v8::Local<v8::Value>, Nan::Encoding)’:
../node_modules/nan/nan.h:1826:44: warning: ‘ssize_t node::DecodeWrite(v8::Isolate*, char*, size_t, v8::Handle<v8::Value>, node::encoding)’ is deprecated (declared at /home/travis/.node-gyp/0.12.18/include/node/node.h:302): Use DecodeBytes(isolate, ...) [-Wdeprecated-declarations]
     , static_cast<node::encoding>(encoding));
                                            ^
  SOLINK_MODULE(target) Release/obj.target/contextify.node
  COPY Release/contextify.node
make: Leaving directory `/home/travis/build/paypal/react-engine/node_modules/jsdom/node_modules/contextify/build'
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN engine esprima@3.1.3: wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
parent-require@1.0.0 node_modules/parent-require
rewire@2.5.2 node_modules/rewire
debug@2.6.8 node_modules/debug
└── ms@2.0.0
glob@5.0.15 node_modules/glob
├── path-is-absolute@1.0.1
├── inherits@2.0.3
├── once@1.4.0 (wrappy@1.0.2)
├── inflight@1.0.6 (wrappy@1.0.2)
└── minimatch@3.0.4 (brace-expansion@1.1.8)
faucet@0.0.1 node_modules/faucet
├── duplexer@0.1.1
├── defined@0.0.0
├── sprintf@0.1.5
├── minimist@0.0.5
├── tape@2.3.3 (inherits@2.0.3, resumer@0.0.0, deep-equal@0.1.2, jsonify@0.0.0, through@2.3.8)
├── tap-parser@0.4.3 (inherits@2.0.3, readable-stream@1.1.14)
└── through2@0.2.3 (xtend@2.1.2, readable-stream@1.1.14)
react-router@0.13.6 node_modules/react-router
├── can-use-dom@0.1.0
├── object-assign@2.1.1
├── qs@2.4.1
└── invariant@2.2.2 (loose-envify@1.3.1)
express@4.15.4 node_modules/express
├── setprototypeof@1.0.3
├── escape-html@1.0.3
├── array-flatten@1.1.1
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── merge-descriptors@1.0.1
├── methods@1.1.2
├── path-to-regexp@0.1.7
├── encodeurl@1.0.1
├── range-parser@1.2.0
├── fresh@0.5.0
├── vary@1.1.1
├── parseurl@1.3.2
├── content-type@1.0.4
├── etag@1.8.1
├── statuses@1.3.1
├── cookie@0.3.1
├── content-disposition@0.5.2
├── serve-static@1.12.4
├── depd@1.1.1
├── on-finished@2.3.0 (ee-first@1.1.1)
├── finalhandler@1.0.5 (unpipe@1.0.0)
├── qs@6.5.0
├── proxy-addr@1.1.5 (forwarded@0.1.2, ipaddr.js@1.4.0)
├── send@0.15.4 (ms@2.0.0, destroy@1.0.4, mime@1.3.4, http-errors@1.6.2)
├── type-is@1.6.15 (media-typer@0.3.0, mime-types@2.1.17)
└── accepts@1.3.4 (negotiator@0.6.1, mime-types@2.1.17)
tape@3.6.1 node_modules/tape
├── inherits@2.0.3
├── defined@0.0.0
├── resumer@0.0.0
├── deep-equal@0.2.2
├── through@2.3.8
├── object-inspect@0.4.0
└── glob@3.2.11 (minimatch@0.3.0)
esprima-fb@14001.1.0-dev-harmony-fb node_modules/esprima-fb
sinon@1.17.7 node_modules/sinon
├── formatio@1.1.1
├── samsam@1.1.2
├── lolex@1.3.2
└── util@0.10.3 (inherits@2.0.1)
cheerio@0.19.0 node_modules/cheerio
├── dom-serializer@0.1.0 (domelementtype@1.1.3)
├── entities@1.1.1
├── css-select@1.0.0 (boolbase@1.0.0, css-what@1.0.0, nth-check@1.0.1, domutils@1.4.3)
├── htmlparser2@3.8.3 (domelementtype@1.3.0, domutils@1.5.1, entities@1.0.0, domhandler@2.3.0, readable-stream@1.1.14)
└── lodash@3.10.1
jsdom@3.0.0 node_modules/jsdom
├── xmlhttprequest@1.8.0
├── xml-name-validator@1.0.0
├── browser-request@0.3.3
├── cssom@0.3.2
├── nwmatcher@1.4.1
├── htmlparser2@3.9.2 (inherits@2.0.3, domelementtype@1.3.0, entities@1.1.1, domhandler@2.4.1, domutils@1.6.2, readable-stream@2.3.3)
├── parse5@1.5.1
├── contextify@0.1.15 (bindings@1.3.0, nan@2.7.0)
├── cssstyle@0.2.37
└── request@2.82.0 (is-typedarray@1.0.0, oauth-sign@0.8.2, aws-sign2@0.7.0, forever-agent@0.6.1, tunnel-agent@0.6.0, stringstream@0.0.5, caseless@0.12.0, isstream@0.1.2, json-stringify-safe@5.0.1, safe-buffer@5.1.1, extend@3.0.1, aws4@1.6.0, performance-now@2.1.0, uuid@3.1.0, combined-stream@1.0.5, qs@6.5.1, form-data@2.3.1, mime-types@2.1.17, tough-cookie@2.3.2, hawk@6.0.2, http-signature@1.2.0, har-validator@5.0.3)
jscs@1.13.1 node_modules/jscs
├── strip-json-comments@1.0.4
├── pathval@0.1.1
├── commander@2.6.0
├── estraverse@1.9.3
├── vow@0.4.16
├── exit@0.1.2
├── minimatch@2.0.10 (brace-expansion@1.1.8)
├── chalk@1.0.0 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@1.3.1, strip-ansi@2.0.1, has-ansi@1.0.3)
├── lodash.assign@3.0.0 (lodash._createassigner@3.1.1, lodash._baseassign@3.2.0)
├── cli-table@0.3.1 (colors@1.0.3)
├── vow-fs@0.3.6 (vow-queue@0.4.2, uuid@2.0.3, glob@7.1.2)
├── prompt@0.2.14 (pkginfo@0.4.1, revalidator@0.1.8, read@1.0.7, utile@0.2.1, winston@0.8.3)
├── esprima-harmony-jscs@1.1.0-bin
├── esprima@1.2.5
└── xmlbuilder@2.6.5 (lodash@3.10.1)
lodash-node@3.10.2 node_modules/lodash-node
jshint@2.9.5 node_modules/jshint
├── strip-json-comments@1.0.4
├── exit@0.1.2
├── console-browserify@1.1.0 (date-now@0.1.4)
├── minimatch@3.0.4 (brace-expansion@1.1.8)
├── shelljs@0.3.0
├── cli@1.0.1 (glob@7.1.2)
├── htmlparser2@3.8.3 (domelementtype@1.3.0, entities@1.0.0, domhandler@2.3.0, readable-stream@1.1.14, domutils@1.5.1)
└── lodash@3.7.0
react@0.14.9 node_modules/react
├── envify@3.4.1 (through@2.3.8, jstransform@11.0.3)
└── fbjs@0.6.1 (whatwg-fetch@0.9.0, loose-envify@1.3.1, ua-parser-js@0.7.14, promise@7.3.1, core-js@1.2.7)
3.01s$ npm test
> react-engine@1.7.0 test /home/travis/build/paypal/react-engine
> npm run jscs && npm run lint && npm run tape
> react-engine@1.7.0 jscs /home/travis/build/paypal/react-engine
> jscs --verbose .
No code style errors found.
> react-engine@1.7.0 lint /home/travis/build/paypal/react-engine
> jshint --verbose --show-non-errors --config=.jshintrc **/*.js
lib/server.js: line 133, col 9, Misleading line break before '?'; readers may interpret this as an expression boundary. (W014)
lib/server.js: line 54, col 25, This function's cyclomatic complexity is too high. (7) (W074)
2 errors
npm ERR! Linux 4.11.6-041106-generic
npm ERR! argv "/home/travis/.nvm/versions/node/v0.12.18/bin/node" "/home/travis/.nvm/versions/node/v0.12.18/bin/npm" "run" "lint"
npm ERR! node v0.12.18
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE
npm ERR! react-engine@1.7.0 lint: `jshint --verbose --show-non-errors --config=.jshintrc **/*.js`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the react-engine@1.7.0 lint script 'jshint --verbose --show-non-errors --config=.jshintrc **/*.js'.
npm ERR! This is most likely a problem with the react-engine package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     jshint --verbose --show-non-errors --config=.jshintrc **/*.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs react-engine
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! 
npm ERR!     npm owner ls react-engine
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/travis/build/paypal/react-engine/npm-debug.log
npm ERR! Test failed.  See above for more details.
The command "npm test" exited with 1.
Done. Your build exited with 1.```
kumarrishav commented 6 years ago

@samsel Not sure why cyclomatic complexity issue is coming here. Might be an existing issue. lib/server.js: line 54, col 25, This function's cyclomatic complexity is too high. (7) (W074) What should we do? I can see three options.

  1. Refactor whole function to reduce the complexity.
  2. Increase the complexity in the lint config. (Same is working fine in v2/v4)
  3. We can ignore it for now and merge it. (as v1.x is deprecated anyway).

Let me know @samsel .

kumarrishav commented 6 years ago

Also, i can see v3.x is also there on npm registry.