Basic empty file builder for NodeJS? - node.js

Perhaps I'm missing something about Node, but what I'm hoping to do is very very simple.
Recently I've been creating a lot of small projects to test small node modules individually before trying to use them in a larger complex project.
I just want to automate generating a blank index.html and main.js file with the appropriate empty tags. I suppose I could make some git repos and just pull those every time, but that seems like overkill. Or I could just create a command to copy files from some other directory to the current one.
But ideally - I could install "npm boiler" or something, then just run "boiler static-html" and have those files plop into the root directory.
I'm running a git bash shell in Windows btw, because work.

I didn't find a perfect solution, but Yeoman sort of handles what I'm after. A simplified version of Yeoman would be ideal.

Related

How to get Lando to run it's own scripts

I'm new to Lando, and am surprised at the way it works. I'm following the example at https://docs.lando.dev/wordpress/getting-started.html, and got a WP site up and running.
But I've been reading docs and trying a few things, and can't find a way to avoid having to manually run the lando init function.
I would have thought that having a lando.yml file saying the recipe is wordpress would be enough to get you up and running - my idea being that I could take that same YAML file, modify a few variables like the app URL, and run "lando start" or something to have lando recreate the entire site.
Is there a way to do this?
Andy
You can in fact do exactly this, you don't need to run lando init on a project unless you want to use the included wizard to fill out the .lando.yml file. You can simply do the following to run a WordPress site:
name: awesome-wp-project
recipe: wordpress
place that in the .lando.yml in the root of your project and then run lando start. You'll have a new instance of Lando with the default configuration for the WordPress recipe running. The important thing to note is that each project needs to have a unique name and should run from a different folder (not nested inside eachother).
You can then include the same customizations in multiple projects (like adding a node container to compile theme assets, or using a specific version of PHP, config file, or folder structure). Just make sure to name each application uniquely.

I am using coverity to analyse node-ts template for a service. What should I use to build it?

Steps:
Installed coverity
Configured compiler
cov-configure --javascript
cov-configure --cs
I am stuck at the build step of cov-build. Yarn is used to run and configure the service. But I am not sure what coverity wants here.
I tried a couple of npm run commands, every time end up getting this:
[WARNING] No files were emitted. This may be due to a problem with your configuration
or because no files were actually compiled by your build command.
Please make sure you have configured the compilers actually used in the compilation.
I also tried different compilers, but no luck.
What should be done in this case?
You need to do a file system capture for Javascript files. You can accomplish this by running cov-build with the --no-command flag.
cov-build --dir CoverityIntermedediateDir --no-command --fs-capture-list list.txt
Lets break down these commands:
--dir: intermediate directory to store the emitted results (used for cov-analyze later).
--no-command: Do not run a build command and to look for certain file types
--fs-capture-list: Use the file that is provided to specify which files to look at and possibly emit to the intermediate directory.
A recommended way to generate the list.txt file is to grab it from your source control. If using git run:
git ls-files > list.txt
I want to also point out that if you don't have a convenient way to get a file listing in order to use the --fs-capture-list command you can use --fs-capture-search command and pair that with a filter to exclude the node_modules directory.
The coverity forums have some useful questions and answers:
Node.js File system capture
Really, the best place to look is at the documentation. There are several examples of what you want to do in their guides.

threejs build guide unclear

so i need to modify three.js.min and i need to rebuild it to have the changes take effect.
i did it before when it used to be via phyton, but the process & method seems to have changed.
i downloaded node.js as linked here in the quickstart guide: https://github.com/mrdoob/three.js/wiki/Build-instructions, and restarted my pc
this happens when i try to clone threejs as described:
the Quickstart says that i can also "download and unzip" the directory which i already did to work on it, but i am unsure where to place it and where the relative path starts.
so if i use cd ./three.js would the threejs folder be in the c:/programs/nodejs directory? do i need to register it first? am i on the completely wrong path?
sorry if this is a really dumb question, but the guide just does not make sense to me
ok so here are the mistakes i made:
i used the Node.js command window (from programs) instead of the windows cmd
i need to navigate to my threejs root folder containing the package.json file using cd ./nextFolder
now compiled & working without a problem

Meteor - Serverside copy files from FS.Collection

