From 34aceac97b1aa5e922cca4e9ec3e3f26d4c8be80 Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Mon, 11 Mar 2019 14:37:08 +0000 Subject: [PATCH 1/6] Fixes for issues #110 and #111 --- README.md | 2 +- lib/commands/register.js | 35 +++++++++++++++++++++++++++++------ package.json | 2 +- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 83f79cf..de2130b 100644 --- a/README.md +++ b/README.md @@ -258,5 +258,5 @@ See [Developing plug-ins](https://github.com/adaptlearning/adapt_framework/wiki/
Back to Top
---------------------------- -**Version number:** 2.1.4 adapt learning logo +**Version number:** 2.1.7 adapt learning logo **Author / maintainer:** Adapt Core Team with [contributors](https://github.com/adaptlearning/adapt-contrib-hotgraphic/graphs/contributors) diff --git a/lib/commands/register.js b/lib/commands/register.js index 1f21a2f..2e670d7 100644 --- a/lib/commands/register.js +++ b/lib/commands/register.js @@ -9,6 +9,7 @@ var bower = require('bower'), JsonWriter = require('../JsonWriter'), Project = require('../Project'), Plugin = require('../Plugin'); + semver = require('semver'); module.exports = { register: function (renderer) { @@ -16,6 +17,10 @@ module.exports = { renderer.log(chalk.yellow('This will publish this plugin to', Constants.Registry)); + var c = semver.coerce('>=2.2') + console.log(c); + console.log(semver.valid(c)); + loadPluginProperties('./bower.json', { name: undefined, repository: undefined, @@ -110,16 +115,29 @@ function confirm(properties) { default: plugin.toString() || 'not specified', required: true }, - repository: { - description: chalk.cyan('repository'), - pattern: /([A-Za-z0-9]+@|http(|s)|git\:\/\/)([A-Za-z0-9.]+)(:|\/)([A-Za-z0-9\-\.\/]+)(\.git)?/, + repositoryType: { + description: chalk.cyan('repository type (e.g. git)'), + message: 'Please provide a repository type', + pattern: /.+/, + type: 'string', + default: properties.repository ? properties.repository.type : undefined, + required: true + }, + repositoryUrl: { + description: chalk.cyan('repository URL'), + message: 'Please provide a repository URL of the form [git@][].git', + pattern: /((git|ssh|http(s)?)|(git@[\w\.]+))(:(\/\/)?)([\w\.@\:/\-~]+)(\.git)(\/)?/, type: 'string', - default: properties.repository || 'not specified', + default: properties.repository ? properties.repository.url : undefined, required: true }, framework: { description: chalk.cyan('framework'), - pattern: /\bv?(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?\b/ig, + message: 'Please provide a valid semver (see https://semver.org/)', + conform:function(v) { + return semver.valid(semver.coerce(v)); + }, + errors:['fooble'], type: 'string', default: properties.framework || '~2.0.0', required: false @@ -143,8 +161,13 @@ function confirm(properties) { if(!confirmation.ready) deferred.reject(new Error('Aborted. Nothing has been registered.')); properties.name = confirmation.name; - properties.repository = confirmation.repository; + + if (confirmation.repositoryType && confirmation.repositoryUrl) { + properties.repository = {type:confirmation.repositoryType, url:confirmation.repositoryUrl}; + } + properties.framework = confirmation.framework; + deferred.resolve(properties); }); return deferred.promise; diff --git a/package.json b/package.json index 2bb8592..0ee0458 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "adapt-cli", - "version": "2.1.6", + "version": "2.1.7", "description": "Command line tools for Adapt", "main": "./lib/cli.js", "directories": { From ee768fd3987f3f06632ce1d0dc31a65b545d7afb Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Tue, 12 Mar 2019 09:26:20 +0700 Subject: [PATCH 2/6] Update register.js --- lib/commands/register.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/commands/register.js b/lib/commands/register.js index 2e670d7..c309f33 100644 --- a/lib/commands/register.js +++ b/lib/commands/register.js @@ -8,7 +8,7 @@ var bower = require('bower'), JsonLoader = require('../JsonLoader'), JsonWriter = require('../JsonWriter'), Project = require('../Project'), - Plugin = require('../Plugin'); + Plugin = require('../Plugin'), semver = require('semver'); module.exports = { @@ -17,9 +17,7 @@ module.exports = { renderer.log(chalk.yellow('This will publish this plugin to', Constants.Registry)); - var c = semver.coerce('>=2.2') - console.log(c); - console.log(semver.valid(c)); + var c = semver.coerce(">=2.2"); loadPluginProperties('./bower.json', { name: undefined, From bb2110b4cad810e16a668aaca939b8b08846e267 Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Tue, 12 Mar 2019 09:27:27 +0700 Subject: [PATCH 3/6] Update register.js --- lib/commands/register.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/commands/register.js b/lib/commands/register.js index c309f33..362baa1 100644 --- a/lib/commands/register.js +++ b/lib/commands/register.js @@ -135,7 +135,6 @@ function confirm(properties) { conform:function(v) { return semver.valid(semver.coerce(v)); }, - errors:['fooble'], type: 'string', default: properties.framework || '~2.0.0', required: false From 91032cdf05c8eef3ed265a2d7ac2173e89370597 Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Wed, 13 Mar 2019 09:05:22 +0700 Subject: [PATCH 4/6] Removed redundant variable --- lib/commands/register.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/commands/register.js b/lib/commands/register.js index 362baa1..368e9bf 100644 --- a/lib/commands/register.js +++ b/lib/commands/register.js @@ -17,8 +17,6 @@ module.exports = { renderer.log(chalk.yellow('This will publish this plugin to', Constants.Registry)); - var c = semver.coerce(">=2.2"); - loadPluginProperties('./bower.json', { name: undefined, repository: undefined, From a2af264ed7d9d9568fa5a6a8062411c16fab6a37 Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Wed, 13 Mar 2019 16:29:51 +0700 Subject: [PATCH 5/6] Review amendments --- lib/commands/register.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/lib/commands/register.js b/lib/commands/register.js index 368e9bf..2377557 100644 --- a/lib/commands/register.js +++ b/lib/commands/register.js @@ -111,18 +111,10 @@ function confirm(properties) { default: plugin.toString() || 'not specified', required: true }, - repositoryType: { - description: chalk.cyan('repository type (e.g. git)'), - message: 'Please provide a repository type', - pattern: /.+/, - type: 'string', - default: properties.repository ? properties.repository.type : undefined, - required: true - }, repositoryUrl: { description: chalk.cyan('repository URL'), - message: 'Please provide a repository URL of the form [git@][].git', - pattern: /((git|ssh|http(s)?)|(git@[\w\.]+))(:(\/\/)?)([\w\.@\:/\-~]+)(\.git)(\/)?/, + message: 'Please provide a repository URL of the form git://.git', + pattern: /git:\/\/([\w\.@\:/\-~]+)(\.git)(\/)?/, type: 'string', default: properties.repository ? properties.repository.url : undefined, required: true @@ -157,8 +149,8 @@ function confirm(properties) { properties.name = confirmation.name; - if (confirmation.repositoryType && confirmation.repositoryUrl) { - properties.repository = {type:confirmation.repositoryType, url:confirmation.repositoryUrl}; + if (confirmation.repositoryUrl) { + properties.repository = {type:'git', url:confirmation.repositoryUrl}; } properties.framework = confirmation.framework; From ffd8b1745e72076fcc1a3beb56590b579426b0ee Mon Sep 17 00:00:00 2001 From: Chris Steele Date: Wed, 13 Mar 2019 16:31:55 +0700 Subject: [PATCH 6/6] Review amendments --- lib/commands/register.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/commands/register.js b/lib/commands/register.js index 2377557..d11a180 100644 --- a/lib/commands/register.js +++ b/lib/commands/register.js @@ -148,11 +148,7 @@ function confirm(properties) { if(!confirmation.ready) deferred.reject(new Error('Aborted. Nothing has been registered.')); properties.name = confirmation.name; - - if (confirmation.repositoryUrl) { - properties.repository = {type:'git', url:confirmation.repositoryUrl}; - } - + properties.repository = {type:'git', url:confirmation.repositoryUrl}; properties.framework = confirmation.framework; deferred.resolve(properties);