diff --git a/.travis.yml b/.travis.yml index 4984454e48..f6aeb77b2d 100755 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ before_install: - rm -rf node_modules/ install: - - npm install + - npm run setup script: - npm run test diff --git a/lerna.json b/lerna.json index 3dce055711..12ed2db8f8 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "lerna": "2.0.0", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "packages": [ "packages/*" ], diff --git a/package.json b/package.json index a9d131570d..b9da06450c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "devDependencies": { "assert": "~1.3.0", "babel-eslint": "^6.1.2", @@ -21,10 +21,13 @@ "shelljs": "^0.7.7" }, "scripts": { - "test": "make test", - "clean": "node ./scripts/removefiledependencies.js && rm -rf package-lock.json && rm -rf packages/*/package-lock.json", - "removefiledependencies": "node ./scripts/removefiledependencies.js", - "postinstall": "rm -rf packages/*/node_modules && node ./scripts/setup.js" + "clean": "npm run removesymlinkdependencies && rm -rf package-lock.json && rm -rf packages/*/package-lock.json", + "clean:all": "npm run removesymlinkdependencies && rm -rf package-lock.json && rm -rf packages/*/package-lock.json && rm -rf packages/*/node_modules", + "release": "npm run clean:all && npm install && npm run createsymlinkdependencies && lerna exec --concurrency 1 -- npm install && npm run removesymlinkdependencies && node ./scripts/publish.js $TAG", + "createsymlinkdependencies": "node ./scripts/createSymlinkDependencies.js", + "removesymlinkdependencies": "node ./scripts/removeSymlinkDependencies.js", + "setup": "npm run clean:all && npm install && node ./scripts/setup.js", + "test": "make test" }, "author": { "email": "hi@strapi.io", @@ -53,8 +56,5 @@ "node": ">= 7.0.0", "npm": ">= 3.0.0" }, - "license": "MIT", - "dependencies": { - "strapi-utils": "file:packages/strapi-utils" - } + "license": "MIT" } diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 0be4829427..5e1308ab4c 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-admin", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Strapi Admin", "homepage": "http://strapi.io", "keywords": [ @@ -14,7 +14,7 @@ "dependencies": { "fs-extra": "^0.30.0", "lodash": "^4.17.4", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-utils": "^3.0.0-alpha.4.8" }, "scripts": { "test": "cd files/public && npm run test", diff --git a/packages/strapi-bookshelf/package.json b/packages/strapi-bookshelf/package.json index 4a54a5788a..3ff574ea61 100644 --- a/packages/strapi-bookshelf/package.json +++ b/packages/strapi-bookshelf/package.json @@ -1,6 +1,6 @@ { "name": "strapi-bookshelf", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Bookshelf hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -19,7 +19,7 @@ "bookshelf": "^0.10.3", "lodash": "^4.17.4", "pluralize": "^3.1.0", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-utils": "^3.0.0-alpha.4.8" }, "strapi": { "isHook": true, diff --git a/packages/strapi-ejs/package.json b/packages/strapi-ejs/package.json index 454b2b6882..ed882da989 100644 --- a/packages/strapi-ejs/package.json +++ b/packages/strapi-ejs/package.json @@ -1,6 +1,6 @@ { "name": "strapi-ejs", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "EJS hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-admin/package.json b/packages/strapi-generate-admin/package.json index ce1147e49d..ebff1a0435 100644 --- a/packages/strapi-generate-admin/package.json +++ b/packages/strapi-generate-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-admin", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate the default admin panel for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "fs-extra": "^0.30.0", "lodash": "^4.17.4", - "strapi-admin": "^3.0.0-alpha.4.3" + "strapi-admin": "^3.0.0-alpha.4.8" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-generate-api/package.json b/packages/strapi-generate-api/package.json index 82dcde3575..f11cb4d5bd 100644 --- a/packages/strapi-generate-api/package.json +++ b/packages/strapi-generate-api/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-api", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate an API for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-controller/package.json b/packages/strapi-generate-controller/package.json index 4239cb5bae..2980d95f30 100644 --- a/packages/strapi-generate-controller/package.json +++ b/packages/strapi-generate-controller/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-controller", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate a controller for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-migrations/package.json b/packages/strapi-generate-migrations/package.json index a53c17f5ca..fa8f0a8c5f 100644 --- a/packages/strapi-generate-migrations/package.json +++ b/packages/strapi-generate-migrations/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-migrations", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate migration files for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -23,8 +23,8 @@ "knex": "^0.12.9", "lodash": "^4.17.4", "pluralize": "^3.1.0", - "strapi-bookshelf": "^3.0.0-alpha.4.3", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-bookshelf": "^3.0.0-alpha.4.8", + "strapi-utils": "^3.0.0-alpha.4.8" }, "scripts": { "prepublish": "npm prune" diff --git a/packages/strapi-generate-model/package.json b/packages/strapi-generate-model/package.json index 2b22f5cb28..3966954e1b 100644 --- a/packages/strapi-generate-model/package.json +++ b/packages/strapi-generate-model/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-model", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate a model for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index ecc4cd572d..c545896709 100644 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-new", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate a new Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -16,7 +16,7 @@ "enpeem": "^2.2.0", "fs-extra": "^1.0.0", "lodash": "^4.17.4", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-utils": "^3.0.0-alpha.4.8" }, "scripts": { "prepublish": "npm prune" diff --git a/packages/strapi-generate-plugin/package.json b/packages/strapi-generate-plugin/package.json index e6c4e05931..ee5fbfa576 100644 --- a/packages/strapi-generate-plugin/package.json +++ b/packages/strapi-generate-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-plugin", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate an plugin for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-policy/package.json b/packages/strapi-generate-policy/package.json index 93ec509a33..15e4454582 100644 --- a/packages/strapi-generate-policy/package.json +++ b/packages/strapi-generate-policy/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-policy", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate a policy for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-service/package.json b/packages/strapi-generate-service/package.json index 93b14c1a3d..fb7bb371df 100644 --- a/packages/strapi-generate-service/package.json +++ b/packages/strapi-generate-service/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-service", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Generate a service for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate/package.json b/packages/strapi-generate/package.json index 1f609d127e..2ad4d80847 100644 --- a/packages/strapi-generate/package.json +++ b/packages/strapi-generate/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Master of ceremonies for the Strapi generators.", "homepage": "http://strapi.io", "keywords": [ @@ -17,7 +17,7 @@ "fs-extra": "^1.0.0", "lodash": "^4.17.4", "reportback": "^2.0.1", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-utils": "^3.0.0-alpha.4.8" }, "scripts": { "prepublish": "npm prune" diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index 4316041815..eec76cef08 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-helper-plugin", - "version": "3.0.0-alpha.4.4", + "version": "3.0.0-alpha.4.8", "description": "Helper for Strapi plugins development", "engines": { "node": ">= 8.0.0", diff --git a/packages/strapi-knex/package.json b/packages/strapi-knex/package.json index b5b5a53664..26bd892c64 100644 --- a/packages/strapi-knex/package.json +++ b/packages/strapi-knex/package.json @@ -1,6 +1,6 @@ { "name": "strapi-knex", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Knex hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -23,9 +23,6 @@ "strapi": { "isHook": true }, - "scripts": { - "prepublish": "npm prune" - }, "author": { "email": "hi@strapi.io", "name": "Strapi team", diff --git a/packages/strapi-mongoose/package.json b/packages/strapi-mongoose/package.json index 912f0ea380..c66586a8b5 100644 --- a/packages/strapi-mongoose/package.json +++ b/packages/strapi-mongoose/package.json @@ -1,6 +1,6 @@ { "name": "strapi-mongoose", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Mongoose hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -20,7 +20,7 @@ "mongoose-double": "0.0.1", "mongoose-float": "^1.0.2", "pluralize": "^3.1.0", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-utils": "^3.0.0-alpha.4.8" }, "strapi": { "isHook": true diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index 22737bcbd1..d5887a3ab9 100644 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-manager", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "A powerful UI to easily manage your data.", "engines": { "node": ">= 8.0.0", @@ -48,6 +48,6 @@ "react-select": "^1.0.0-rc.5" }, "devDependencies": { - "strapi-helper-plugin": "^3.0.0-alpha.4.4" + "strapi-helper-plugin": "^3.0.0-alpha.4.5" } } \ No newline at end of file diff --git a/packages/strapi-redis/package.json b/packages/strapi-redis/package.json index f6ffeeb481..0f79ce3756 100644 --- a/packages/strapi-redis/package.json +++ b/packages/strapi-redis/package.json @@ -1,6 +1,6 @@ { "name": "strapi-redis", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Redis hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -18,7 +18,7 @@ "ioredis": "^2.5.0", "lodash": "^4.17.4", "stack-trace": "0.0.9", - "strapi-utils": "^3.0.0-alpha.4.3" + "strapi-utils": "^3.0.0-alpha.4.8" }, "strapi": { "isHook": true diff --git a/packages/strapi-utils/package.json b/packages/strapi-utils/package.json index f393cff4a2..cd5a713ef8 100644 --- a/packages/strapi-utils/package.json +++ b/packages/strapi-utils/package.json @@ -1,6 +1,6 @@ { "name": "strapi-utils", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "Shared utilities for the Strapi packages", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi/package.json b/packages/strapi/package.json index b2f9fa8ce7..e8c7368377 100644 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -1,6 +1,6 @@ { "name": "strapi", - "version": "3.0.0-alpha.4.3", + "version": "3.0.0-alpha.4.8", "description": "An open source solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier.", "homepage": "http://strapi.io", "keywords": [ @@ -38,6 +38,7 @@ "boom": "^4.3.1", "consolidate": "^0.14.5", "delegates": "^1.0.0", + "forever-monitor": "^1.7.1", "kcors": "^2.2.1", "koa": "^2.3.0", "koa-better-static": "^1.0.5", @@ -63,17 +64,14 @@ "node-schedule": "^1.2.3", "semver": "^5.3.0", "socket.io": "^1.7.4", - "strapi-generate": "^3.0.0-alpha.4.3", - "strapi-generate-admin": "^3.0.0-alpha.4.3", - "strapi-generate-api": "^3.0.0-alpha.4.3", - "strapi-generate-new": "^3.0.0-alpha.4.3", - "strapi-generate-policy": "^3.0.0-alpha.4.3", - "strapi-generate-service": "^3.0.0-alpha.4.3", - "strapi-mongoose": "^3.0.0-alpha.4.3", - "strapi-utils": "^3.0.0-alpha.4.3" - }, - "devDependencies": { - "forever-monitor": "^1.7.1" + "strapi-generate": "^3.0.0-alpha.4.8", + "strapi-generate-admin": "^3.0.0-alpha.4.8", + "strapi-generate-api": "^3.0.0-alpha.4.8", + "strapi-generate-new": "^3.0.0-alpha.4.8", + "strapi-generate-policy": "^3.0.0-alpha.4.8", + "strapi-generate-service": "^3.0.0-alpha.4.8", + "strapi-mongoose": "^3.0.0-alpha.4.8", + "strapi-utils": "^3.0.0-alpha.4.8" }, "author": { "email": "hi@strapi.io", diff --git a/scripts/createSymlinkDependencies.js b/scripts/createSymlinkDependencies.js new file mode 100644 index 0000000000..c79e4ff941 --- /dev/null +++ b/scripts/createSymlinkDependencies.js @@ -0,0 +1,18 @@ +const fs = require('fs'); +const path = require('path'); + +try { + const packages = fs.readdirSync(path.resolve(process.cwd(),'packages'), 'utf8'); + + packages.filter(pkg => pkg.indexOf('strapi') !== -1).forEach(pkg => { + const packageJSON = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), 'packages', pkg, 'package.json'), 'utf8')); + + Object.keys(packageJSON.dependencies).filter(dependency => dependency.indexOf('strapi-') !== -1).forEach(dependency => { + packageJSON.dependencies[dependency] = 'file:../' + dependency; + }); + + fs.writeFileSync(path.resolve(process.cwd(), 'packages', pkg, 'package.json'), JSON.stringify(packageJSON, null, 2), 'utf8'); + }); +} catch (error) { + console.error(error); +} diff --git a/scripts/publish.js b/scripts/publish.js new file mode 100644 index 0000000000..654e9c24ee --- /dev/null +++ b/scripts/publish.js @@ -0,0 +1,17 @@ +const fs = require('fs'); +const path = require('path'); +const shell = require('shelljs'); + +try { + const packages = fs.readdirSync(path.resolve(process.cwd(),'packages'), 'utf8'); + + shell.cd('packages/strapi'); + + packages.filter(pkg => pkg.indexOf('strapi') !== -1).forEach(pkg => { + shell.cd('../' + pkg); + shell.echo(pkg + ': npm publish --tag ' + process.argv[2]); + shell.exec('npm publish --tag ' + process.argv[2]); + }); +} catch (error) { + console.error(error); +} diff --git a/scripts/removefiledependencies.js b/scripts/removeSymlinkDependencies.js similarity index 95% rename from scripts/removefiledependencies.js rename to scripts/removeSymlinkDependencies.js index 65f34806e6..7ddb25ad4c 100644 --- a/scripts/removefiledependencies.js +++ b/scripts/removeSymlinkDependencies.js @@ -8,6 +8,8 @@ try { packages.filter(pkg => pkg.indexOf('strapi') !== -1).forEach(pkg => { const packageJSON = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), 'packages', pkg, 'package.json'), 'utf8')); + packageJSON.version = pkgJSON.version; + Object.keys(packageJSON.dependencies).filter(dependency => dependency.indexOf('strapi-') !== -1).forEach(dependency => { if (packageJSON.dependencies[dependency].indexOf('file:') !== -1) { packageJSON.dependencies[dependency] = '^' + pkgJSON.version;