You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by dg...@apache.org on 2020/03/03 14:56:57 UTC

[openwhisk-wskdebug] branch master updated: Rename to @openwhisk/wskdebug and fix licenses to make rcverify.sh pass (#2)

This is an automated email from the ASF dual-hosted git repository.

dgrove pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwhisk-wskdebug.git


The following commit(s) were added to refs/heads/master by this push:
     new 5f0b1c9  Rename to @openwhisk/wskdebug and fix licenses to make rcverify.sh pass (#2)
5f0b1c9 is described below

commit 5f0b1c9ce72efcbfe32a1cb7ce4e1731cd7241b2
Author: Alexander Klimetschek <ak...@adobe.com>
AuthorDate: Tue Mar 3 06:56:48 2020 -0800

    Rename to @openwhisk/wskdebug and fix licenses to make rcverify.sh pass (#2)
    
    * rename npm module to @openwhisk/wskdebug
    * add apache, openwhisk and tm to cli output
    * clarify optional and external ngrok feature
    * rename cli.js to wskdebug.js for cleaner rcverify.sh exclusion list
    * misc other tweaks to make rcverify.sh pass
---
 .circleci/config.yml                        | 16 +++++++++
 LICENSE => LICENSE.txt                      |  2 +-
 LICENSE_HEADER.md                           |  2 +-
 NOTICE.txt                                  |  5 +++
 README.md                                   | 55 +++++++++++++++++++++--------
 codecov.yml                                 | 16 +++++++++
 examples/java/Hello.java                    | 19 +++++++++-
 examples/nodejs/deploy.sh                   | 17 +++++++++
 examples/nodejs/restore.sh                  | 17 +++++++++
 examples/nodejs/webaction.js                |  2 +-
 index.js                                    | 18 +++++++---
 package-lock.json                           |  2 +-
 package.json                                |  4 +--
 src/debugger.js                             |  2 +-
 src/invoker.js                              |  2 +-
 src/kinds/nodejs/mount-plain.js             |  2 +-
 src/kinds/nodejs/mount-require.js           |  2 +-
 src/wskprops.js                             |  2 +-
 test/ngrok.test.js                          |  2 +-
 test/nodejs.test.js                         |  2 +-
 test/nodejs/action.js                       | 19 +++++++++-
 test/nodejs/build-step/action.js            | 19 +++++++++-
 test/nodejs/commonjs-flat/action.js         | 19 +++++++++-
 test/nodejs/commonjs-onelevel/dependency.js | 17 +++++++++
 test/nodejs/commonjs-onelevel/lib/action.js | 19 +++++++++-
 test/nodejs/plain-flat/action.js            | 19 +++++++++-
 test/nodejs/plain-onelevel/lib/action.js    | 19 +++++++++-
 test/nodejs/trailing-comment/action.js      | 19 +++++++++-
 test/nodejs/watch/dummy.js                  | 16 +++++++++
 test/nodejs/watch/src/action.js             | 19 +++++++++-
 test/test.js                                |  2 +-
 test/watch.test.js                          |  2 +-
 test/{cli.test.js => wskdebug.test.js}      | 10 +++---
 cli.js => wskdebug.js                       |  0
 34 files changed, 341 insertions(+), 47 deletions(-)

diff --git a/.circleci/config.yml b/.circleci/config.yml
index 2d1ab27..86fea3a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,3 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 version: 2
 workflows:
   version: 2
diff --git a/LICENSE b/LICENSE.txt
similarity index 99%
rename from LICENSE
rename to LICENSE.txt
index 7a4a3ea..d645695 100644
--- a/LICENSE
+++ b/LICENSE.txt
@@ -199,4 +199,4 @@
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
-   limitations under the License.
\ No newline at end of file
+   limitations under the License.
diff --git a/LICENSE_HEADER.md b/LICENSE_HEADER.md
index 2d47464..9d8897b 100644
--- a/LICENSE_HEADER.md
+++ b/LICENSE_HEADER.md
@@ -20,4 +20,4 @@ Use this header for all source files.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-```
\ No newline at end of file
+```
diff --git a/NOTICE.txt b/NOTICE.txt
new file mode 100644
index 0000000..03050c2
--- /dev/null
+++ b/NOTICE.txt
@@ -0,0 +1,5 @@
+Apache OpenWhisk wskdebug
+Copyright 2016-2020 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
\ No newline at end of file
diff --git a/README.md b/README.md
index 9535372..7368be3 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,26 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
 <!-- disabled badges
 cli: ![](https://img.shields.io/badge/cli-wskdebug-brightgreen)
 github actions: [![Actions Status](https://github.com/apache/openwhisk-wskdebug/workflows/CI/badge.svg)](https://github.com/apache/openwhisk-wskdebug/actions)
 -->
-[![npm version](https://img.shields.io/npm/v/wskdebug)](https://www.npmjs.com/package/wskdebug) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![codecov](https://codecov.io/gh/apache/openwhisk-wskdebug/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/openwhisk-wskdebug) [![Total alerts](https://img.shields.io/lgtm/alerts/g/apache/openwhisk-wskdebug.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/ap [...]
+[![npm version](https://img.shields.io/npm/v/@openwhisk/wskdebug)](https://www.npmjs.com/package/@openwhisk/wskdebug) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![codecov](https://codecov.io/gh/apache/openwhisk-wskdebug/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/openwhisk-wskdebug) [![Total alerts](https://img.shields.io/lgtm/alerts/g/apache/openwhisk-wskdebug.svg?logo=lgtm&logoWidth=18)](https:// [...]
 
 
 wskdebug
@@ -45,14 +63,14 @@ _On the left [Visual Studio Code](https://code.visualstudio.com) in debug mode.
 To install or update run:
 
 ```
-npm install -g wskdebug
+npm install -g @openwhisk/wskdebug
 ```
 
 <a name="uninstall"></a>
 ### Uninstall
 
 ```
-npm uninstall -g wskdebug
+npm uninstall -g @openwhisk/wskdebug
 ```
 
 <a name="about"></a>
@@ -70,7 +88,7 @@ Currently, [Node.js actions](https://openwhisk.apache.org/documentation.html#nod
 
 ### Note on timeouts
 
-Web actions or other blocking invocations time out after **1 minute in OpenWhisk**. This limit cannot be configured. This means that if the debugging session (stepping through code) takes longer than 1 minute, any web action will return an error and any blocking invocations will just get the activation id, which most callers of a blocking invocation do not expect. 
+Web actions or other blocking invocations time out after **1 minute in OpenWhisk**. This limit cannot be configured. This means that if the debugging session (stepping through code) takes longer than 1 minute, any web action will return an error and any blocking invocations will just get the activation id, which most callers of a blocking invocation do not expect.
 
 However, there is no time limit on stepping through the code itself if you do not care about the result of the action being handled synchronously.
 
@@ -355,8 +373,17 @@ wskdebug myaction src/action.js \
 ```
 wskdebug <action> [source-path]
 
-Debug an OpenWhisk <action> by forwarding its activations to a local docker container that
-has debugging enabled and its debug port exposed to the host.
+.            ____      ___                   _    _ _     _     _
+.           /\   \    / _ \ _ __   ___ _ __ | |  | | |__ (_)___| | __
+.      /\  /__\   \  | | | | '_ \ / _ \ '_ \| |  | | '_ \| / __| |/ /
+.     /  \____ \  /  | |_| | |_) |  __/ | | | |/\| | | | | \__ \   <
+.     \   \  /  \/    \___/| .__/ \___|_| |_|__/\__|_| |_|_|___/_|\_\
+.      \___\/ tm           |_|
+
+.                              W S K D E B U G
+
+Debug an Apache OpenWhisk <action> by forwarding its activations to a local docker
+container that has debugging enabled and its debug port exposed to the host.
 
 If only <action> is specified, the deployed action code is debugged.
 
@@ -373,11 +400,11 @@ Arguments:
   source-path  Path to local action sources, file or folder (optional)            [string]
 
 Action options:
-  -m, --main         Name of action entry point                                   [string]
-  -k, --kind         Action kind override, needed for blackbox images             [string]
-  -i, --image        Docker image to use as action container                      [string]
-  --on-build         Shell command for custom action build step                   [string]
-  --build-path       Path to built action, result of --on-build command           [string]
+  -m, --main    Name of action entry point                                        [string]
+  -k, --kind    Action kind override, needed for blackbox images                  [string]
+  -i, --image   Docker image to use as action container                           [string]
+  --on-build    Shell command for custom action build step                        [string]
+  --build-path  Path to built action, result of --on-build command                [string]
 
 LiveReload options:
   -l            Enable browser LiveReload on [source-path]                       [boolean]
@@ -405,7 +432,7 @@ Agent options:
   -c, --condition  Hit condition to trigger debugger. Javascript expression evaluated
                    against input parameters. Example: 'debug == 'true'            [string]
   --agent-timeout  Debugging agent timeout (seconds). Default: 5 min              [number]
-  --ngrok          Use ngrok.com for agent forwarding.                           [boolean]
+  --ngrok          Use 3rd party service ngrok.com for agent forwarding.         [boolean]
   --ngrok-region   Ngrok region to use. Defaults to 'us'.                         [string]
 
 Options:
@@ -419,7 +446,7 @@ Options:
 
 ### Cannot install globally
 
-If you get an error during `npm install -g wskdebug` like this:
+If you get an error during `npm install -g @openwhisk/wskdebug` like this:
 
 ```
 ngrok - downloading binary https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-darwin-amd64.zip
@@ -500,7 +527,7 @@ The forwarding works by **replacing the original action with a special agent**.
 
 The fastest option (concurrency) leverages the NodeJS concurrency feature available in some OpenWhisk installations where a single container instance will receive all activations. It uses queues implemented as global variables of the action so that multiple invocations of this action (agent) can see and wait for each other.
 
-The second fastest option - and fastest in case of an OpenWhisk that does not support concurrency - is using [ngrok](https://ngrok.com) localhost forwarding. It must be manually selected using `--ngrok` on the command line. This works even without an ngrok account.
+The second fastest option - and fastest in case of an OpenWhisk that does not support concurrency - is using the free 3rd party service [ngrok](https://ngrok.com), which supports internet-to-localhost port forwarding. It must be manually selected using `--ngrok` on the command line. This works even without an account on [ngrok.com](https://ngrok.com). _Please note that ngrok.com is not affiliated with Apache OpenWhisk and use is completely optional and up to the user._
 
 Lastly, there is the "activation DB" agent which simply stores the activation input and result as separate activations (using helper actions named `*_wskdebug_invoked` and `*_wskdebug_completed`) and polls them via `wsk activation list`, both from wskdebug (for new activations) and in the agent itself (waiting for results).
 
diff --git a/codecov.yml b/codecov.yml
index b4e9d3f..1267d2b 100644
--- a/codecov.yml
+++ b/codecov.yml
@@ -1,3 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 parsers:
   javascript:
     enable_partials: yes
diff --git a/examples/java/Hello.java b/examples/java/Hello.java
index 26a7839..7e71c36 100644
--- a/examples/java/Hello.java
+++ b/examples/java/Hello.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 import com.google.gson.JsonObject;
 
 public class Hello {
@@ -9,4 +26,4 @@ public class Hello {
         response.addProperty("greeting", "Hello " + name + "!");
         return response;
     }
-}
\ No newline at end of file
+}
diff --git a/examples/nodejs/deploy.sh b/examples/nodejs/deploy.sh
index 3f88c8e..a857508 100755
--- a/examples/nodejs/deploy.sh
+++ b/examples/nodejs/deploy.sh
@@ -1,5 +1,22 @@
 #!/bin/bash
 
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 PKG=wskdebug-examples
 
 wsk package update $PKG
diff --git a/examples/nodejs/restore.sh b/examples/nodejs/restore.sh
index 5dcee74..3217546 100755
--- a/examples/nodejs/restore.sh
+++ b/examples/nodejs/restore.sh
@@ -1,5 +1,22 @@
 #!/bin/bash
 
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 PKG=wskdebug-examples
 
 wsk action list | grep wskdebug-examples
diff --git a/examples/nodejs/webaction.js b/examples/nodejs/webaction.js
index 2ae0e13..5e1a0eb 100644
--- a/examples/nodejs/webaction.js
+++ b/examples/nodejs/webaction.js
@@ -43,4 +43,4 @@ function main({name}) {
             </body>
         </html>`
     };
-}
\ No newline at end of file
+}
diff --git a/index.js b/index.js
old mode 100755
new mode 100644
index e0a45e5..27a08fe
--- a/index.js
+++ b/index.js
@@ -184,7 +184,7 @@ function yargsOptions(yargs) {
     yargs.option("ngrok", {
         type: "boolean",
         group: "Agent options:",
-        describe: "Use ngrok.com for agent forwarding."
+        describe: "Use 3rd party service ngrok.com for agent forwarding."
     });
     yargs.option("ngrok-region", {
         type: "string",
@@ -220,8 +220,18 @@ function getYargsParser() {
         .wrap(90)
         .command(
             "* <action> [source-path]",
-            `Debug an OpenWhisk <action> by forwarding its activations to a local docker container that
-            has debugging enabled and its debug port exposed to the host.
+            // eslint-disable-next-line indent
+           `.            ____      ___                   _    _ _     _     _
+            .           /\\   \\    / _ \\ _ __   ___ _ __ | |  | | |__ (_)___| | __
+            .      /\\  /__\\   \\  | | | | '_ \\ / _ \\ '_ \\| |  | | '_ \\| / __| |/ /
+            .     /  \\____ \\  /  | |_| | |_) |  __/ | | | |/\\| | | | | \\__ \\   <
+            .     \\   \\  /  \\/    \\___/| .__/ \\___|_| |_|__/\\__|_| |_|_|___/_|\\_\\
+            .      \\___\\/ tm           |_|
+
+            .                              W S K D E B U G
+
+            Debug an Apache OpenWhisk <action> by forwarding its activations to a local docker
+            container that has debugging enabled and its debug port exposed to the host.
 
             If only <action> is specified, the deployed action code is debugged.
 
@@ -308,4 +318,4 @@ async function wskdebug(args, isCommandLine=false) {
 }
 
 // exporting the resulting promise for unit tests
-module.exports = wskdebug;
\ No newline at end of file
+module.exports = wskdebug;
diff --git a/package-lock.json b/package-lock.json
index e29906b..6ef36da 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
 {
-    "name": "wskdebug",
+    "name": "@openwhisk/wskdebug",
     "version": "1.1.2",
     "lockfileVersion": 1,
     "requires": true,
diff --git a/package.json b/package.json
index 47deb17..0f031da 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
 {
-    "name": "wskdebug",
+    "name": "@openwhisk/wskdebug",
     "version": "1.1.2",
     "description": "Debugging and live development tool for Apache OpenWhisk",
     "license": "Apache-2.0",
@@ -16,7 +16,7 @@
     ],
     "main": "index.js",
     "bin": {
-        "wskdebug": "./cli.js"
+        "wskdebug": "./wskdebug.js"
     },
     "scripts": {
         "test": "nyc mocha test/**/*.test.js",
diff --git a/src/debugger.js b/src/debugger.js
index 336dbc4..86bc8ec 100644
--- a/src/debugger.js
+++ b/src/debugger.js
@@ -873,4 +873,4 @@ class Debugger {
 
 }
 
-module.exports = Debugger;
\ No newline at end of file
+module.exports = Debugger;
diff --git a/src/invoker.js b/src/invoker.js
index 9e05942..0c0ab59 100644
--- a/src/invoker.js
+++ b/src/invoker.js
@@ -349,4 +349,4 @@ class OpenWhiskInvoker {
     }
 }
 
-module.exports = OpenWhiskInvoker;
\ No newline at end of file
+module.exports = OpenWhiskInvoker;
diff --git a/src/kinds/nodejs/mount-plain.js b/src/kinds/nodejs/mount-plain.js
index 3a42fef..1f4557e 100644
--- a/src/kinds/nodejs/mount-plain.js
+++ b/src/kinds/nodejs/mount-plain.js
@@ -51,4 +51,4 @@ function main(args) { // lgtm [js/unused-local-variable]
 
     // invoke
     return actionMain(args);
-}
\ No newline at end of file
+}
diff --git a/src/kinds/nodejs/mount-require.js b/src/kinds/nodejs/mount-require.js
index 62b8485..0c3d19e 100644
--- a/src/kinds/nodejs/mount-require.js
+++ b/src/kinds/nodejs/mount-require.js
@@ -43,4 +43,4 @@ function main(args) { // lgtm [js/unused-local-variable]
 
     // require and invoke main function
     return require(path)[mainFn](args);
-}
\ No newline at end of file
+}
diff --git a/src/wskprops.js b/src/wskprops.js
index 9960cb4..4f4c8fb 100644
--- a/src/wskprops.js
+++ b/src/wskprops.js
@@ -73,4 +73,4 @@ module.exports = {
         return props;
     },
     ENV_PARAMS,
-};
\ No newline at end of file
+};
diff --git a/test/ngrok.test.js b/test/ngrok.test.js
index c37e799..fc4a033 100644
--- a/test/ngrok.test.js
+++ b/test/ngrok.test.js
@@ -74,4 +74,4 @@ describe('ngrok',  function() {
     });
 
     // TODO: test ngrokHandler, POST to local server
-});
\ No newline at end of file
+});
diff --git a/test/nodejs.test.js b/test/nodejs.test.js
index 4b68a54..6be9444 100644
--- a/test/nodejs.test.js
+++ b/test/nodejs.test.js
@@ -427,4 +427,4 @@ describe('nodejs', function() {
     // TODO: test debugger options
     // TODO: test non-concurrent openwhisk
 
-});
\ No newline at end of file
+});
diff --git a/test/nodejs/action.js b/test/nodejs/action.js
index 54f91d3..d443990 100644
--- a/test/nodejs/action.js
+++ b/test/nodejs/action.js
@@ -1 +1,18 @@
-// dummy file for watch tests
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// dummy file for watch tests
diff --git a/test/nodejs/build-step/action.js b/test/nodejs/build-step/action.js
index b894d90..aeec269 100644
--- a/test/nodejs/build-step/action.js
+++ b/test/nodejs/build-step/action.js
@@ -1,6 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 // eslint-disable-next-line no-unused-vars
 function main(params) {
     return { msg: 'WRONG' };
-}
\ No newline at end of file
+}
diff --git a/test/nodejs/commonjs-flat/action.js b/test/nodejs/commonjs-flat/action.js
index 303f1e1..c46f448 100644
--- a/test/nodejs/commonjs-flat/action.js
+++ b/test/nodejs/commonjs-flat/action.js
@@ -1,7 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 const path = require('path');
 
 exports.main = function() {
     return { msg: path.join("CORRECT", "RESULT") };
-}
\ No newline at end of file
+}
diff --git a/test/nodejs/commonjs-onelevel/dependency.js b/test/nodejs/commonjs-onelevel/dependency.js
index 6bcda62..dafa56f 100644
--- a/test/nodejs/commonjs-onelevel/dependency.js
+++ b/test/nodejs/commonjs-onelevel/dependency.js
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 module.exports = {
diff --git a/test/nodejs/commonjs-onelevel/lib/action.js b/test/nodejs/commonjs-onelevel/lib/action.js
index b971f2d..68c1d3d 100644
--- a/test/nodejs/commonjs-onelevel/lib/action.js
+++ b/test/nodejs/commonjs-onelevel/lib/action.js
@@ -1,5 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 exports.main = function() {
     return require('../dependency');
-}
\ No newline at end of file
+}
diff --git a/test/nodejs/plain-flat/action.js b/test/nodejs/plain-flat/action.js
index d53c3d4..242807e 100644
--- a/test/nodejs/plain-flat/action.js
+++ b/test/nodejs/plain-flat/action.js
@@ -1,6 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 // eslint-disable-next-line no-unused-vars
 function main(params) {
     return { msg: 'CORRECT' }
-}
\ No newline at end of file
+}
diff --git a/test/nodejs/plain-onelevel/lib/action.js b/test/nodejs/plain-onelevel/lib/action.js
index e697181..e730768 100644
--- a/test/nodejs/plain-onelevel/lib/action.js
+++ b/test/nodejs/plain-onelevel/lib/action.js
@@ -1,6 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 // eslint-disable-next-line no-unused-vars
 function main() {
     return { msg: 'CORRECT' };
-}
\ No newline at end of file
+}
diff --git a/test/nodejs/trailing-comment/action.js b/test/nodejs/trailing-comment/action.js
index 212eeb8..8a11630 100644
--- a/test/nodejs/trailing-comment/action.js
+++ b/test/nodejs/trailing-comment/action.js
@@ -1,7 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 // eslint-disable-next-line no-unused-vars
 function main() {
     return { msg: 'CORRECT' };
 }
-// trailing comment (do not remove!)
\ No newline at end of file
+// trailing comment (do not remove!)
diff --git a/test/nodejs/watch/dummy.js b/test/nodejs/watch/dummy.js
index e69de29..2944f98 100644
--- a/test/nodejs/watch/dummy.js
+++ b/test/nodejs/watch/dummy.js
@@ -0,0 +1,16 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
diff --git a/test/nodejs/watch/src/action.js b/test/nodejs/watch/src/action.js
index d53c3d4..242807e 100644
--- a/test/nodejs/watch/src/action.js
+++ b/test/nodejs/watch/src/action.js
@@ -1,6 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 'use strict';
 
 // eslint-disable-next-line no-unused-vars
 function main(params) {
     return { msg: 'CORRECT' }
-}
\ No newline at end of file
+}
diff --git a/test/test.js b/test/test.js
index 22a9cdc..b0c5360 100644
--- a/test/test.js
+++ b/test/test.js
@@ -424,4 +424,4 @@ module.exports = {
     sleep,
     touchFile,
     hasNotTimedOut
-}
\ No newline at end of file
+}
diff --git a/test/watch.test.js b/test/watch.test.js
index 1b749f1..5b6137c 100644
--- a/test/watch.test.js
+++ b/test/watch.test.js
@@ -628,4 +628,4 @@ describe('source watching', function() {
         test.assertAllNocksInvoked();
     });
 
-});
\ No newline at end of file
+});
diff --git a/test/cli.test.js b/test/wskdebug.test.js
similarity index 87%
rename from test/cli.test.js
rename to test/wskdebug.test.js
index 8b6ffb2..ca8e941 100644
--- a/test/cli.test.js
+++ b/test/wskdebug.test.js
@@ -29,11 +29,11 @@ const assert = require('assert');
 const stripAnsi = require('strip-ansi');
 const {execSync} = require('child_process');
 
-describe('cli', function() {
+describe('wskdebug cli', function() {
 
-    it("should print version (via cli.js)", async function() {
+    it("should print version (via wskdebug.js)", async function() {
         this.timeout(5000);
-        const stdout = execSync("node cli.js --version").toString();
+        const stdout = execSync("node wskdebug.js --version").toString();
         assert.equal(stripAnsi(stdout.trim()), require(`${process.cwd()}/package.json`).version);
     });
 
@@ -46,7 +46,7 @@ describe('cli', function() {
 
         assert.equal(stdio.stderr, "");
         // testing a couple strings that should rarely change
-        assert(stdio.stdout.includes("Debug an OpenWhisk <action> by forwarding its activations to a local docker container"));
+        assert(stdio.stdout.includes("Debug an Apache OpenWhisk <action> by forwarding its activations to a local docker"));
         assert(stdio.stdout.includes("Supported kinds:"));
         assert(stdio.stdout.includes("Arguments:"));
         assert(stdio.stdout.includes("Action options:"));
@@ -66,4 +66,4 @@ describe('cli', function() {
         assert.equal(stripAnsi(stdio.stdout.trim()), require(`${process.cwd()}/package.json`).version);
     });
 
-});
\ No newline at end of file
+});
diff --git a/cli.js b/wskdebug.js
similarity index 100%
rename from cli.js
rename to wskdebug.js