summaryrefslogtreecommitdiff
path: root/macros/texinfo/texinfo/js/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'macros/texinfo/texinfo/js/HACKING')
-rw-r--r--macros/texinfo/texinfo/js/HACKING32
1 files changed, 32 insertions, 0 deletions
diff --git a/macros/texinfo/texinfo/js/HACKING b/macros/texinfo/texinfo/js/HACKING
new file mode 100644
index 0000000000..28f4e2da3e
--- /dev/null
+++ b/macros/texinfo/texinfo/js/HACKING
@@ -0,0 +1,32 @@
+While the build process doesn't require any tool since the program is
+written as single script directly loadable in browsers, it is
+convenient for the developpers to have some of them to improve its
+coding experience and avoid them some headaches.
+
+Those tools consists of a linter (ESLint) and a type checker
+(TypeScript). They can be fetched with 'NPM' by running the 'npm
+install' command from the the source directory.
+
+To run the linter you can execute:
+
+ $ make lint
+
+To run the type check you can execute:
+
+ $ make check-types
+
+When modifying the 'info.js' source we recommend that you often run
+those commands.
+
+Additionaly the NPM install process provides 'modernizr' which can
+update the "modernizr.js" script which is used for ensuring the
+portability of "info.js" across browsers by doing features tests. The
+update can be done by executing:
+
+ $ make modernizr
+
+Finally 'Uglify-js' (which is provided by NPM too) is used to check
+the size of a minified version of the script. To do that you can
+execute:
+
+ $ make minify