diff --git a/.gitignore b/.gitignore index 2df305b6..698ac87e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,5 +26,4 @@ tmp/ .yml _site coverage -tests/sea-modules/ -spm_modules +tests/spm_modules diff --git a/Makefile b/Makefile index 24d0125e..761edcb5 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ all: @chmod -R +x .git/hooks/ -specs := $(shell find ./tests -name '*.js' ! -path "*node_modules/*" ! -path "*sea-modules/*" ! -path "*build/*") +specs := $(shell find ./tests -name '*.js' ! -path "*node_modules/*" ! -path "*spm_modules/*" ! -path "*build/*") reporter = spec test: ./node_modules/.bin/istanbul cover \ diff --git a/bin/spm-install b/bin/spm-install index 06ba1cde..858aa68c 100755 --- a/bin/spm-install +++ b/bin/spm-install @@ -10,7 +10,7 @@ commander .usage('[options] name[@version]') .option('--registry ', 'registry url of yuan server') .option('-I, --input-directory ', 'input directory, default: current working directory') - .option('-d, --destination ', 'output directory, default: sea-modules') + .option('-d, --destination ', 'output directory, default: spm_modules') .option('-f, --force', 'force to download a unstable module') .option('-q, --quiet', 'show less logs') .option('-S, --save', 'save alias to package.json') diff --git a/bin/spm-tree b/bin/spm-tree index 5a2679e5..912c51cd 100755 --- a/bin/spm-tree +++ b/bin/spm-tree @@ -32,7 +32,7 @@ if (query) { spm.install.fetch(query, function(err, dest) { spm.install({ source: commander.source, - destination: dest + '/sea-modules/', + destination: dest + '/' + spmrc.get('install.path') + '/', force: commander.force, parallel: commander.parallel, query: commander.args @@ -64,8 +64,9 @@ function tree(f, paths, depth) { return {}; } var pkg = require(f); + var installPath = spmrc.get('install.path'); - paths = paths || ['sea-modules', path.join(spmrc.get('user.home'), '.spm', 'sea-modules')]; + paths = paths || [installPath, path.join(spmrc.get('user.home'), '.spm', installPath)]; var node = {}; var title = pkg.name; diff --git a/lib/build.js b/lib/build.js index 933c8af4..ad250546 100644 --- a/lib/build.js +++ b/lib/build.js @@ -6,6 +6,7 @@ var glob = require('glob'); var log = require('./utils/log'); var umi = require('umi'); var gulp = require('gulp'); +var spmrc = require('spmrc'); var multipipe = require('multipipe'); var $ = require('gulp-load-plugins')({ config: require('../package.json') @@ -33,7 +34,8 @@ function build(args, cb) { try { var pkg = new umi.Package(args.cwd, { skip: args.skip || [], - ignore: args.ignore || [] + ignore: args.ignore || [], + moduleDir: spmrc.get('install.path') }); if (!args.noPkgLog) { log.info('package', 'analyse infomation'); @@ -78,7 +80,7 @@ function build(args, cb) { var depPkgs = pkg.getPackages(); for (var id in depPkgs) { files = files.concat(getFiles(depPkgs[id]).map(function(f) { - return 'sea-modules/'+id.replace('@','/')+'/' + f; + return spmrc.get('install.path') + '/' + id.replace('@','/') + '/' + f; })); } log.info('withDeps', 'files: ' + files); diff --git a/lib/init-template/root/.gitignore b/lib/init-template/root/.gitignore index cda03391..4b5d61d0 100644 --- a/lib/init-template/root/.gitignore +++ b/lib/init-template/root/.gitignore @@ -19,6 +19,6 @@ Thumbs.db .build node_modules _site -sea-modules +spm_modules .cache dist diff --git a/lib/init-template/root/.spmignore b/lib/init-template/root/.spmignore index b9a3a517..1bbf16af 100644 --- a/lib/init-template/root/.spmignore +++ b/lib/init-template/root/.spmignore @@ -1,6 +1,6 @@ dist _site -sea-modules +spm_modules node_modules .git tests diff --git a/lib/sdk/module.js b/lib/sdk/module.js index 9d433759..5b96ba2b 100644 --- a/lib/sdk/module.js +++ b/lib/sdk/module.js @@ -1,6 +1,7 @@ var file = require('./file'); var path = require('path'); var fs = require('fs'); +var spmrc = require('spmrc'); var Package = require('umi').Package; function parseDependencies(deps) { @@ -11,7 +12,9 @@ function parseDependencies(deps) { exports.parseDependencies = parseDependencies; exports.getSourceFiles = function(root) { - var pkg = new Package(root || process.cwd()); + var pkg = new Package(root || process.cwd(), { + moduleDir: spmrc.get('install.path') + }); return Object.keys(pkg.files).map(function(file) { return file.replace(/\.js$/, ''); }); diff --git a/lib/theme/nico.js b/lib/theme/nico.js index c84ad778..8dc1ddbf 100644 --- a/lib/theme/nico.js +++ b/lib/theme/nico.js @@ -1,5 +1,6 @@ var path = require('path'); var fs = require('fs'); +var spmrc = require('spmrc'); var serveSPM = require('serve-spm'); var pkg = require(path.join(process.cwd(), 'package.json')); @@ -21,7 +22,7 @@ exports.ignorefilter = function(filepath, subdir) { if (/\.DS_Store/.test(filepath)) { return false; } - if (/^sea-modules/.test(subdir) && + if (new RegExp('^' + spmrc.get('install.path')).test(subdir) && /\.(md|markdown|html|psd|zip|yml)/.test(path.extname(filepath))) { return false; } diff --git a/lib/theme/utils.js b/lib/theme/utils.js index 1f4c6273..f2652f6a 100644 --- a/lib/theme/utils.js +++ b/lib/theme/utils.js @@ -1,6 +1,7 @@ var fs = require('fs'); var path = require('path'); -var SEA_MODULES = exports.SEA_MODULES = 'sea-modules'; +var spmrc = require('spmrc'); +var SEA_MODULES = exports.SEA_MODULES = spmrc.get('install.path'); // load all css files in dependencies exports.cssDependencies = function() { @@ -19,7 +20,7 @@ exports.cssDependencies = function() { tempPkg.spm = tempPkg.spm || {}; var main = tempPkg.spm.main || ''; if (tempPkg.spm && /\.css$/.test(main)) { - ret[tempPkg.name] = 'sea-modules/' + tempPkg.name + '/' + tempPkg.version + '/' + main; + ret[tempPkg.name] = SEA_MODULES + '/' + tempPkg.name + '/' + tempPkg.version + '/' + main; } }); }); diff --git a/package.json b/package.json index d72cb2aa..633f1cfc 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ ], "dependencies": { "archy": "~0.0.2", - "colorful": "~2.1.0", "co": "3.1.0", + "colorful": "~2.1.0", "commander": "~2.3.0", "exeq": "~1.0.0", "form-data": "~0.1.2", @@ -55,12 +55,12 @@ "request": "~2.36.0", "rimraf": "~2.2.5", "semver": "~2.2.1", - "serve-spm": "~0.3.1", - "spmrc": "~1.1.0", + "serve-spm": "~0.4.0", + "spm-client": "~0.2.0", + "spmrc": "^1.2.0", "tar": "~0.1.19", "umi": "~0.5.0", - "win-spawn": "~2.0.0", - "spm-client": "~0.2.0" + "win-spawn": "~2.0.0" }, "devDependencies": { "sinon": "*", diff --git a/tests/build/build-css/sea-modules/b/1.1.0/b.css b/tests/build/build-css/spm_modules/b/1.1.0/b.css similarity index 100% rename from tests/build/build-css/sea-modules/b/1.1.0/b.css rename to tests/build/build-css/spm_modules/b/1.1.0/b.css diff --git a/tests/build/build-css/sea-modules/b/1.1.0/index.css b/tests/build/build-css/spm_modules/b/1.1.0/index.css similarity index 100% rename from tests/build/build-css/sea-modules/b/1.1.0/index.css rename to tests/build/build-css/spm_modules/b/1.1.0/index.css diff --git a/tests/build/build-css/sea-modules/b/1.1.0/package.json b/tests/build/build-css/spm_modules/b/1.1.0/package.json similarity index 100% rename from tests/build/build-css/sea-modules/b/1.1.0/package.json rename to tests/build/build-css/spm_modules/b/1.1.0/package.json diff --git a/tests/build/build-css/sea-modules/import-style/1.0.0/index.js b/tests/build/build-css/spm_modules/import-style/1.0.0/index.js similarity index 100% rename from tests/build/build-css/sea-modules/import-style/1.0.0/index.js rename to tests/build/build-css/spm_modules/import-style/1.0.0/index.js diff --git a/tests/build/build-css/sea-modules/import-style/1.0.0/package.json b/tests/build/build-css/spm_modules/import-style/1.0.0/package.json similarity index 100% rename from tests/build/build-css/sea-modules/import-style/1.0.0/package.json rename to tests/build/build-css/spm_modules/import-style/1.0.0/package.json diff --git a/tests/build/build-js-extdeps/sea-modules/import-style/1.0.0/index.js b/tests/build/build-js-extdeps/spm_modules/import-style/1.0.0/index.js similarity index 100% rename from tests/build/build-js-extdeps/sea-modules/import-style/1.0.0/index.js rename to tests/build/build-js-extdeps/spm_modules/import-style/1.0.0/index.js diff --git a/tests/build/build-js-extdeps/sea-modules/import-style/1.0.0/package.json b/tests/build/build-js-extdeps/spm_modules/import-style/1.0.0/package.json similarity index 100% rename from tests/build/build-js-extdeps/sea-modules/import-style/1.0.0/package.json rename to tests/build/build-js-extdeps/spm_modules/import-style/1.0.0/package.json diff --git a/tests/build/build-js-other/sea-modules/handlebars-runtime/1.3.0/handlebars.js b/tests/build/build-js-other/spm_modules/handlebars-runtime/1.3.0/handlebars.js similarity index 100% rename from tests/build/build-js-other/sea-modules/handlebars-runtime/1.3.0/handlebars.js rename to tests/build/build-js-other/spm_modules/handlebars-runtime/1.3.0/handlebars.js diff --git a/tests/build/build-js-other/sea-modules/handlebars-runtime/1.3.0/package.json b/tests/build/build-js-other/spm_modules/handlebars-runtime/1.3.0/package.json similarity index 100% rename from tests/build/build-js-other/sea-modules/handlebars-runtime/1.3.0/package.json rename to tests/build/build-js-other/spm_modules/handlebars-runtime/1.3.0/package.json diff --git a/tests/build/build-js/sea-modules/b/1.1.0/package.json b/tests/build/build-js/spm_modules/b/1.1.0/package.json similarity index 100% rename from tests/build/build-js/sea-modules/b/1.1.0/package.json rename to tests/build/build-js/spm_modules/b/1.1.0/package.json diff --git a/tests/build/build-js/sea-modules/b/1.1.0/src/b.js b/tests/build/build-js/spm_modules/b/1.1.0/src/b.js similarity index 100% rename from tests/build/build-js/sea-modules/b/1.1.0/src/b.js rename to tests/build/build-js/spm_modules/b/1.1.0/src/b.js diff --git a/tests/build/build-js/sea-modules/b/1.1.0/src/b.tpl b/tests/build/build-js/spm_modules/b/1.1.0/src/b.tpl similarity index 100% rename from tests/build/build-js/sea-modules/b/1.1.0/src/b.tpl rename to tests/build/build-js/spm_modules/b/1.1.0/src/b.tpl diff --git a/tests/build/build-js/sea-modules/c/1.1.1/index.js b/tests/build/build-js/spm_modules/c/1.1.1/index.js similarity index 100% rename from tests/build/build-js/sea-modules/c/1.1.1/index.js rename to tests/build/build-js/spm_modules/c/1.1.1/index.js diff --git a/tests/build/build-js/sea-modules/c/1.1.1/package.json b/tests/build/build-js/spm_modules/c/1.1.1/package.json similarity index 100% rename from tests/build/build-js/sea-modules/c/1.1.1/package.json rename to tests/build/build-js/spm_modules/c/1.1.1/package.json diff --git a/tests/build/build-js/sea-modules/d/0.1.0/index.js b/tests/build/build-js/spm_modules/d/0.1.0/index.js similarity index 100% rename from tests/build/build-js/sea-modules/d/0.1.0/index.js rename to tests/build/build-js/spm_modules/d/0.1.0/index.js diff --git a/tests/build/build-js/sea-modules/d/0.1.0/package.json b/tests/build/build-js/spm_modules/d/0.1.0/package.json similarity index 100% rename from tests/build/build-js/sea-modules/d/0.1.0/package.json rename to tests/build/build-js/spm_modules/d/0.1.0/package.json diff --git a/tests/build/build-js/sea-modules/d/0.1.1/index.js b/tests/build/build-js/spm_modules/d/0.1.1/index.js similarity index 100% rename from tests/build/build-js/sea-modules/d/0.1.1/index.js rename to tests/build/build-js/spm_modules/d/0.1.1/index.js diff --git a/tests/build/build-js/sea-modules/d/0.1.1/package.json b/tests/build/build-js/spm_modules/d/0.1.1/package.json similarity index 100% rename from tests/build/build-js/sea-modules/d/0.1.1/package.json rename to tests/build/build-js/spm_modules/d/0.1.1/package.json diff --git a/tests/build/build-multiple-versions/sea-modules/b/0.1.0/index.js b/tests/build/build-multiple-versions/spm_modules/b/0.1.0/index.js similarity index 100% rename from tests/build/build-multiple-versions/sea-modules/b/0.1.0/index.js rename to tests/build/build-multiple-versions/spm_modules/b/0.1.0/index.js diff --git a/tests/build/build-multiple-versions/sea-modules/b/0.1.0/package.json b/tests/build/build-multiple-versions/spm_modules/b/0.1.0/package.json similarity index 100% rename from tests/build/build-multiple-versions/sea-modules/b/0.1.0/package.json rename to tests/build/build-multiple-versions/spm_modules/b/0.1.0/package.json diff --git a/tests/build/build-multiple-versions/sea-modules/c/0.1.0/index.js b/tests/build/build-multiple-versions/spm_modules/c/0.1.0/index.js similarity index 100% rename from tests/build/build-multiple-versions/sea-modules/c/0.1.0/index.js rename to tests/build/build-multiple-versions/spm_modules/c/0.1.0/index.js diff --git a/tests/build/build-multiple-versions/sea-modules/c/0.1.0/package.json b/tests/build/build-multiple-versions/spm_modules/c/0.1.0/package.json similarity index 100% rename from tests/build/build-multiple-versions/sea-modules/c/0.1.0/package.json rename to tests/build/build-multiple-versions/spm_modules/c/0.1.0/package.json diff --git a/tests/build/build-multiple-versions/sea-modules/c/0.1.1/index.js b/tests/build/build-multiple-versions/spm_modules/c/0.1.1/index.js similarity index 100% rename from tests/build/build-multiple-versions/sea-modules/c/0.1.1/index.js rename to tests/build/build-multiple-versions/spm_modules/c/0.1.1/index.js diff --git a/tests/build/build-multiple-versions/sea-modules/c/0.1.1/package.json b/tests/build/build-multiple-versions/spm_modules/c/0.1.1/package.json similarity index 100% rename from tests/build/build-multiple-versions/sea-modules/c/0.1.1/package.json rename to tests/build/build-multiple-versions/spm_modules/c/0.1.1/package.json