├── static
└── .gitkeep
├── .vscode
└── settings.json
├── .gitignore
├── .babelrc
├── config
├── prod.env.js
├── test.env.js
├── dev.env.js
└── index.js
├── src
├── assets
│ └── logo.png
├── vue-calendar-component
│ ├── index.js
│ ├── calendar.js
│ └── calendar.vue
├── router
│ └── index.js
├── App.vue
├── main.js
└── demo
│ └── demo.vue
├── test
├── unit
│ ├── .eslintrc
│ ├── specs
│ │ └── Hello.spec.js
│ ├── index.js
│ └── karma.conf.js
└── e2e
│ ├── specs
│ └── test.js
│ ├── custom-assertions
│ └── elementCount.js
│ ├── runner.js
│ └── nightwatch.conf.js
├── index.html
├── dist
├── static
│ ├── css
│ │ └── app.7eadf47d1c1a7d67cc4760f0a424f0b1.css
│ └── js
│ │ ├── manifest.3ad1d5771e9b13dbdad2.js
│ │ └── app.fe9ac084af73375d6135.js
└── index.html
├── package.json
├── README.md
└── npm-debug.log
/static/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["env"]
3 | }
--------------------------------------------------------------------------------
/config/prod.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | module.exports = {
3 | NODE_ENV: '"production"'
4 | }
5 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zwhGithub/vue-calendar/HEAD/src/assets/logo.png
--------------------------------------------------------------------------------
/src/vue-calendar-component/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by ZWH on 2017/6/22.
3 | */
4 | import Calendar from './calendar.vue';
5 | export default Calendar;
6 |
--------------------------------------------------------------------------------
/test/unit/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "mocha": true
4 | },
5 | "globals": {
6 | "expect": true,
7 | "sinon": true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/config/test.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const devEnv = require('./dev.env')
4 |
5 | module.exports = merge(devEnv, {
6 | NODE_ENV: '"testing"'
7 | })
8 |
--------------------------------------------------------------------------------
/config/dev.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const prodEnv = require('./prod.env')
4 |
5 | module.exports = merge(prodEnv, {
6 | NODE_ENV: '"development"'
7 | })
8 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import HelloWorld from '@/demo/demo'
4 |
5 | Vue.use(Router)
6 |
7 | export default new Router({
8 | routes: [{
9 | path: '/',
10 | name: 'Hello',
11 | component: HelloWorld
12 | }]
13 | })
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
25 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | app
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/test/unit/specs/Hello.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import HelloWorld from '@/components/HelloWorld'
3 |
4 | describe('HelloWorld.vue', () => {
5 | it('should render correct contents', () => {
6 | const Constructor = Vue.extend(HelloWorld)
7 | const vm = new Constructor().$mount()
8 | expect(vm.$el.querySelector('.hello h1').textContent)
9 | .to.equal('Welcome to Your Vue.js App')
10 | })
11 | })
12 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | // The Vue build version to load with the `import` command
2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
3 | import Vue from 'vue';
4 | import App from './App';
5 | import router from './router';
6 |
7 | Vue.config.productionTip = false;
8 | import Toast from 'vue-toast-component';
9 | Vue.use(Toast);
10 |
11 | /* eslint-disable no-new */
12 | new Vue({
13 | el: '#app',
14 | router,
15 | template: '',
16 | components: { App }
17 | });
--------------------------------------------------------------------------------
/dist/static/css/app.7eadf47d1c1a7d67cc4760f0a424f0b1.css:
--------------------------------------------------------------------------------
1 | *{margin:0;padding:0}#app,body{width:100%;height:100%;background:#ddd}h3[data-v-02a3a480]{text-align:center;width:90%;margin:auto}.div[data-v-02a3a480]{margin:auto;width:220px;height:44px;line-height:44px;background:#0fc37c;color:#fff;font-size:17px;text-align:center;margin-top:20px}.wh_container[data-v-02a3a480] .mark1{background-color:orange}.wh_container[data-v-02a3a480] .mark2{background-color:blue}.wh_content_item>.wh_isMark[data-v-02a3a480]{background:orange}
--------------------------------------------------------------------------------
/test/unit/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | Vue.config.productionTip = false
4 |
5 | // require all test files (files that ends with .spec.js)
6 | const testsContext = require.context('./specs', true, /\.spec$/)
7 | testsContext.keys().forEach(testsContext)
8 |
9 | // require all src files except main.js for coverage.
10 | // you can also change this to match only the subset of files that
11 | // you want coverage for.
12 | const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
13 | srcContext.keys().forEach(srcContext)
14 |
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 | app
--------------------------------------------------------------------------------
/test/e2e/specs/test.js:
--------------------------------------------------------------------------------
1 | // For authoring Nightwatch tests, see
2 | // http://nightwatchjs.org/guide#usage
3 |
4 | module.exports = {
5 | 'default e2e tests': function (browser) {
6 | // automatically uses dev Server port from /config.index.js
7 | // default: http://localhost:8080
8 | // see nightwatch.conf.js
9 | const devServer = browser.globals.devServerURL
10 |
11 | browser
12 | .url(devServer)
13 | .waitForElementVisible('#app', 5000)
14 | .assert.elementPresent('.hello')
15 | .assert.containsText('h1', 'Welcome to Your Vue.js App')
16 | .assert.elementCount('img', 1)
17 | .end()
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/dist/static/js/manifest.3ad1d5771e9b13dbdad2.js:
--------------------------------------------------------------------------------
1 | !function(r){function n(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}var e=window.webpackJsonp;window.webpackJsonp=function(o,u,c){for(var f,i,p,a=0,l=[];a has count: ' + count
11 | this.expected = count
12 | this.pass = function (val) {
13 | return val === this.expected
14 | }
15 | this.value = function (res) {
16 | return res.value
17 | }
18 | this.command = function (cb) {
19 | var self = this
20 | return this.api.execute(function (selector) {
21 | return document.querySelectorAll(selector).length
22 | }, [selector], function (res) {
23 | cb.call(self, res)
24 | })
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/test/unit/karma.conf.js:
--------------------------------------------------------------------------------
1 | // This is a karma config file. For more details see
2 | // http://karma-runner.github.io/0.13/config/configuration-file.html
3 | // we are also using it with karma-webpack
4 | // https://github.com/webpack/karma-webpack
5 |
6 | var webpackConfig = require('../../build/webpack.test.conf')
7 |
8 | module.exports = function (config) {
9 | config.set({
10 | // to run in additional browsers:
11 | // 1. install corresponding karma launcher
12 | // http://karma-runner.github.io/0.13/config/browsers.html
13 | // 2. add it to the `browsers` array below.
14 | browsers: ['PhantomJS'],
15 | frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
16 | reporters: ['spec', 'coverage'],
17 | files: ['./index.js'],
18 | preprocessors: {
19 | './index.js': ['webpack', 'sourcemap']
20 | },
21 | webpack: webpackConfig,
22 | webpackMiddleware: {
23 | noInfo: true
24 | },
25 | coverageReporter: {
26 | dir: './coverage',
27 | reporters: [
28 | { type: 'lcov', subdir: '.' },
29 | { type: 'text-summary' }
30 | ]
31 | }
32 | })
33 | }
34 |
--------------------------------------------------------------------------------
/test/e2e/runner.js:
--------------------------------------------------------------------------------
1 | // 1. start the dev server using production config
2 | process.env.NODE_ENV = 'testing'
3 | var server = require('../../build/dev-server.js')
4 |
5 | server.ready.then(() => {
6 | // 2. run the nightwatch test suite against it
7 | // to run in additional browsers:
8 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
9 | // 2. add it to the --env flag below
10 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
11 | // For more information on Nightwatch's config file, see
12 | // http://nightwatchjs.org/guide#settings-file
13 | var opts = process.argv.slice(2)
14 | if (opts.indexOf('--config') === -1) {
15 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
16 | }
17 | if (opts.indexOf('--env') === -1) {
18 | opts = opts.concat(['--env', 'chrome'])
19 | }
20 |
21 | var spawn = require('cross-spawn')
22 | var runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })
23 |
24 | runner.on('exit', function (code) {
25 | server.close()
26 | process.exit(code)
27 | })
28 |
29 | runner.on('error', function (err) {
30 | server.close()
31 | throw err
32 | })
33 | })
34 |
--------------------------------------------------------------------------------
/test/e2e/nightwatch.conf.js:
--------------------------------------------------------------------------------
1 | require('babel-register')
2 | var config = require('../../config')
3 |
4 | // http://nightwatchjs.org/gettingstarted#settings-file
5 | module.exports = {
6 | src_folders: ['test/e2e/specs'],
7 | output_folder: 'test/e2e/reports',
8 | custom_assertions_path: ['test/e2e/custom-assertions'],
9 |
10 | selenium: {
11 | start_process: true,
12 | server_path: require('selenium-server').path,
13 | host: '127.0.0.1',
14 | port: 4444,
15 | cli_args: {
16 | 'webdriver.chrome.driver': require('chromedriver').path
17 | }
18 | },
19 |
20 | test_settings: {
21 | default: {
22 | selenium_port: 4444,
23 | selenium_host: 'localhost',
24 | silent: true,
25 | globals: {
26 | devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
27 | }
28 | },
29 |
30 | chrome: {
31 | desiredCapabilities: {
32 | browserName: 'chrome',
33 | javascriptEnabled: true,
34 | acceptSslCerts: true
35 | }
36 | },
37 |
38 | firefox: {
39 | desiredCapabilities: {
40 | browserName: 'firefox',
41 | javascriptEnabled: true,
42 | acceptSslCerts: true
43 | }
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/config/index.js:
--------------------------------------------------------------------------------
1 |
2 | 'use strict'
3 | // Template version: 1.1.3
4 | // see http://vuejs-templates.github.io/webpack for documentation.
5 |
6 | const path = require('path')
7 |
8 | module.exports = {
9 | build: {
10 | env: require('./prod.env'),
11 | index: path.resolve(__dirname, '../dist/index.html'),
12 | assetsRoot: path.resolve(__dirname, '../dist'),
13 | assetsSubDirectory: 'static',
14 | assetsPublicPath: './',
15 | productionSourceMap: true,
16 | // Gzip off by default as many popular static hosts such as
17 | // Surge or Netlify already gzip all static assets for you.
18 | // Before setting to `true`, make sure to:
19 | // npm install --save-dev compression-webpack-plugin
20 | productionGzip: false,
21 | productionGzipExtensions: ['js', 'css'],
22 | // Run the build command with an extra argument to
23 | // View the bundle analyzer report after build finishes:
24 | // `npm run build --report`
25 | // Set to `true` or `false` to always turn it on or off
26 | bundleAnalyzerReport: process.env.npm_config_report
27 | },
28 | dev: {
29 | env: require('./dev.env'),
30 | port: process.env.PORT || 8080,
31 | autoOpenBrowser: true,
32 | assetsSubDirectory: 'static',
33 | assetsPublicPath: '/',
34 | proxyTable: {},
35 | // CSS Sourcemaps off by default because relative paths are "buggy"
36 | // with this option, according to the CSS-Loader README
37 | // (https://github.com/webpack/css-loader#sourcemaps)
38 | // In our experience, they generally work as expected,
39 | // just be aware of this issue when enabling this option.
40 | cssSourceMap: false
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-demo",
3 | "version": "1.0.0",
4 | "description": "A Vue.js project",
5 | "author": "wh git push origin master:gh-pages",
6 | "private": true,
7 | "scripts": {
8 | "dev": "node build/dev-server.js",
9 | "start": "npm run dev",
10 | "build": "node build/build.js",
11 | "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
12 | "e2e": "node test/e2e/runner.js",
13 | "test": "npm run unit && npm run e2e"
14 | },
15 | "dependencies": {
16 | "vue": "^2.5.2",
17 | "vue-calendar-component": "^2.8.2",
18 | "vue-router": "^3.0.1",
19 | "vue-toast-component": "^2.0.0"
20 | },
21 | "devDependencies": {
22 | "autoprefixer": "^7.1.2",
23 | "babel-core": "^6.22.1",
24 | "babel-loader": "^7.1.1",
25 | "babel-plugin-transform-runtime": "^6.22.0",
26 | "babel-preset-env": "^1.3.2",
27 | "babel-preset-stage-2": "^6.22.0",
28 | "babel-register": "^6.22.0",
29 | "chalk": "^2.0.1",
30 | "connect-history-api-fallback": "^1.3.0",
31 | "copy-webpack-plugin": "^4.0.1",
32 | "css-loader": "^0.28.0",
33 | "eventsource-polyfill": "^0.9.6",
34 | "express": "^4.14.1",
35 | "extract-text-webpack-plugin": "^3.0.0",
36 | "file-loader": "^1.1.4",
37 | "friendly-errors-webpack-plugin": "^1.6.1",
38 | "html-webpack-plugin": "^2.30.1",
39 | "http-proxy-middleware": "^0.17.3",
40 | "webpack-bundle-analyzer": "^2.9.0",
41 | "cross-env": "^5.0.1",
42 | "karma": "^1.4.1",
43 | "karma-coverage": "^1.1.1",
44 | "karma-mocha": "^1.3.0",
45 | "karma-phantomjs-launcher": "^1.0.2",
46 | "karma-phantomjs-shim": "^1.4.0",
47 | "karma-sinon-chai": "^1.3.1",
48 | "karma-sourcemap-loader": "^0.3.7",
49 | "karma-spec-reporter": "0.0.31",
50 | "karma-webpack": "^2.0.2",
51 | "mocha": "^3.2.0",
52 | "chai": "^4.1.2",
53 | "sinon": "^4.0.0",
54 | "sinon-chai": "^2.8.0",
55 | "inject-loader": "^3.0.0",
56 | "babel-plugin-istanbul": "^4.1.1",
57 | "phantomjs-prebuilt": "^2.1.14",
58 | "chromedriver": "^2.27.2",
59 | "cross-spawn": "^5.0.1",
60 | "nightwatch": "^0.9.12",
61 | "selenium-server": "^3.0.1",
62 | "semver": "^5.3.0",
63 | "shelljs": "^0.7.6",
64 | "opn": "^5.1.0",
65 | "optimize-css-assets-webpack-plugin": "^3.2.0",
66 | "ora": "^1.2.0",
67 | "rimraf": "^2.6.0",
68 | "url-loader": "^0.5.8",
69 | "vue-loader": "^13.3.0",
70 | "vue-style-loader": "^3.0.1",
71 | "vue-template-compiler": "^2.5.2",
72 | "portfinder": "^1.0.13",
73 | "webpack": "^3.6.0",
74 | "webpack-dev-middleware": "^1.12.0",
75 | "webpack-hot-middleware": "^2.18.2",
76 | "webpack-merge": "^4.1.0"
77 | },
78 | "engines": {
79 | "node": ">= 4.0.0",
80 | "npm": ">= 3.0.0"
81 | },
82 | "browserslist": [
83 | "> 1%",
84 | "last 2 versions",
85 | "not ie <= 8"
86 | ]
87 | }
88 |
--------------------------------------------------------------------------------
/dist/static/js/app.fe9ac084af73375d6135.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([1],{"2+Mw":function(e,t,a){"use strict";var n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"content"},[a("Calendar",{ref:"Calendar",attrs:{markDateMore:e.arr,markDate:e.arr2,agoDayHide:"1530115221"},on:{isToday:e.clickToday,choseDay:e.clickDay,changeMonth:e.changeDate}}),e._v(" "),a("br"),e._v(" "),a("h3",{on:{click:e.demo}},[e._v("markDateMore标记不同风格::1号2号一种风格====13号另一种风格")]),e._v(" "),a("br"),e._v(" "),a("h3",[e._v("markDate 标记23号 单一风格 更简单")]),e._v(" "),a("div",{staticClass:"div",on:{click:e.demo}},[e._v("点击跳到2018-12-12")])],1)},r=[],o={render:n,staticRenderFns:r};t.a=o},"2lNz":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a("qPaF"),r=function(e){return e&&e.__esModule?e:{default:e}}(n);t.default={data:function(){return{arr2:[],arr:[{date:"2018/8/1",className:"mark1"},{date:"2018/8/13",className:"mark2"}]}},components:{Calendar:r.default},methods:{clickDay:function(e){console.log("选中了",e),this.$toast("选中了"+e)},clickToday:function(e){console.log("跳到了本月今天",e)},changeDate:function(e){this.$toast("切换到的月份为"+e),console.log("左右点击切换月份",e)},demo:function(){this.$refs.Calendar.ChoseMonth("2018-12-13")}},created:function(){function e(e,t){return e=new Date(e),e.getFullYear()+"-"+(e.getMonth()+1)+"-"+t}var t=this;setTimeout(function(){t.arr=[{date:e(new Date,3),className:"mark1"},{date:e(new Date,12),className:"mark2"}],t.arr.push({date:e(new Date,15),className:"mark1"})},300)}}},"40c4":function(e,t,a){"use strict";var n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"app"}},[a("router-view")],1)},r=[],o={render:n,staticRenderFns:r};t.a=o},M93x:function(e,t,a){"use strict";function n(e){a("Q+oy")}Object.defineProperty(t,"__esModule",{value:!0});var r=a("xJD8"),o=a.n(r);for(var u in r)"default"!==u&&function(e){a.d(t,e,function(){return r[e]})}(u);var c=a("40c4"),l=a("VU/8"),s=n,i=l(o.a,c.a,!1,s,null,null);t.default=i.exports},NHnr:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var r=a("7+uW"),o=n(r),u=a("M93x"),c=n(u),l=a("YaEn"),s=n(l),i=a("lmBj"),d=n(i);o.default.config.productionTip=!1,o.default.use(d.default),new o.default({el:"#app",router:s.default,template:"",components:{App:c.default}})},"Q+oy":function(e,t){},YaEn:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=a("7+uW"),o=n(r),u=a("/ocq"),c=n(u),l=a("eNIl"),s=n(l);o.default.use(c.default),t.default=new c.default({routes:[{path:"/",name:"Hello",component:s.default}]})},dHB5:function(e,t){},eNIl:function(e,t,a){"use strict";function n(e){a("dHB5")}Object.defineProperty(t,"__esModule",{value:!0});var r=a("2lNz"),o=a.n(r);for(var u in r)"default"!==u&&function(e){a.d(t,e,function(){return r[e]})}(u);var c=a("2+Mw"),l=a("VU/8"),s=n,i=l(o.a,c.a,!1,s,"data-v-02a3a480",null);t.default=i.exports},xJD8:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"app"}}},["NHnr"]);
--------------------------------------------------------------------------------
/src/demo/demo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
14 |
15 |
markDateMore标记不同风格::1号2号一种风格====13号另一种风格
16 |
17 |
markDate 标记23号 单一风格 更简单
18 |
点击跳到2018-12-12
19 |
20 |
21 |
22 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/src/vue-calendar-component/calendar.js:
--------------------------------------------------------------------------------
1 | export default {
2 | // 当某月的天数
3 | getDaysInOneMonth(date) {
4 | const year = date.getFullYear();
5 | const month = date.getMonth() + 1;
6 | const d = new Date(year, month, 0);
7 | return d.getDate();
8 | },
9 | // 向前空几个
10 | getMonthweek(date) {
11 | const year = date.getFullYear();
12 | const month = date.getMonth() + 1;
13 | const dateFirstOne = new Date(year + '/' + month + '/1');
14 | return this.sundayStart ?
15 | dateFirstOne.getDay() == 0 ? 7 : dateFirstOne.getDay() :
16 | dateFirstOne.getDay() == 0 ? 6 : dateFirstOne.getDay() - 1;
17 | },
18 | /**
19 | * 获取当前日期上个月或者下个月
20 | */
21 | getOtherMonth(date, str = 'nextMonth') {
22 | const timeArray = this.dateFormat(date).split('/');
23 | const year = timeArray[0];
24 | const month = timeArray[1];
25 | const day = timeArray[2];
26 | let year2 = year;
27 | let month2;
28 | if (str === 'nextMonth') {
29 | month2 = parseInt(month) + 1;
30 | if (month2 == 13) {
31 | year2 = parseInt(year2) + 1;
32 | month2 = 1;
33 | }
34 | } else {
35 | month2 = parseInt(month) - 1;
36 | if (month2 == 0) {
37 | year2 = parseInt(year2) - 1;
38 | month2 = 12;
39 | }
40 | }
41 | let day2 = day;
42 | const days2 = new Date(year2, month2, 0).getDate();
43 | if (day2 > days2) {
44 | day2 = days2;
45 | }
46 | if (month2 < 10) {
47 | month2 = '0' + month2;
48 | }
49 | if (day2 < 10) {
50 | day2 = '0' + day2;
51 | }
52 | const t2 = year2 + '/' + month2 + '/' + day2;
53 | return new Date(t2);
54 | },
55 | // 上个月末尾的一些日期
56 | getLeftArr(date) {
57 | const arr = [];
58 | const leftNum = this.getMonthweek(date);
59 | const num = this.getDaysInOneMonth(this.getOtherMonth(date, 'preMonth')) - leftNum + 1;
60 | const preDate = this.getOtherMonth(date, 'preMonth');
61 | // 上个月多少开始
62 | for (let i = 0; i < leftNum; i++) {
63 | const nowTime = preDate.getFullYear() + '/' + (preDate.getMonth() + 1) + '/' + (num + i);
64 | arr.push({
65 | id: num + i,
66 | date: nowTime,
67 | isToday: false,
68 | otherMonth: 'preMonth',
69 | });
70 | }
71 | return arr;
72 | },
73 | // 下个月末尾的一些日期
74 | getRightArr(date) {
75 | const arr = [];
76 | const nextDate = this.getOtherMonth(date, 'nextMonth');
77 | const leftLength = this.getDaysInOneMonth(date) + this.getMonthweek(date);
78 | const _length = 7 - leftLength % 7;
79 | for (let i = 0; i < _length; i++) {
80 | const nowTime = nextDate.getFullYear() + '/' + (nextDate.getMonth() + 1) + '/' + (i + 1);
81 | arr.push({
82 | id: i + 1,
83 | date: nowTime,
84 | isToday: false,
85 | otherMonth: 'nextMonth',
86 | });
87 | }
88 | return arr;
89 | },
90 | // format日期
91 | dateFormat(date) {
92 | date = typeof date === 'string' ? new Date(date.replace(/\-/g, '/')) : date;
93 | return date.getFullYear() + '/' + (date.getMonth() + 1) + '/'
94 | + date.getDate();
95 | },
96 | // 获取某月的列表不包括上月和下月
97 | getMonthListNoOther(date) {
98 | const arr = [];
99 | const num = this.getDaysInOneMonth(date);
100 | const year = date.getFullYear();
101 | const month = date.getMonth() + 1;
102 | const toDay = this.dateFormat(new Date());
103 |
104 | for (let i = 0; i < num; i++) {
105 | const nowTime = year + '/' + month + '/' + (i + 1);
106 | arr.push({
107 | id: i + 1,
108 | date: nowTime,
109 | isToday: toDay === nowTime,
110 | otherMonth: 'nowMonth',
111 | });
112 | }
113 | return arr;
114 | },
115 | // 获取某月的列表 用于渲染
116 | getMonthList(date) {
117 | return [ ...this.getLeftArr(date), ...this.getMonthListNoOther(date), ...this.getRightArr(date) ];
118 | },
119 | // 默认是周一开始
120 | sundayStart: false,
121 | };
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## vue-calendar-component
2 |
3 | * 基于 vue 2.0 开发的轻量,高性能日历组件
4 | * 占用内存小,性能好,样式好看,可扩展性强
5 | * 原生 js 开发,没引入第三方库
6 |
7 | 
8 | 
9 |
10 | ## Why
11 |
12 | * Github 上很多点击弹出日历选择某个时间的组件,却没有找到单纯展示日历并且能点击获取时间的组件
13 | * 少部分日历组件的占用内存过于大,对于日历这样简单的功能来说显然不够合理
14 |
15 | ## Demo
16 |
17 |  [或者请用浏览器的手机模式查看](https://zwhgithub.github.io/vue-calendar/dist/#/)
18 |
19 | ## 效果
20 |
21 | 
22 | * 🎉 觉得好用给一个 star 哦~~ 🎉
23 |
24 | ## Install
25 |
26 | ```javascript
27 | npm i vue-calendar-component --save
28 | cnpm i vue-calendar-component --save //国内镜像
29 | ```
30 |
31 | ## [github地址](https://github.com/zwhGithub/vue-calendar) 详细文档
32 |
33 |
34 | ## Usage
35 |
36 | ```javascript
37 | //vue文件中引入
38 | import Calendar from 'vue-calendar-component';
39 |
40 | components: {
41 | Calendar
42 | }
43 |
54 |
55 | clickDay(data) {
56 | console.log(data); //选中某天
57 | },
58 | changeDate(data) {
59 | console.log(data); //左右点击切换月份
60 | },
61 | clickToday(data) {
62 | console.log(data); // 跳到了本月
63 | }
64 |
65 | // 多个标记示例
66 | arr=[{date:'2018/4/1',className:"mark1"}, {date:'2018/4/13',className:"mark2"}];
67 | //4月1 标记的className是mark1 根据class做出一些标记样式
68 | ```
69 |
70 | ### API
71 |
72 | | 属性 | 说明 | 默认 | 是否必传 |
73 | | :------------ | :----------------------------------------------------------------------------------------------------- | :----: | :------: |
74 | | choseDay | 选中某天调用的方法,返回选中的日期 YY-MM-DD | 无 | 否 |
75 | | changeMonth | 切换月份调用的方法,返回切换到某月的日期 YY-MM-DD | 无 | 否 |
76 | | isToday | 切换月份的时候,如果切到当前月份,调用这个方法,返回当前月今天 | 无 | 否 |
77 | | markDate | 如果需要某月的几天被标注,传当月的日期数组。如["2018/2/2","2018/2/6"]被会标注(相同的标记) | 空数组 | 否 |
78 | | markDateMore | 需要不同的标记如上Usage 最后一行示例代码 | 空数组 | 否 |
79 | | agoDayHide | 某个日期以前的不允许点击 时间戳长度是 10 位 | 0 | 否 |
80 | | futureDayHide | 某个日期以后的不允许点击 时间戳长度是 10 位 | 很大 | 否 |
81 | | sundayStart | 默认是周一开始 当是true的时候 是周日开始 | false | 否 |
82 | | textTop | 日历头部的文字,默认是 [ '日','一', '二', '三', '四', '五', '六'] ,可以根据自己的需求进行不同的修改。 | --- | 否 |
83 |
84 | ```javascript
85 | ✅ 在 Calendar标签上添加 ref 属性, 暴露出三个方法可以 直接切换月份
86 | 例如:
87 |
88 | ✅ this.$refs.Calendar.PreMonth(); //调用方法实现转到上个月
89 | ✅ this.$refs.Calendar.NextMonth(); //调用方法实现转到下个月
90 | ✅ this.$refs.Calendar.ChoseMonth('2018-12-12'); //调用方法实现转到某个月
91 | ✅ this.$refs.Calendar.ChoseMonth('2018-12-12',false); //跳转到18年12月12日 但是不选中当天
92 | //第二个参数 false表示不选中日期 。
93 | ```
94 | ## 遇到错误---
95 | - 遇到提示UglifyJs打包编译错误。
96 | 因为当前版本UglifyJs不知道编译es6
97 |
98 | 解决方法
99 | **npm install --save-dev babel-preset-env**
100 | 然后在根目录创建一个 .babelrc 文件
101 | 在输入,
102 | {
103 | "presets": ["env"]
104 | }
105 |
保存 重新build就OK了
106 |
107 | [babel-preset-env官方文档](https://github.com/babel/babel-preset-env)
108 | ## Other
109 |
110 | * src 下面的 App.vue 有 demo 可以参考
111 | * 如果有其他问题或者版本上, 功能上不兼容的 邮件沟通 zwhcoder@gmail.com,请具体 标明问题。
112 |
--------------------------------------------------------------------------------
/src/vue-calendar-component/calendar.vue:
--------------------------------------------------------------------------------
1 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
{{dateTop}}
143 |
144 |
145 |
146 |
147 |
152 |
160 |
161 |
162 |
163 |
--------------------------------------------------------------------------------
/npm-debug.log:
--------------------------------------------------------------------------------
1 | 0 info it worked if it ends with ok
2 | 1 verbose cli [ '/usr/local/bin/node',
3 | 1 verbose cli '/usr/local/bin/npm',
4 | 1 verbose cli 'install',
5 | 1 verbose cli '-g',
6 | 1 verbose cli 'parcel' ]
7 | 2 info using npm@3.10.10
8 | 3 info using node@v6.12.0
9 | 4 silly loadCurrentTree Starting
10 | 5 silly install loadCurrentTree
11 | 6 silly install readGlobalPackageData
12 | 7 silly fetchPackageMetaData parcel
13 | 8 silly fetchNamedPackageData parcel
14 | 9 silly mapToRegistry name parcel
15 | 10 silly mapToRegistry using default registry
16 | 11 silly mapToRegistry registry https://registry.npm.taobao.org/
17 | 12 silly mapToRegistry data Result {
18 | 12 silly mapToRegistry raw: 'parcel',
19 | 12 silly mapToRegistry scope: null,
20 | 12 silly mapToRegistry escapedName: 'parcel',
21 | 12 silly mapToRegistry name: 'parcel',
22 | 12 silly mapToRegistry rawSpec: '',
23 | 12 silly mapToRegistry spec: 'latest',
24 | 12 silly mapToRegistry type: 'tag' }
25 | 13 silly mapToRegistry uri https://registry.npm.taobao.org/parcel
26 | 14 verbose request uri https://registry.npm.taobao.org/parcel
27 | 15 verbose request no auth needed
28 | 16 info attempt registry request try #1 at 14:26:22
29 | 17 verbose request id 6d93321a503770a2
30 | 18 http request GET https://registry.npm.taobao.org/parcel
31 | 19 http 200 https://registry.npm.taobao.org/parcel
32 | 20 verbose headers { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
33 | 20 verbose headers 'content-type': 'application/json; charset=utf-8',
34 | 20 verbose headers 'content-length': '3813',
35 | 20 verbose headers connection: 'keep-alive',
36 | 20 verbose headers 'x-current-requests': '1',
37 | 20 verbose headers vary: 'Origin',
38 | 20 verbose headers etag: '"ee5-jvk4exJZp+XfOz7gmsEbllqKe2k"',
39 | 20 verbose headers 'x-readtime': '26' }
40 | 21 silly get cb [ 200,
41 | 21 silly get { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
42 | 21 silly get 'content-type': 'application/json; charset=utf-8',
43 | 21 silly get 'content-length': '3813',
44 | 21 silly get connection: 'keep-alive',
45 | 21 silly get 'x-current-requests': '1',
46 | 21 silly get vary: 'Origin',
47 | 21 silly get etag: '"ee5-jvk4exJZp+XfOz7gmsEbllqKe2k"',
48 | 21 silly get 'x-readtime': '26' } ]
49 | 22 verbose get saving parcel to /Users/zwh/.npm/registry.npm.taobao.org/parcel/.cache.json
50 | 23 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
51 | 24 silly install normalizeTree
52 | 25 silly loadCurrentTree Finishing
53 | 26 silly loadIdealTree Starting
54 | 27 silly install loadIdealTree
55 | 28 silly cloneCurrentTree Starting
56 | 29 silly install cloneCurrentTreeToIdealTree
57 | 30 silly cloneCurrentTree Finishing
58 | 31 silly loadShrinkwrap Starting
59 | 32 silly install loadShrinkwrap
60 | 33 silly loadShrinkwrap Finishing
61 | 34 silly loadAllDepsIntoIdealTree Starting
62 | 35 silly install loadAllDepsIntoIdealTree
63 | 36 silly resolveWithNewModule parcel@0.0.1 checking installable status
64 | 37 silly cache add args [ 'parcel', null ]
65 | 38 verbose cache add spec parcel
66 | 39 silly cache add parsed spec Result {
67 | 39 silly cache add raw: 'parcel',
68 | 39 silly cache add scope: null,
69 | 39 silly cache add escapedName: 'parcel',
70 | 39 silly cache add name: 'parcel',
71 | 39 silly cache add rawSpec: '',
72 | 39 silly cache add spec: 'latest',
73 | 39 silly cache add type: 'tag' }
74 | 40 silly addNamed parcel@latest
75 | 41 verbose addNamed "latest" is being treated as a dist-tag for parcel
76 | 42 info addNameTag [ 'parcel', 'latest' ]
77 | 43 silly mapToRegistry name parcel
78 | 44 silly mapToRegistry using default registry
79 | 45 silly mapToRegistry registry https://registry.npm.taobao.org/
80 | 46 silly mapToRegistry data Result {
81 | 46 silly mapToRegistry raw: 'parcel',
82 | 46 silly mapToRegistry scope: null,
83 | 46 silly mapToRegistry escapedName: 'parcel',
84 | 46 silly mapToRegistry name: 'parcel',
85 | 46 silly mapToRegistry rawSpec: '',
86 | 46 silly mapToRegistry spec: 'latest',
87 | 46 silly mapToRegistry type: 'tag' }
88 | 47 silly mapToRegistry uri https://registry.npm.taobao.org/parcel
89 | 48 verbose addNameTag registry:https://registry.npm.taobao.org/parcel not in flight; fetching
90 | 49 verbose get https://registry.npm.taobao.org/parcel not expired, no request
91 | 50 silly addNameTag next cb for parcel with tag latest
92 | 51 silly addNamed parcel@0.0.1
93 | 52 verbose addNamed "0.0.1" is a plain semver version for parcel
94 | 53 silly mapToRegistry name parcel
95 | 54 silly mapToRegistry using default registry
96 | 55 silly mapToRegistry registry https://registry.npm.taobao.org/
97 | 56 silly mapToRegistry data Result {
98 | 56 silly mapToRegistry raw: 'parcel',
99 | 56 silly mapToRegistry scope: null,
100 | 56 silly mapToRegistry escapedName: 'parcel',
101 | 56 silly mapToRegistry name: 'parcel',
102 | 56 silly mapToRegistry rawSpec: '',
103 | 56 silly mapToRegistry spec: 'latest',
104 | 56 silly mapToRegistry type: 'tag' }
105 | 57 silly mapToRegistry uri https://registry.npm.taobao.org/parcel
106 | 58 verbose addRemoteTarball https://registry.npm.taobao.org/parcel/download/parcel-0.0.1.tgz not in flight; adding
107 | 59 verbose addRemoteTarball [ 'https://registry.npm.taobao.org/parcel/download/parcel-0.0.1.tgz',
108 | 59 verbose addRemoteTarball 'fb91c66015317c2a7db750c2ce7e54aa3715492c' ]
109 | 60 info retry fetch attempt 1 at 14:26:22
110 | 61 info attempt registry request try #1 at 14:26:22
111 | 62 http fetch GET https://registry.npm.taobao.org/parcel/download/parcel-0.0.1.tgz
112 | 63 http fetch 200 https://registry.npm.taobao.org/parcel/download/parcel-0.0.1.tgz
113 | 64 silly fetchAndShaCheck shasum fb91c66015317c2a7db750c2ce7e54aa3715492c
114 | 65 verbose addTmpTarball /var/folders/bd/nfr83lw93gx43jwww8tsc80h0000gn/T/npm-76435-b9cbf9b6/registry.npm.taobao.org/parcel/download/parcel-0.0.1.tgz not in flight; adding
115 | 66 verbose addTmpTarball already have metadata; skipping unpack for parcel@0.0.1
116 | 67 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
117 | 68 silly cache afterAdd parcel@0.0.1
118 | 69 verbose afterAdd /Users/zwh/.npm/parcel/0.0.1/package/package.json not in flight; writing
119 | 70 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
120 | 71 verbose afterAdd /Users/zwh/.npm/parcel/0.0.1/package/package.json written
121 | 72 silly fetchNamedPackageData commander
122 | 73 silly mapToRegistry name commander
123 | 74 silly mapToRegistry using default registry
124 | 75 silly mapToRegistry registry https://registry.npm.taobao.org/
125 | 76 silly mapToRegistry data Result {
126 | 76 silly mapToRegistry raw: 'commander',
127 | 76 silly mapToRegistry scope: null,
128 | 76 silly mapToRegistry escapedName: 'commander',
129 | 76 silly mapToRegistry name: 'commander',
130 | 76 silly mapToRegistry rawSpec: '',
131 | 76 silly mapToRegistry spec: 'latest',
132 | 76 silly mapToRegistry type: 'tag' }
133 | 77 silly mapToRegistry uri https://registry.npm.taobao.org/commander
134 | 78 silly fetchNamedPackageData path-extra
135 | 79 silly mapToRegistry name path-extra
136 | 80 silly mapToRegistry using default registry
137 | 81 silly mapToRegistry registry https://registry.npm.taobao.org/
138 | 82 silly mapToRegistry data Result {
139 | 82 silly mapToRegistry raw: 'path-extra',
140 | 82 silly mapToRegistry scope: null,
141 | 82 silly mapToRegistry escapedName: 'path-extra',
142 | 82 silly mapToRegistry name: 'path-extra',
143 | 82 silly mapToRegistry rawSpec: '',
144 | 82 silly mapToRegistry spec: 'latest',
145 | 82 silly mapToRegistry type: 'tag' }
146 | 83 silly mapToRegistry uri https://registry.npm.taobao.org/path-extra
147 | 84 silly fetchNamedPackageData aws-sdk
148 | 85 silly mapToRegistry name aws-sdk
149 | 86 silly mapToRegistry using default registry
150 | 87 silly mapToRegistry registry https://registry.npm.taobao.org/
151 | 88 silly mapToRegistry data Result {
152 | 88 silly mapToRegistry raw: 'aws-sdk',
153 | 88 silly mapToRegistry scope: null,
154 | 88 silly mapToRegistry escapedName: 'aws-sdk',
155 | 88 silly mapToRegistry name: 'aws-sdk',
156 | 88 silly mapToRegistry rawSpec: '',
157 | 88 silly mapToRegistry spec: 'latest',
158 | 88 silly mapToRegistry type: 'tag' }
159 | 89 silly mapToRegistry uri https://registry.npm.taobao.org/aws-sdk
160 | 90 silly fetchNamedPackageData debug
161 | 91 silly mapToRegistry name debug
162 | 92 silly mapToRegistry using default registry
163 | 93 silly mapToRegistry registry https://registry.npm.taobao.org/
164 | 94 silly mapToRegistry data Result {
165 | 94 silly mapToRegistry raw: 'debug',
166 | 94 silly mapToRegistry scope: null,
167 | 94 silly mapToRegistry escapedName: 'debug',
168 | 94 silly mapToRegistry name: 'debug',
169 | 94 silly mapToRegistry rawSpec: '',
170 | 94 silly mapToRegistry spec: 'latest',
171 | 94 silly mapToRegistry type: 'tag' }
172 | 95 silly mapToRegistry uri https://registry.npm.taobao.org/debug
173 | 96 verbose request uri https://registry.npm.taobao.org/path-extra
174 | 97 verbose request no auth needed
175 | 98 info attempt registry request try #1 at 14:26:22
176 | 99 http request GET https://registry.npm.taobao.org/path-extra
177 | 100 verbose request uri https://registry.npm.taobao.org/aws-sdk
178 | 101 verbose request no auth needed
179 | 102 info attempt registry request try #1 at 14:26:22
180 | 103 http request GET https://registry.npm.taobao.org/aws-sdk
181 | 104 verbose request uri https://registry.npm.taobao.org/commander
182 | 105 verbose request no auth needed
183 | 106 info attempt registry request try #1 at 14:26:22
184 | 107 verbose etag "151e0-stVFTSsI6RoVPC363ZkCYDhFlvY"
185 | 108 http request GET https://registry.npm.taobao.org/commander
186 | 109 verbose request uri https://registry.npm.taobao.org/debug
187 | 110 verbose request no auth needed
188 | 111 info attempt registry request try #1 at 14:26:22
189 | 112 verbose etag "1c1ec-0+i0MUO8v/rcZjcQGuY+6rsa28Y"
190 | 113 http request GET https://registry.npm.taobao.org/debug
191 | 114 http 200 https://registry.npm.taobao.org/path-extra
192 | 115 verbose headers { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
193 | 115 verbose headers 'content-type': 'application/json; charset=utf-8',
194 | 115 verbose headers 'content-length': '26723',
195 | 115 verbose headers connection: 'keep-alive',
196 | 115 verbose headers 'x-current-requests': '1',
197 | 115 verbose headers vary: 'Origin',
198 | 115 verbose headers etag: '"6863-Fa/st2R3w4sMTRKz9rtRtcQT2lU"',
199 | 115 verbose headers 'x-readtime': '30' }
200 | 116 silly get cb [ 200,
201 | 116 silly get { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
202 | 116 silly get 'content-type': 'application/json; charset=utf-8',
203 | 116 silly get 'content-length': '26723',
204 | 116 silly get connection: 'keep-alive',
205 | 116 silly get 'x-current-requests': '1',
206 | 116 silly get vary: 'Origin',
207 | 116 silly get etag: '"6863-Fa/st2R3w4sMTRKz9rtRtcQT2lU"',
208 | 116 silly get 'x-readtime': '30' } ]
209 | 117 verbose get saving path-extra to /Users/zwh/.npm/registry.npm.taobao.org/path-extra/.cache.json
210 | 118 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
211 | 119 silly resolveWithNewModule path-extra@0.1.1 checking installable status
212 | 120 silly cache add args [ 'path-extra@0.1.x', null ]
213 | 121 verbose cache add spec path-extra@0.1.x
214 | 122 silly cache add parsed spec Result {
215 | 122 silly cache add raw: 'path-extra@0.1.x',
216 | 122 silly cache add scope: null,
217 | 122 silly cache add escapedName: 'path-extra',
218 | 122 silly cache add name: 'path-extra',
219 | 122 silly cache add rawSpec: '0.1.x',
220 | 122 silly cache add spec: '>=0.1.0 <0.2.0',
221 | 122 silly cache add type: 'range' }
222 | 123 silly addNamed path-extra@>=0.1.0 <0.2.0
223 | 124 verbose addNamed ">=0.1.0 <0.2.0" is a valid semver range for path-extra
224 | 125 silly addNameRange { name: 'path-extra', range: '>=0.1.0 <0.2.0', hasData: false }
225 | 126 silly mapToRegistry name path-extra
226 | 127 silly mapToRegistry using default registry
227 | 128 silly mapToRegistry registry https://registry.npm.taobao.org/
228 | 129 silly mapToRegistry data Result {
229 | 129 silly mapToRegistry raw: 'path-extra',
230 | 129 silly mapToRegistry scope: null,
231 | 129 silly mapToRegistry escapedName: 'path-extra',
232 | 129 silly mapToRegistry name: 'path-extra',
233 | 129 silly mapToRegistry rawSpec: '',
234 | 129 silly mapToRegistry spec: 'latest',
235 | 129 silly mapToRegistry type: 'tag' }
236 | 130 silly mapToRegistry uri https://registry.npm.taobao.org/path-extra
237 | 131 verbose addNameRange registry:https://registry.npm.taobao.org/path-extra not in flight; fetching
238 | 132 verbose get https://registry.npm.taobao.org/path-extra not expired, no request
239 | 133 silly addNameRange number 2 { name: 'path-extra', range: '>=0.1.0 <0.2.0', hasData: true }
240 | 134 silly addNameRange versions [ 'path-extra',
241 | 134 silly addNameRange [ '4.2.1',
242 | 134 silly addNameRange '4.2.0',
243 | 134 silly addNameRange '4.1.0',
244 | 134 silly addNameRange '4.0.0',
245 | 134 silly addNameRange '3.0.0',
246 | 134 silly addNameRange '2.0.0',
247 | 134 silly addNameRange '1.0.3',
248 | 134 silly addNameRange '1.0.2',
249 | 134 silly addNameRange '1.0.1',
250 | 134 silly addNameRange '1.0.0',
251 | 134 silly addNameRange '0.3.0',
252 | 134 silly addNameRange '0.2.1',
253 | 134 silly addNameRange '0.2.0',
254 | 134 silly addNameRange '0.1.1',
255 | 134 silly addNameRange '0.1.0',
256 | 134 silly addNameRange '0.0.3',
257 | 134 silly addNameRange '0.0.2',
258 | 134 silly addNameRange '0.0.1' ] ]
259 | 135 silly addNamed path-extra@0.1.1
260 | 136 verbose addNamed "0.1.1" is a plain semver version for path-extra
261 | 137 silly mapToRegistry name path-extra
262 | 138 silly mapToRegistry using default registry
263 | 139 silly mapToRegistry registry https://registry.npm.taobao.org/
264 | 140 silly mapToRegistry data Result {
265 | 140 silly mapToRegistry raw: 'path-extra',
266 | 140 silly mapToRegistry scope: null,
267 | 140 silly mapToRegistry escapedName: 'path-extra',
268 | 140 silly mapToRegistry name: 'path-extra',
269 | 140 silly mapToRegistry rawSpec: '',
270 | 140 silly mapToRegistry spec: 'latest',
271 | 140 silly mapToRegistry type: 'tag' }
272 | 141 silly mapToRegistry uri https://registry.npm.taobao.org/path-extra
273 | 142 verbose addRemoteTarball https://registry.npm.taobao.org/path-extra/download/path-extra-0.1.1.tgz not in flight; adding
274 | 143 verbose addRemoteTarball [ 'https://registry.npm.taobao.org/path-extra/download/path-extra-0.1.1.tgz',
275 | 143 verbose addRemoteTarball '698294f0e237889f00e356b993f76d5340fb5615' ]
276 | 144 info retry fetch attempt 1 at 14:26:23
277 | 145 info attempt registry request try #1 at 14:26:23
278 | 146 http fetch GET https://registry.npm.taobao.org/path-extra/download/path-extra-0.1.1.tgz
279 | 147 http fetch 200 https://registry.npm.taobao.org/path-extra/download/path-extra-0.1.1.tgz
280 | 148 silly fetchAndShaCheck shasum 698294f0e237889f00e356b993f76d5340fb5615
281 | 149 verbose addTmpTarball /var/folders/bd/nfr83lw93gx43jwww8tsc80h0000gn/T/npm-76435-b9cbf9b6/registry.npm.taobao.org/path-extra/download/path-extra-0.1.1.tgz not in flight; adding
282 | 150 verbose addTmpTarball already have metadata; skipping unpack for path-extra@0.1.1
283 | 151 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
284 | 152 silly cache afterAdd path-extra@0.1.1
285 | 153 verbose afterAdd /Users/zwh/.npm/path-extra/0.1.1/package/package.json not in flight; writing
286 | 154 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
287 | 155 verbose afterAdd /Users/zwh/.npm/path-extra/0.1.1/package/package.json written
288 | 156 http 200 https://registry.npm.taobao.org/commander
289 | 157 verbose headers { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
290 | 157 verbose headers 'content-type': 'application/json; charset=utf-8',
291 | 157 verbose headers 'content-length': '94526',
292 | 157 verbose headers connection: 'keep-alive',
293 | 157 verbose headers 'x-current-requests': '1',
294 | 157 verbose headers etag: '"1713e-AO8RPj21QJpd9XDWf2b1CzqYiAU"',
295 | 157 verbose headers 'x-readtime': '57' }
296 | 158 silly get cb [ 200,
297 | 158 silly get { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
298 | 158 silly get 'content-type': 'application/json; charset=utf-8',
299 | 158 silly get 'content-length': '94526',
300 | 158 silly get connection: 'keep-alive',
301 | 158 silly get 'x-current-requests': '1',
302 | 158 silly get etag: '"1713e-AO8RPj21QJpd9XDWf2b1CzqYiAU"',
303 | 158 silly get 'x-readtime': '57' } ]
304 | 159 verbose get saving commander to /Users/zwh/.npm/registry.npm.taobao.org/commander/.cache.json
305 | 160 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
306 | 161 silly resolveWithNewModule commander@1.3.2 checking installable status
307 | 162 silly cache add args [ 'commander@1.x.x', null ]
308 | 163 verbose cache add spec commander@1.x.x
309 | 164 silly cache add parsed spec Result {
310 | 164 silly cache add raw: 'commander@1.x.x',
311 | 164 silly cache add scope: null,
312 | 164 silly cache add escapedName: 'commander',
313 | 164 silly cache add name: 'commander',
314 | 164 silly cache add rawSpec: '1.x.x',
315 | 164 silly cache add spec: '>=1.0.0 <2.0.0',
316 | 164 silly cache add type: 'range' }
317 | 165 silly addNamed commander@>=1.0.0 <2.0.0
318 | 166 verbose addNamed ">=1.0.0 <2.0.0" is a valid semver range for commander
319 | 167 silly addNameRange { name: 'commander', range: '>=1.0.0 <2.0.0', hasData: false }
320 | 168 silly mapToRegistry name commander
321 | 169 silly mapToRegistry using default registry
322 | 170 silly mapToRegistry registry https://registry.npm.taobao.org/
323 | 171 silly mapToRegistry data Result {
324 | 171 silly mapToRegistry raw: 'commander',
325 | 171 silly mapToRegistry scope: null,
326 | 171 silly mapToRegistry escapedName: 'commander',
327 | 171 silly mapToRegistry name: 'commander',
328 | 171 silly mapToRegistry rawSpec: '',
329 | 171 silly mapToRegistry spec: 'latest',
330 | 171 silly mapToRegistry type: 'tag' }
331 | 172 silly mapToRegistry uri https://registry.npm.taobao.org/commander
332 | 173 verbose addNameRange registry:https://registry.npm.taobao.org/commander not in flight; fetching
333 | 174 verbose get https://registry.npm.taobao.org/commander not expired, no request
334 | 175 silly addNameRange number 2 { name: 'commander', range: '>=1.0.0 <2.0.0', hasData: true }
335 | 176 silly addNameRange versions [ 'commander',
336 | 176 silly addNameRange [ '2.13.0',
337 | 176 silly addNameRange '2.12.2',
338 | 176 silly addNameRange '2.12.1',
339 | 176 silly addNameRange '2.12.0',
340 | 176 silly addNameRange '2.11.0',
341 | 176 silly addNameRange '2.10.0',
342 | 176 silly addNameRange '2.9.0',
343 | 176 silly addNameRange '2.8.1',
344 | 176 silly addNameRange '2.8.0',
345 | 176 silly addNameRange '2.7.1',
346 | 176 silly addNameRange '2.7.0',
347 | 176 silly addNameRange '2.6.0',
348 | 176 silly addNameRange '2.5.1',
349 | 176 silly addNameRange '2.5.0',
350 | 176 silly addNameRange '2.4.0',
351 | 176 silly addNameRange '2.3.0',
352 | 176 silly addNameRange '2.2.0',
353 | 176 silly addNameRange '2.1.0',
354 | 176 silly addNameRange '2.0.0',
355 | 176 silly addNameRange '1.3.2',
356 | 176 silly addNameRange '1.3.1',
357 | 176 silly addNameRange '1.3.0',
358 | 176 silly addNameRange '1.2.0',
359 | 176 silly addNameRange '1.1.1',
360 | 176 silly addNameRange '1.1.0',
361 | 176 silly addNameRange '1.0.5',
362 | 176 silly addNameRange '1.0.4',
363 | 176 silly addNameRange '1.0.3',
364 | 176 silly addNameRange '1.0.2',
365 | 176 silly addNameRange '1.0.1',
366 | 176 silly addNameRange '1.0.0',
367 | 176 silly addNameRange '0.5.2',
368 | 176 silly addNameRange '0.6.1',
369 | 176 silly addNameRange '0.6.0',
370 | 176 silly addNameRange '0.5.1',
371 | 176 silly addNameRange '0.5.0',
372 | 176 silly addNameRange '0.4.3',
373 | 176 silly addNameRange '0.4.2',
374 | 176 silly addNameRange '0.4.1',
375 | 176 silly addNameRange '0.4.0',
376 | 176 silly addNameRange '0.3.3',
377 | 176 silly addNameRange '0.3.2',
378 | 176 silly addNameRange '0.3.1',
379 | 176 silly addNameRange '0.3.0',
380 | 176 silly addNameRange '0.2.1',
381 | 176 silly addNameRange '0.2.0',
382 | 176 silly addNameRange '0.1.0',
383 | 176 silly addNameRange '0.0.5',
384 | 176 silly addNameRange '0.0.4',
385 | 176 silly addNameRange '0.0.3',
386 | 176 silly addNameRange '0.0.1' ] ]
387 | 177 silly addNamed commander@1.3.2
388 | 178 verbose addNamed "1.3.2" is a plain semver version for commander
389 | 179 silly mapToRegistry name commander
390 | 180 silly mapToRegistry using default registry
391 | 181 silly mapToRegistry registry https://registry.npm.taobao.org/
392 | 182 silly mapToRegistry data Result {
393 | 182 silly mapToRegistry raw: 'commander',
394 | 182 silly mapToRegistry scope: null,
395 | 182 silly mapToRegistry escapedName: 'commander',
396 | 182 silly mapToRegistry name: 'commander',
397 | 182 silly mapToRegistry rawSpec: '',
398 | 182 silly mapToRegistry spec: 'latest',
399 | 182 silly mapToRegistry type: 'tag' }
400 | 183 silly mapToRegistry uri https://registry.npm.taobao.org/commander
401 | 184 verbose addRemoteTarball https://registry.npm.taobao.org/commander/download/commander-1.3.2.tgz not in flight; adding
402 | 185 verbose addRemoteTarball [ 'https://registry.npm.taobao.org/commander/download/commander-1.3.2.tgz',
403 | 185 verbose addRemoteTarball '8a8f30ec670a6fdd64af52f1914b907d79ead5b5' ]
404 | 186 info retry fetch attempt 1 at 14:26:23
405 | 187 info attempt registry request try #1 at 14:26:23
406 | 188 http fetch GET https://registry.npm.taobao.org/commander/download/commander-1.3.2.tgz
407 | 189 http 200 https://registry.npm.taobao.org/debug
408 | 190 verbose headers { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
409 | 190 verbose headers 'content-type': 'application/json; charset=utf-8',
410 | 190 verbose headers 'content-length': '115857',
411 | 190 verbose headers connection: 'keep-alive',
412 | 190 verbose headers 'x-current-requests': '1',
413 | 190 verbose headers vary: 'Origin',
414 | 190 verbose headers etag: '"1c491-PMLlQ/OhaVy8Tdj3hAuUXDIK+N4"',
415 | 190 verbose headers 'x-readtime': '52' }
416 | 191 silly get cb [ 200,
417 | 191 silly get { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
418 | 191 silly get 'content-type': 'application/json; charset=utf-8',
419 | 191 silly get 'content-length': '115857',
420 | 191 silly get connection: 'keep-alive',
421 | 191 silly get 'x-current-requests': '1',
422 | 191 silly get vary: 'Origin',
423 | 191 silly get etag: '"1c491-PMLlQ/OhaVy8Tdj3hAuUXDIK+N4"',
424 | 191 silly get 'x-readtime': '52' } ]
425 | 192 verbose get saving debug to /Users/zwh/.npm/registry.npm.taobao.org/debug/.cache.json
426 | 193 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
427 | 194 silly resolveWithNewModule debug@0.7.4 checking installable status
428 | 195 silly cache add args [ 'debug@0.7.x', null ]
429 | 196 verbose cache add spec debug@0.7.x
430 | 197 silly cache add parsed spec Result {
431 | 197 silly cache add raw: 'debug@0.7.x',
432 | 197 silly cache add scope: null,
433 | 197 silly cache add escapedName: 'debug',
434 | 197 silly cache add name: 'debug',
435 | 197 silly cache add rawSpec: '0.7.x',
436 | 197 silly cache add spec: '>=0.7.0 <0.8.0',
437 | 197 silly cache add type: 'range' }
438 | 198 silly addNamed debug@>=0.7.0 <0.8.0
439 | 199 verbose addNamed ">=0.7.0 <0.8.0" is a valid semver range for debug
440 | 200 silly addNameRange { name: 'debug', range: '>=0.7.0 <0.8.0', hasData: false }
441 | 201 silly mapToRegistry name debug
442 | 202 silly mapToRegistry using default registry
443 | 203 silly mapToRegistry registry https://registry.npm.taobao.org/
444 | 204 silly mapToRegistry data Result {
445 | 204 silly mapToRegistry raw: 'debug',
446 | 204 silly mapToRegistry scope: null,
447 | 204 silly mapToRegistry escapedName: 'debug',
448 | 204 silly mapToRegistry name: 'debug',
449 | 204 silly mapToRegistry rawSpec: '',
450 | 204 silly mapToRegistry spec: 'latest',
451 | 204 silly mapToRegistry type: 'tag' }
452 | 205 silly mapToRegistry uri https://registry.npm.taobao.org/debug
453 | 206 verbose addNameRange registry:https://registry.npm.taobao.org/debug not in flight; fetching
454 | 207 verbose get https://registry.npm.taobao.org/debug not expired, no request
455 | 208 silly addNameRange number 2 { name: 'debug', range: '>=0.7.0 <0.8.0', hasData: true }
456 | 209 silly addNameRange versions [ 'debug',
457 | 209 silly addNameRange [ '3.1.0',
458 | 209 silly addNameRange '2.6.9',
459 | 209 silly addNameRange '3.0.1',
460 | 209 silly addNameRange '3.0.0',
461 | 209 silly addNameRange '1.0.5',
462 | 209 silly addNameRange '2.6.8',
463 | 209 silly addNameRange '2.6.7',
464 | 209 silly addNameRange '2.6.6',
465 | 209 silly addNameRange '2.6.5',
466 | 209 silly addNameRange '2.6.4',
467 | 209 silly addNameRange '2.6.3',
468 | 209 silly addNameRange '2.6.2',
469 | 209 silly addNameRange '2.6.1',
470 | 209 silly addNameRange '2.6.0',
471 | 209 silly addNameRange '2.5.2',
472 | 209 silly addNameRange '2.5.1',
473 | 209 silly addNameRange '2.5.0',
474 | 209 silly addNameRange '2.4.5',
475 | 209 silly addNameRange '2.4.4',
476 | 209 silly addNameRange '2.4.3',
477 | 209 silly addNameRange '2.4.2',
478 | 209 silly addNameRange '2.4.1',
479 | 209 silly addNameRange '2.4.0',
480 | 209 silly addNameRange '2.3.3',
481 | 209 silly addNameRange '2.3.2',
482 | 209 silly addNameRange '2.3.1',
483 | 209 silly addNameRange '2.3.0',
484 | 209 silly addNameRange '2.2.0',
485 | 209 silly addNameRange '2.1.3',
486 | 209 silly addNameRange '2.1.2',
487 | 209 silly addNameRange '2.1.1',
488 | 209 silly addNameRange '2.1.0',
489 | 209 silly addNameRange '2.0.0',
490 | 209 silly addNameRange '1.0.4',
491 | 209 silly addNameRange '1.0.3',
492 | 209 silly addNameRange '1.0.2',
493 | 209 silly addNameRange '1.0.1',
494 | 209 silly addNameRange '1.0.0',
495 | 209 silly addNameRange '0.8.1',
496 | 209 silly addNameRange '0.8.0',
497 | 209 silly addNameRange '0.7.4',
498 | 209 silly addNameRange '0.7.3',
499 | 209 silly addNameRange '0.7.2',
500 | 209 silly addNameRange '0.7.1',
501 | 209 silly addNameRange '0.7.0',
502 | 209 silly addNameRange '0.6.0',
503 | 209 silly addNameRange '0.5.0',
504 | 209 silly addNameRange '0.4.1',
505 | 209 silly addNameRange '0.4.0',
506 | 209 silly addNameRange '0.3.0',
507 | 209 silly addNameRange '0.2.0',
508 | 209 silly addNameRange '0.1.0',
509 | 209 silly addNameRange '0.0.1' ] ]
510 | 210 silly addNamed debug@0.7.4
511 | 211 verbose addNamed "0.7.4" is a plain semver version for debug
512 | 212 http fetch 200 https://registry.npm.taobao.org/commander/download/commander-1.3.2.tgz
513 | 213 silly mapToRegistry name debug
514 | 214 silly mapToRegistry using default registry
515 | 215 silly mapToRegistry registry https://registry.npm.taobao.org/
516 | 216 silly mapToRegistry data Result {
517 | 216 silly mapToRegistry raw: 'debug',
518 | 216 silly mapToRegistry scope: null,
519 | 216 silly mapToRegistry escapedName: 'debug',
520 | 216 silly mapToRegistry name: 'debug',
521 | 216 silly mapToRegistry rawSpec: '',
522 | 216 silly mapToRegistry spec: 'latest',
523 | 216 silly mapToRegistry type: 'tag' }
524 | 217 silly mapToRegistry uri https://registry.npm.taobao.org/debug
525 | 218 verbose addRemoteTarball https://registry.npm.taobao.org/debug/download/debug-0.7.4.tgz not in flight; adding
526 | 219 verbose addRemoteTarball [ 'https://registry.npm.taobao.org/debug/download/debug-0.7.4.tgz',
527 | 219 verbose addRemoteTarball '06e1ea8082c2cb14e39806e22e2f6f757f92af39' ]
528 | 220 info retry fetch attempt 1 at 14:26:23
529 | 221 info attempt registry request try #1 at 14:26:23
530 | 222 http fetch GET https://registry.npm.taobao.org/debug/download/debug-0.7.4.tgz
531 | 223 silly fetchAndShaCheck shasum 8a8f30ec670a6fdd64af52f1914b907d79ead5b5
532 | 224 verbose addTmpTarball /var/folders/bd/nfr83lw93gx43jwww8tsc80h0000gn/T/npm-76435-b9cbf9b6/registry.npm.taobao.org/commander/download/commander-1.3.2.tgz not in flight; adding
533 | 225 verbose addTmpTarball already have metadata; skipping unpack for commander@1.3.2
534 | 226 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
535 | 227 silly cache afterAdd commander@1.3.2
536 | 228 verbose afterAdd /Users/zwh/.npm/commander/1.3.2/package/package.json not in flight; writing
537 | 229 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
538 | 230 verbose afterAdd /Users/zwh/.npm/commander/1.3.2/package/package.json written
539 | 231 http fetch 200 https://registry.npm.taobao.org/debug/download/debug-0.7.4.tgz
540 | 232 silly fetchAndShaCheck shasum 06e1ea8082c2cb14e39806e22e2f6f757f92af39
541 | 233 verbose addTmpTarball /var/folders/bd/nfr83lw93gx43jwww8tsc80h0000gn/T/npm-76435-b9cbf9b6/registry.npm.taobao.org/debug/download/debug-0.7.4.tgz not in flight; adding
542 | 234 verbose addTmpTarball already have metadata; skipping unpack for debug@0.7.4
543 | 235 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
544 | 236 silly cache afterAdd debug@0.7.4
545 | 237 verbose afterAdd /Users/zwh/.npm/debug/0.7.4/package/package.json not in flight; writing
546 | 238 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
547 | 239 verbose afterAdd /Users/zwh/.npm/debug/0.7.4/package/package.json written
548 | 240 http 200 https://registry.npm.taobao.org/aws-sdk
549 | 241 verbose headers { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
550 | 241 verbose headers 'content-type': 'application/json; charset=utf-8',
551 | 241 verbose headers 'content-length': '1726692',
552 | 241 verbose headers connection: 'keep-alive',
553 | 241 verbose headers 'x-current-requests': '1',
554 | 241 verbose headers vary: 'Origin',
555 | 241 verbose headers etag: '"1a58e4-iFMVGXzcVq/E7if5Rh0dNkbmbA8"',
556 | 241 verbose headers 'x-readtime': '140' }
557 | 242 silly get cb [ 200,
558 | 242 silly get { date: 'Tue, 16 Jan 2018 06:26:25 GMT',
559 | 242 silly get 'content-type': 'application/json; charset=utf-8',
560 | 242 silly get 'content-length': '1726692',
561 | 242 silly get connection: 'keep-alive',
562 | 242 silly get 'x-current-requests': '1',
563 | 242 silly get vary: 'Origin',
564 | 242 silly get etag: '"1a58e4-iFMVGXzcVq/E7if5Rh0dNkbmbA8"',
565 | 242 silly get 'x-readtime': '140' } ]
566 | 243 verbose get saving aws-sdk to /Users/zwh/.npm/registry.npm.taobao.org/aws-sdk/.cache.json
567 | 244 verbose correctMkdir /Users/zwh/.npm correctMkdir not in flight; initializing
568 | 245 silly fetchPackageMetaData Error: No compatible version found: aws-sdk@0.9.x
569 | 245 silly fetchPackageMetaData Valid install targets:
570 | 245 silly fetchPackageMetaData 2.182.0, 2.181.0, 2.180.0, 2.179.0, 2.178.0, 2.177.0, 2.176.0, 2.175.0, 2.174.0, 2.173.0, 2.172.0, 2.171.0, 2.170.0, 2.169.0, 2.168.0, 2.167.0, 2.166.0, 2.165.0, 2.164.0, 2.163.0, 2.162.0, 2.161.0, 2.160.0, 2.159.0, 2.158.0, 2.157.0, 2.156.0, 2.155.0, 2.154.0, 2.153.0, 2.152.0, 2.151.0, 2.150.0, 2.149.0, 2.148.0, 2.147.0, 2.146.0, 2.145.0, 2.144.0, 2.143.0, 2.142.0, 2.141.0, 2.140.0, 2.139.0, 2.138.0, 2.137.0, 2.136.0, 2.135.0, 2.134.0, 2.133.0, 2.132.0, 2.131.0, 2.130.0, 2.129.0, 2.128.0, 2.127.0, 2.126.0, 2.125.0, 2.124.0, 2.123.0, 2.122.0, 2.121.0, 2.120.0, 2.119.0, 2.118.0, 2.117.0, 2.116.0, 2.115.0, 2.114.0, 2.113.0, 2.112.0, 2.111.0, 2.110.0, 2.109.0, 2.108.0, 2.107.0, 2.106.0, 2.105.0, 2.104.0, 2.103.0, 2.102.0, 2.101.0, 2.100.0, 2.99.0, 2.98.0, 2.97.0, 2.96.0, 2.95.0, 2.94.0, 2.93.0, 2.92.0, 2.91.0, 2.90.0, 2.89.0, 2.88.0, 2.87.0, 2.86.0, 2.85.0, 2.84.0, 2.83.0, 2.82.0, 2.81.0, 2.80.0, 2.79.0, 2.78.0, 2.77.0, 2.76.0, 2.75.0, 2.74.0, 2.73.0, 2.72.0, 2.71.0, 2.70.0, 2.69.0, 2.68.0, 2.67.0, 2.66.0, 2.65.0, 2.64.0, 2.63.0, 2.62.0, 2.61.0, 2.60.0, 2.59.0, 2.58.0, 2.57.0, 2.56.0, 2.55.0, 2.54.0, 2.53.0, 2.52.0, 2.51.0, 2.50.0, 2.49.0, 2.48.0, 2.47.0, 2.46.0, 2.45.0, 2.44.0, 2.43.0, 2.42.0, 2.41.0, 2.40.0, 2.39.0, 2.38.0, 2.37.0, 2.36.0, 2.35.0, 2.34.0, 2.33.0, 2.32.0, 2.31.0, 2.30.0, 2.29.0, 2.28.0, 2.27.0, 2.26.0, 2.25.0, 2.24.0, 2.23.0, 2.22.0, 2.21.0, 2.20.0, 2.19.0, 2.18.0, 2.17.0, 2.16.0, 2.15.0, 2.14.0, 2.13.0, 2.12.0, 2.11.0, 2.10.0, 2.9.0, 2.8.0, 2.7.28, 2.7.27, 2.7.26, 2.7.25, 2.7.24, 2.7.23, 2.7.22, 2.7.21, 2.7.20, 2.7.19, 2.7.18, 2.7.17, 2.7.16, 2.7.15, 2.7.14, 2.7.13, 2.7.12, 2.7.11, 2.7.10, 2.7.9, 2.7.8, 2.7.7, 2.7.6, 2.7.5, 2.7.4, 2.7.3, 2.7.2, 2.7.1, 2.7.0, 2.6.15, 2.6.14, 2.6.13, 2.6.12, 2.6.11, 2.6.10, 2.6.9, 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.14, 2.4.13, 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.19, 2.3.18, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.13, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.48, 2.2.47, 2.2.46, 2.2.45, 2.2.44, 2.2.43, 2.2.42, 2.2.41, 2.2.40, 2.2.39, 2.2.38, 2.2.37, 2.2.36, 2.2.35, 2.2.34, 2.2.33, 2.2.32, 2.2.31, 2.2.30, 2.2.29, 2.2.28, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.50, 2.1.49, 2.1.48, 2.1.47, 2.1.46, 2.1.45, 2.1.44, 2.1.43, 2.1.42, 2.1.41, 2.1.40, 2.1.39, 2.1.38, 2.1.37, 2.1.36, 2.1.35, 2.1.34, 2.1.33, 2.1.32, 2.1.31, 2.1.30, 2.1.29, 2.1.28, 2.1.27, 2.1.26, 2.1.25, 2.1.24, 2.1.23, 2.1.22, 2.1.21, 2.1.20, 2.1.19, 2.1.18, 2.1.17, 2.1.16, 2.1.15, 2.1.14, 2.1.13, 2.1.12, 2.1.11, 2.1.10, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.31, 2.0.30, 2.0.29, 2.0.28, 2.0.27, 2.0.26, 2.0.25, 2.0.24, 2.0.23, 2.0.22, 2.0.21, 2.0.19, 2.0.18, 2.0.17, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12, 2.0.11, 2.0.10, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0-rc9, 2.0.0-rc8, 2.0.0-rc7, 2.0.0-rc6, 2.0.0-rc5, 2.0.0-rc4, 2.0.0-rc3, 2.0.0-rc2, 2.0.0-rc13, 2.0.0-rc12, 2.0.0-rc11, 2.0.0-rc10, 2.0.0-rc1, 2.0.0-rc.20, 2.0.0-rc.19, 2.0.0-rc.18, 2.0.0-rc.17, 2.0.0-rc.16, 2.0.0-rc.15, 2.0.0-rc.14, 1.18.0, 1.17.3, 1.17.2, 1.17.1, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.0, 1.12.0, 1.10.0, 1.9.0, 1.8.1, 1.8.0, 1.7.1, 1.7.0, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.0, 1.1.0, 1.0.0, 0.9.9-pre.10, 0.9.8-pre.9, 0.9.7-pre.8, 0.9.6-pre.7, 0.9.5-pre.6, 0.9.4-pre.5, 0.9.3-pre.4, 0.9.2-pre.3, 0.9.1-pre.2, 0.9.0-pre.1
571 | 245 silly fetchPackageMetaData
572 | 245 silly fetchPackageMetaData at pickVersionFromRegistryDocument (/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js:178:16)
573 | 245 silly fetchPackageMetaData at /usr/local/lib/node_modules/npm/node_modules/iferr/index.js:13:50
574 | 245 silly fetchPackageMetaData at /usr/local/lib/node_modules/npm/lib/utils/pulse-till-done.js:20:8
575 | 245 silly fetchPackageMetaData at saved (/usr/local/lib/node_modules/npm/lib/cache/caching-client.js:174:7)
576 | 245 silly fetchPackageMetaData at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:241:18
577 | 245 silly fetchPackageMetaData at FSReqWrap.oncomplete (fs.js:123:15)
578 | 245 silly fetchPackageMetaData error for aws-sdk@0.9.x { Error: No compatible version found: aws-sdk@0.9.x
579 | 245 silly fetchPackageMetaData Valid install targets:
580 | 245 silly fetchPackageMetaData 2.182.0, 2.181.0, 2.180.0, 2.179.0, 2.178.0, 2.177.0, 2.176.0, 2.175.0, 2.174.0, 2.173.0, 2.172.0, 2.171.0, 2.170.0, 2.169.0, 2.168.0, 2.167.0, 2.166.0, 2.165.0, 2.164.0, 2.163.0, 2.162.0, 2.161.0, 2.160.0, 2.159.0, 2.158.0, 2.157.0, 2.156.0, 2.155.0, 2.154.0, 2.153.0, 2.152.0, 2.151.0, 2.150.0, 2.149.0, 2.148.0, 2.147.0, 2.146.0, 2.145.0, 2.144.0, 2.143.0, 2.142.0, 2.141.0, 2.140.0, 2.139.0, 2.138.0, 2.137.0, 2.136.0, 2.135.0, 2.134.0, 2.133.0, 2.132.0, 2.131.0, 2.130.0, 2.129.0, 2.128.0, 2.127.0, 2.126.0, 2.125.0, 2.124.0, 2.123.0, 2.122.0, 2.121.0, 2.120.0, 2.119.0, 2.118.0, 2.117.0, 2.116.0, 2.115.0, 2.114.0, 2.113.0, 2.112.0, 2.111.0, 2.110.0, 2.109.0, 2.108.0, 2.107.0, 2.106.0, 2.105.0, 2.104.0, 2.103.0, 2.102.0, 2.101.0, 2.100.0, 2.99.0, 2.98.0, 2.97.0, 2.96.0, 2.95.0, 2.94.0, 2.93.0, 2.92.0, 2.91.0, 2.90.0, 2.89.0, 2.88.0, 2.87.0, 2.86.0, 2.85.0, 2.84.0, 2.83.0, 2.82.0, 2.81.0, 2.80.0, 2.79.0, 2.78.0, 2.77.0, 2.76.0, 2.75.0, 2.74.0, 2.73.0, 2.72.0, 2.71.0, 2.70.0, 2.69.0, 2.68.0, 2.67.0, 2.66.0, 2.65.0, 2.64.0, 2.63.0, 2.62.0, 2.61.0, 2.60.0, 2.59.0, 2.58.0, 2.57.0, 2.56.0, 2.55.0, 2.54.0, 2.53.0, 2.52.0, 2.51.0, 2.50.0, 2.49.0, 2.48.0, 2.47.0, 2.46.0, 2.45.0, 2.44.0, 2.43.0, 2.42.0, 2.41.0, 2.40.0, 2.39.0, 2.38.0, 2.37.0, 2.36.0, 2.35.0, 2.34.0, 2.33.0, 2.32.0, 2.31.0, 2.30.0, 2.29.0, 2.28.0, 2.27.0, 2.26.0, 2.25.0, 2.24.0, 2.23.0, 2.22.0, 2.21.0, 2.20.0, 2.19.0, 2.18.0, 2.17.0, 2.16.0, 2.15.0, 2.14.0, 2.13.0, 2.12.0, 2.11.0, 2.10.0, 2.9.0, 2.8.0, 2.7.28, 2.7.27, 2.7.26, 2.7.25, 2.7.24, 2.7.23, 2.7.22, 2.7.21, 2.7.20, 2.7.19, 2.7.18, 2.7.17, 2.7.16, 2.7.15, 2.7.14, 2.7.13, 2.7.12, 2.7.11, 2.7.10, 2.7.9, 2.7.8, 2.7.7, 2.7.6, 2.7.5, 2.7.4, 2.7.3, 2.7.2, 2.7.1, 2.7.0, 2.6.15, 2.6.14, 2.6.13, 2.6.12, 2.6.11, 2.6.10, 2.6.9, 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.14, 2.4.13, 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.19, 2.3.18, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.13, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.48, 2.2.47, 2.2.46, 2.2.45, 2.2.44, 2.2.43, 2.2.42, 2.2.41, 2.2.40, 2.2.39, 2.2.38, 2.2.37, 2.2.36, 2.2.35, 2.2.34, 2.2.33, 2.2.32, 2.2.31, 2.2.30, 2.2.29, 2.2.28, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.50, 2.1.49, 2.1.48, 2.1.47, 2.1.46, 2.1.45, 2.1.44, 2.1.43, 2.1.42, 2.1.41, 2.1.40, 2.1.39, 2.1.38, 2.1.37, 2.1.36, 2.1.35, 2.1.34, 2.1.33, 2.1.32, 2.1.31, 2.1.30, 2.1.29, 2.1.28, 2.1.27, 2.1.26, 2.1.25, 2.1.24, 2.1.23, 2.1.22, 2.1.21, 2.1.20, 2.1.19, 2.1.18, 2.1.17, 2.1.16, 2.1.15, 2.1.14, 2.1.13, 2.1.12, 2.1.11, 2.1.10, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.31, 2.0.30, 2.0.29, 2.0.28, 2.0.27, 2.0.26, 2.0.25, 2.0.24, 2.0.23, 2.0.22, 2.0.21, 2.0.19, 2.0.18, 2.0.17, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12, 2.0.11, 2.0.10, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0-rc9, 2.0.0-rc8, 2.0.0-rc7, 2.0.0-rc6, 2.0.0-rc5, 2.0.0-rc4, 2.0.0-rc3, 2.0.0-rc2, 2.0.0-rc13, 2.0.0-rc12, 2.0.0-rc11, 2.0.0-rc10, 2.0.0-rc1, 2.0.0-rc.20, 2.0.0-rc.19, 2.0.0-rc.18, 2.0.0-rc.17, 2.0.0-rc.16, 2.0.0-rc.15, 2.0.0-rc.14, 1.18.0, 1.17.3, 1.17.2, 1.17.1, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.0, 1.12.0, 1.10.0, 1.9.0, 1.8.1, 1.8.0, 1.7.1, 1.7.0, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.0, 1.1.0, 1.0.0, 0.9.9-pre.10, 0.9.8-pre.9, 0.9.7-pre.8, 0.9.6-pre.7, 0.9.5-pre.6, 0.9.4-pre.5, 0.9.3-pre.4, 0.9.2-pre.3, 0.9.1-pre.2, 0.9.0-pre.1
581 | 245 silly fetchPackageMetaData
582 | 245 silly fetchPackageMetaData at pickVersionFromRegistryDocument (/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js:178:16)
583 | 245 silly fetchPackageMetaData at /usr/local/lib/node_modules/npm/node_modules/iferr/index.js:13:50
584 | 245 silly fetchPackageMetaData at /usr/local/lib/node_modules/npm/lib/utils/pulse-till-done.js:20:8
585 | 245 silly fetchPackageMetaData at saved (/usr/local/lib/node_modules/npm/lib/cache/caching-client.js:174:7)
586 | 245 silly fetchPackageMetaData at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:241:18
587 | 245 silly fetchPackageMetaData at FSReqWrap.oncomplete (fs.js:123:15) code: 'ETARGET' }
588 | 246 silly rollbackFailedOptional Starting
589 | 247 silly rollbackFailedOptional Finishing
590 | 248 silly runTopLevelLifecycles Finishing
591 | 249 silly install printInstalled
592 | 250 verbose stack Error: No compatible version found: aws-sdk@0.9.x
593 | 250 verbose stack Valid install targets:
594 | 250 verbose stack 2.182.0, 2.181.0, 2.180.0, 2.179.0, 2.178.0, 2.177.0, 2.176.0, 2.175.0, 2.174.0, 2.173.0, 2.172.0, 2.171.0, 2.170.0, 2.169.0, 2.168.0, 2.167.0, 2.166.0, 2.165.0, 2.164.0, 2.163.0, 2.162.0, 2.161.0, 2.160.0, 2.159.0, 2.158.0, 2.157.0, 2.156.0, 2.155.0, 2.154.0, 2.153.0, 2.152.0, 2.151.0, 2.150.0, 2.149.0, 2.148.0, 2.147.0, 2.146.0, 2.145.0, 2.144.0, 2.143.0, 2.142.0, 2.141.0, 2.140.0, 2.139.0, 2.138.0, 2.137.0, 2.136.0, 2.135.0, 2.134.0, 2.133.0, 2.132.0, 2.131.0, 2.130.0, 2.129.0, 2.128.0, 2.127.0, 2.126.0, 2.125.0, 2.124.0, 2.123.0, 2.122.0, 2.121.0, 2.120.0, 2.119.0, 2.118.0, 2.117.0, 2.116.0, 2.115.0, 2.114.0, 2.113.0, 2.112.0, 2.111.0, 2.110.0, 2.109.0, 2.108.0, 2.107.0, 2.106.0, 2.105.0, 2.104.0, 2.103.0, 2.102.0, 2.101.0, 2.100.0, 2.99.0, 2.98.0, 2.97.0, 2.96.0, 2.95.0, 2.94.0, 2.93.0, 2.92.0, 2.91.0, 2.90.0, 2.89.0, 2.88.0, 2.87.0, 2.86.0, 2.85.0, 2.84.0, 2.83.0, 2.82.0, 2.81.0, 2.80.0, 2.79.0, 2.78.0, 2.77.0, 2.76.0, 2.75.0, 2.74.0, 2.73.0, 2.72.0, 2.71.0, 2.70.0, 2.69.0, 2.68.0, 2.67.0, 2.66.0, 2.65.0, 2.64.0, 2.63.0, 2.62.0, 2.61.0, 2.60.0, 2.59.0, 2.58.0, 2.57.0, 2.56.0, 2.55.0, 2.54.0, 2.53.0, 2.52.0, 2.51.0, 2.50.0, 2.49.0, 2.48.0, 2.47.0, 2.46.0, 2.45.0, 2.44.0, 2.43.0, 2.42.0, 2.41.0, 2.40.0, 2.39.0, 2.38.0, 2.37.0, 2.36.0, 2.35.0, 2.34.0, 2.33.0, 2.32.0, 2.31.0, 2.30.0, 2.29.0, 2.28.0, 2.27.0, 2.26.0, 2.25.0, 2.24.0, 2.23.0, 2.22.0, 2.21.0, 2.20.0, 2.19.0, 2.18.0, 2.17.0, 2.16.0, 2.15.0, 2.14.0, 2.13.0, 2.12.0, 2.11.0, 2.10.0, 2.9.0, 2.8.0, 2.7.28, 2.7.27, 2.7.26, 2.7.25, 2.7.24, 2.7.23, 2.7.22, 2.7.21, 2.7.20, 2.7.19, 2.7.18, 2.7.17, 2.7.16, 2.7.15, 2.7.14, 2.7.13, 2.7.12, 2.7.11, 2.7.10, 2.7.9, 2.7.8, 2.7.7, 2.7.6, 2.7.5, 2.7.4, 2.7.3, 2.7.2, 2.7.1, 2.7.0, 2.6.15, 2.6.14, 2.6.13, 2.6.12, 2.6.11, 2.6.10, 2.6.9, 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.14, 2.4.13, 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.19, 2.3.18, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.13, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.48, 2.2.47, 2.2.46, 2.2.45, 2.2.44, 2.2.43, 2.2.42, 2.2.41, 2.2.40, 2.2.39, 2.2.38, 2.2.37, 2.2.36, 2.2.35, 2.2.34, 2.2.33, 2.2.32, 2.2.31, 2.2.30, 2.2.29, 2.2.28, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.50, 2.1.49, 2.1.48, 2.1.47, 2.1.46, 2.1.45, 2.1.44, 2.1.43, 2.1.42, 2.1.41, 2.1.40, 2.1.39, 2.1.38, 2.1.37, 2.1.36, 2.1.35, 2.1.34, 2.1.33, 2.1.32, 2.1.31, 2.1.30, 2.1.29, 2.1.28, 2.1.27, 2.1.26, 2.1.25, 2.1.24, 2.1.23, 2.1.22, 2.1.21, 2.1.20, 2.1.19, 2.1.18, 2.1.17, 2.1.16, 2.1.15, 2.1.14, 2.1.13, 2.1.12, 2.1.11, 2.1.10, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.31, 2.0.30, 2.0.29, 2.0.28, 2.0.27, 2.0.26, 2.0.25, 2.0.24, 2.0.23, 2.0.22, 2.0.21, 2.0.19, 2.0.18, 2.0.17, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12, 2.0.11, 2.0.10, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0-rc9, 2.0.0-rc8, 2.0.0-rc7, 2.0.0-rc6, 2.0.0-rc5, 2.0.0-rc4, 2.0.0-rc3, 2.0.0-rc2, 2.0.0-rc13, 2.0.0-rc12, 2.0.0-rc11, 2.0.0-rc10, 2.0.0-rc1, 2.0.0-rc.20, 2.0.0-rc.19, 2.0.0-rc.18, 2.0.0-rc.17, 2.0.0-rc.16, 2.0.0-rc.15, 2.0.0-rc.14, 1.18.0, 1.17.3, 1.17.2, 1.17.1, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.0, 1.12.0, 1.10.0, 1.9.0, 1.8.1, 1.8.0, 1.7.1, 1.7.0, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.0, 1.1.0, 1.0.0, 0.9.9-pre.10, 0.9.8-pre.9, 0.9.7-pre.8, 0.9.6-pre.7, 0.9.5-pre.6, 0.9.4-pre.5, 0.9.3-pre.4, 0.9.2-pre.3, 0.9.1-pre.2, 0.9.0-pre.1
595 | 250 verbose stack
596 | 250 verbose stack at pickVersionFromRegistryDocument (/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js:178:16)
597 | 250 verbose stack at /usr/local/lib/node_modules/npm/node_modules/iferr/index.js:13:50
598 | 250 verbose stack at /usr/local/lib/node_modules/npm/lib/utils/pulse-till-done.js:20:8
599 | 250 verbose stack at saved (/usr/local/lib/node_modules/npm/lib/cache/caching-client.js:174:7)
600 | 250 verbose stack at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:241:18
601 | 250 verbose stack at FSReqWrap.oncomplete (fs.js:123:15)
602 | 251 verbose cwd /Users/zwh/work/git/vue-calendar
603 | 252 error Darwin 16.6.0
604 | 253 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "parcel"
605 | 254 error node v6.12.0
606 | 255 error npm v3.10.10
607 | 256 error code ETARGET
608 | 257 error notarget No compatible version found: aws-sdk@0.9.x
609 | 257 error notarget Valid install targets:
610 | 257 error notarget 2.182.0, 2.181.0, 2.180.0, 2.179.0, 2.178.0, 2.177.0, 2.176.0, 2.175.0, 2.174.0, 2.173.0, 2.172.0, 2.171.0, 2.170.0, 2.169.0, 2.168.0, 2.167.0, 2.166.0, 2.165.0, 2.164.0, 2.163.0, 2.162.0, 2.161.0, 2.160.0, 2.159.0, 2.158.0, 2.157.0, 2.156.0, 2.155.0, 2.154.0, 2.153.0, 2.152.0, 2.151.0, 2.150.0, 2.149.0, 2.148.0, 2.147.0, 2.146.0, 2.145.0, 2.144.0, 2.143.0, 2.142.0, 2.141.0, 2.140.0, 2.139.0, 2.138.0, 2.137.0, 2.136.0, 2.135.0, 2.134.0, 2.133.0, 2.132.0, 2.131.0, 2.130.0, 2.129.0, 2.128.0, 2.127.0, 2.126.0, 2.125.0, 2.124.0, 2.123.0, 2.122.0, 2.121.0, 2.120.0, 2.119.0, 2.118.0, 2.117.0, 2.116.0, 2.115.0, 2.114.0, 2.113.0, 2.112.0, 2.111.0, 2.110.0, 2.109.0, 2.108.0, 2.107.0, 2.106.0, 2.105.0, 2.104.0, 2.103.0, 2.102.0, 2.101.0, 2.100.0, 2.99.0, 2.98.0, 2.97.0, 2.96.0, 2.95.0, 2.94.0, 2.93.0, 2.92.0, 2.91.0, 2.90.0, 2.89.0, 2.88.0, 2.87.0, 2.86.0, 2.85.0, 2.84.0, 2.83.0, 2.82.0, 2.81.0, 2.80.0, 2.79.0, 2.78.0, 2.77.0, 2.76.0, 2.75.0, 2.74.0, 2.73.0, 2.72.0, 2.71.0, 2.70.0, 2.69.0, 2.68.0, 2.67.0, 2.66.0, 2.65.0, 2.64.0, 2.63.0, 2.62.0, 2.61.0, 2.60.0, 2.59.0, 2.58.0, 2.57.0, 2.56.0, 2.55.0, 2.54.0, 2.53.0, 2.52.0, 2.51.0, 2.50.0, 2.49.0, 2.48.0, 2.47.0, 2.46.0, 2.45.0, 2.44.0, 2.43.0, 2.42.0, 2.41.0, 2.40.0, 2.39.0, 2.38.0, 2.37.0, 2.36.0, 2.35.0, 2.34.0, 2.33.0, 2.32.0, 2.31.0, 2.30.0, 2.29.0, 2.28.0, 2.27.0, 2.26.0, 2.25.0, 2.24.0, 2.23.0, 2.22.0, 2.21.0, 2.20.0, 2.19.0, 2.18.0, 2.17.0, 2.16.0, 2.15.0, 2.14.0, 2.13.0, 2.12.0, 2.11.0, 2.10.0, 2.9.0, 2.8.0, 2.7.28, 2.7.27, 2.7.26, 2.7.25, 2.7.24, 2.7.23, 2.7.22, 2.7.21, 2.7.20, 2.7.19, 2.7.18, 2.7.17, 2.7.16, 2.7.15, 2.7.14, 2.7.13, 2.7.12, 2.7.11, 2.7.10, 2.7.9, 2.7.8, 2.7.7, 2.7.6, 2.7.5, 2.7.4, 2.7.3, 2.7.2, 2.7.1, 2.7.0, 2.6.15, 2.6.14, 2.6.13, 2.6.12, 2.6.11, 2.6.10, 2.6.9, 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.14, 2.4.13, 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.19, 2.3.18, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.13, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.48, 2.2.47, 2.2.46, 2.2.45, 2.2.44, 2.2.43, 2.2.42, 2.2.41, 2.2.40, 2.2.39, 2.2.38, 2.2.37, 2.2.36, 2.2.35, 2.2.34, 2.2.33, 2.2.32, 2.2.31, 2.2.30, 2.2.29, 2.2.28, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.50, 2.1.49, 2.1.48, 2.1.47, 2.1.46, 2.1.45, 2.1.44, 2.1.43, 2.1.42, 2.1.41, 2.1.40, 2.1.39, 2.1.38, 2.1.37, 2.1.36, 2.1.35, 2.1.34, 2.1.33, 2.1.32, 2.1.31, 2.1.30, 2.1.29, 2.1.28, 2.1.27, 2.1.26, 2.1.25, 2.1.24, 2.1.23, 2.1.22, 2.1.21, 2.1.20, 2.1.19, 2.1.18, 2.1.17, 2.1.16, 2.1.15, 2.1.14, 2.1.13, 2.1.12, 2.1.11, 2.1.10, 2.1.9, 2.1.8, 2.1.7, 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.31, 2.0.30, 2.0.29, 2.0.28, 2.0.27, 2.0.26, 2.0.25, 2.0.24, 2.0.23, 2.0.22, 2.0.21, 2.0.19, 2.0.18, 2.0.17, 2.0.16, 2.0.15, 2.0.14, 2.0.13, 2.0.12, 2.0.11, 2.0.10, 2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0-rc9, 2.0.0-rc8, 2.0.0-rc7, 2.0.0-rc6, 2.0.0-rc5, 2.0.0-rc4, 2.0.0-rc3, 2.0.0-rc2, 2.0.0-rc13, 2.0.0-rc12, 2.0.0-rc11, 2.0.0-rc10, 2.0.0-rc1, 2.0.0-rc.20, 2.0.0-rc.19, 2.0.0-rc.18, 2.0.0-rc.17, 2.0.0-rc.16, 2.0.0-rc.15, 2.0.0-rc.14, 1.18.0, 1.17.3, 1.17.2, 1.17.1, 1.17.0, 1.16.0, 1.15.0, 1.14.0, 1.13.0, 1.12.0, 1.10.0, 1.9.0, 1.8.1, 1.8.0, 1.7.1, 1.7.0, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.0, 1.1.0, 1.0.0, 0.9.9-pre.10, 0.9.8-pre.9, 0.9.7-pre.8, 0.9.6-pre.7, 0.9.5-pre.6, 0.9.4-pre.5, 0.9.3-pre.4, 0.9.2-pre.3, 0.9.1-pre.2, 0.9.0-pre.1
611 | 258 error notarget This is most likely not a problem with npm itself.
612 | 258 error notarget In most cases you or one of your dependencies are requesting
613 | 258 error notarget a package version that doesn't exist.
614 | 258 error notarget
615 | 258 error notarget It was specified as a dependency of 'parcel'
616 | 259 verbose exit [ 1, true ]
617 |
--------------------------------------------------------------------------------