From 4f53a5e2b837c768635f22b3342762ba68ec7d74 Mon Sep 17 00:00:00 2001 From: Stefano Balietti Date: Sat, 21 Apr 2018 20:49:08 -0400 Subject: [PATCH 01/68] v4 in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 50c3989..138b9db 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "nodegame-generator", "description": "NodeGame' game generator", - "version": "1.1.2", + "version": "4.0.0", "author": "Stefano Balietti ", "keywords": [ "nodegame", From a42dd3a2a675506da98964e68a9e9610e54b91ad Mon Sep 17 00:00:00 2001 From: Stefano Balietti Date: Sat, 21 Apr 2018 20:49:51 -0400 Subject: [PATCH 02/68] minor --- CHANGELOG | 3 +-- LICENSE | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c95d645..36127cd 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,9 +1,8 @@ # CHANGELOG -## 4.0.0 (current) +## 4.0.0 - show-conf command. - Replace default nodeGame copyright string. -- TODO: multiple templates. ## 1.1.2 - Minor fix for autoplay template. diff --git a/LICENSE b/LICENSE index 26c0955..054092c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ (The MIT License) -Copyright (c) 2015 Stefano Balietti +Copyright (c) 2018 Stefano Balietti Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the From 48df23edd0a5965f47d0fe7c5973ebb56aaf1db3 Mon Sep 17 00:00:00 2001 From: Stefano Balietti Date: Fri, 7 Sep 2018 03:41:47 -0400 Subject: [PATCH 03/68] travis --- .travis.yml | 4 +++- bin/nodegame | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b1aa99b..7ced4f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ node_js: - 6 - 7 - 8 + - 10 before_install: # Get installer script. @@ -12,7 +13,8 @@ before_install: install: - npm install --only=dev - - node nodegame-installer.js @dev --install-dir node_modules --no-spinner --branch v4 --yes + # --branch v4 + - node nodegame-installer.js @dev --install-dir node_modules --no-spinner --yes script: # Add module tests here. diff --git a/bin/nodegame b/bin/nodegame index 3c6ce43..24cccb3 100755 --- a/bin/nodegame +++ b/bin/nodegame @@ -18,7 +18,8 @@ var pkg = require('../package.json'); var version = pkg.version; var root = path.resolve(__dirname, '..'); -var confFile = root + '/conf/generator.conf.json'; +var confFile = path.resolve(root, 'conf', 'generator.conf.json'); +var gamesFolder = // Re-assign process.exit because of commander process.exit = exit From 5bac11051b668f91b8e67121bef357cdb92e7aa5 Mon Sep 17 00:00:00 2001 From: Stefano Balietti Date: Fri, 7 Sep 2018 08:09:28 -0400 Subject: [PATCH 04/68] auto-detect nodeGame installation --- bin/nodegame | 251 +++++++++++++++++++++--------- conf/generator.conf.json.template | 2 +- 2 files changed, 176 insertions(+), 77 deletions(-) diff --git a/bin/nodegame b/bin/nodegame index 24cccb3..940ab76 100755 --- a/bin/nodegame +++ b/bin/nodegame @@ -1,25 +1,26 @@ #!/usr/bin/env node -var program = require('commander'); -var mkdirp = require('mkdirp'); -var os = require('os'); -var fs = require('fs-extra'); -var path = require('path'); -var readline = require('readline'); -var sortedObject = require('sorted-object'); +const program = require('commander'); +const mkdirp = require('mkdirp'); +const os = require('os'); +const fs = require('fs-extra'); +const path = require('path'); +const readline = require('readline'); +const sortedObject = require('sorted-object'); -var J = require('JSUS').JSUS; -var ngt = require('nodegame-game-template'); +const J = require('JSUS').JSUS; +const ngt = require('nodegame-game-template'); -var _exit = process.exit; -var eol = os.EOL; -var pkg = require('../package.json'); +const _exit = process.exit; +const pkg = require('../package.json'); +const version = pkg.version; -var version = pkg.version; +const isWin = /^win/.test(process.platform); -var root = path.resolve(__dirname, '..'); -var confFile = path.resolve(root, 'conf', 'generator.conf.json'); -var gamesFolder = +// This file is "copied" and not linked in Windows, +// therefore we need to be agnostic while loading the root path. +const root = J.resolveModuleDir('nodegame-generator'); +const confFile = path.resolve(root, 'conf', 'generator.conf.json'); // Re-assign process.exit because of commander process.exit = exit @@ -28,7 +29,11 @@ process.exit = exit var conf = { author: 'author', email: 'email', - gamesFolder: undefined + ngDir: undefined, + // Properties below won't be saved in conf file. + ngVersion: undefined, + ngGamesAvailDir: undefined, + ngGamesEnabledDir: undefined, }; // Available templates. @@ -66,7 +71,7 @@ before(program, 'outputHelp', function () { // if (templates.hasOwnProperty(t)) { // str = ' - ' + t; // if (t === DEFAULT_TEMPLATE) str += ' **default**'; -// console.log(str); +// console.log(str); // } // } // console.log(); @@ -95,7 +100,7 @@ program .command('create-game [game_name] [author] [author_email]') .description('Creates a new game in the games directory') .option(' --git', 'add .gitignore') - // .option('-t, --template