I'm using a bash script to compile a Unity assetbundle. I run it on a server using an interval I setup in Meteor which I run as a server.
Using {{url}} client-side I can get the file url fine. But how can I copy/move or even access the physical file on the server?
I'd like to be able to copy files to my unity project and run my bash script.
Just remembered I defined a path to a folder when defining the collection. Having looked for it, i found all the files i need.
Apologies for wasting your time.

How do I deploy Node.js applications as a single executable file? [duplicate]

This question already has answers here:
How to make exe files from a node.js app?
(20 answers)
Closed 7 years ago.
Supposed I have written a Node.js application, and I now would like to distribute it. Of course, I want to make it easy for the user, hence I do not want him to install Node.js, run npm install and then manually type node app.js.
What I'd prefer was a single executable file, e.g. an .exe file on Windows.
How could I approach this?
I am aware of this thread, anyway this is only about Windows. How could I achieve this in a platform-independent manner? Any ideas? Best practices? ...?
The perfect solution was a "compiler" I can give a source folder to. The source folder contains the app itself in various .js files, the node_modules folder and some metadata, such as the package.json. The output should be binaries for various platforms, such as Windows, OS X and Linux.
Oh, and what's important: I do not want to make any changes to the source code, so calls to require with relative paths should still work, even if this relative path is now inside the packaged app.
Any ideas?
PS: I do not want the user to install Node.js independently, it should be included inside the executable as well.
Meanwhile I have found the (for me) perfect solution: nexe, which creates a single executable from a Node.js application including all of its modules.
It's the next best thing to an ideal solution.
First, we're talking about packaging a Node.js app for workshops, demos, etc. where it can be handy to have an app "just running" without the need for the end user to care about installation and dependencies.
You can try the following setup:
Get your apps source code
npm install all dependencies (via package.json) to the local node_modules directory. It is important to perform this step on each platform you want to support separately, in case of binary dependencies.
Copy the Node.js binary – node.exe on Windows, (probably) /usr/local/bin/node on OS X/Linux to your project's root folder. On OS X/Linux you can find the location of the Node.js binary with which node.
For Windows:
Create a self extracting archive, 7zip_extra supports a way to execute a command right after extraction, see: http://www.msfn.org/board/topic/39048-how-to-make-a-7-zip-switchless-installer/.
For OS X/Linux:
You can use tools like makeself or unzipsfx (I don't know if this is compiled with CHEAP_SFX_AUTORUN defined by default).
These tools will extract the archive to a temporary directory, execute the given command (e.g. node app.js) and remove all files when finished.
Not to beat a dead horse, but the solution you're describing sounds a lot like Node-Webkit.
From the Git Page:
node-webkit is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with node-webkit. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.
These instructions specifically detail the creation of a single file app that a user can execute, and this portion describes the external dependencies.
I'm not sure if it's the exact solution, but it seems pretty close.
Hope it helps!
JXcore will allow you to turn any nodejs application into a single executable, including all dependencies, in either Windows, Linux, or Mac OS X.
Here is a link to the installer:
https://github.com/jxcore/jxcore-release
And here is a link to how to set it up:
http://jxcore.com/turn-node-applications-into-executables/
It is very easy to use and I have tested it in both Windows 8.1 and Ubuntu 14.04.
FYI: JXcore is a fork of NodeJS so it is 100% NodeJS compatible, with some extra features.
In addition to nexe, browserify can be used to bundle up all your dependencies as a single .js file. This does not bundle the actual node executable, just handles the javascript side. It too does not handle native modules. The command line options for pure node compilation would be browserify --output bundle.js --bare --dg false input.js.
There are a number of steps you have to go through to create an installer and it varies for each Operating System. For Example:
on Mac OS X you need to create a .pkg, there are instructions on how to do that here: https://coolaj86.com/articles/how-to-create-an-osx-pkg-installer.html
on Ubuntu Linux you need to create a .deb, there are instruction on how to do that here: https://coolaj86.com/articles/how-to-create-a-debian-installer.html
on Microsoft Windows you need to create a .exe or .msi, there are instruction on how do that using the innosetup installer here: https://coolaj86.com/articles/how-to-create-an-innosetup-installer.html
You could create a git repo and setup a link to the node git repo as a dependency. Then any user who clones the repo could also install node.
#git submodule [--quiet] add [-b branch] [-f|--force]
git submodule add /var/Node-repo.git common
You could easily package a script up to automatically clone the git repo you have hosted somewhere and "install" from one that one script file.
#!/bin/sh
#clone git repo
git clone your-repo.git

Resources