Closed pietrovismara closed 7 years ago
Hi, @pietrovismara .
If sidekick finds a .sidekickrc
at the base of the current repo, then it will use the settings in the .sidekickrc
file.
If no .sidekickrc
file is found (as you screenshot demonstrates), then it should run with default settings (which it looks like its doing - i.e. adding the analysers that make sense for the files in the current repo).
You CTRL+C'd out in the screenshot - can you tell me what happens if you don't do this? Does sidekick hang, or does it run to completion?
Launching DEBUG=* sidekick run
with a pregenerated .sidekickrc file i get this:
cli unhandled promise rejection! Error: failed to start analysis, planning failed because: Error: invalid .sidekickrc: [
{
"property": "instance.languages.json",
"message": "is not of a type(s) object",
"schema": {
"type": "object",
"properties": {
"analyserName": {
"type": "object",
"properties": {
"failCiOnError": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"failCiOnError"
]
}
}
},
"instance": [
{
"name": "sidekick-david",
"failCiOnError": false
}
],
"name": "type",
"argument": [
"object"
],
"stack": "instance.languages.json is not of a type(s) object"
},
{
"property": "instance.languages.all",
"message": "is not of a type(s) object",
"schema": {
"type": "object",
"properties": {
"analyserName": {
"type": "object",
"properties": {
"failCiOnError": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"failCiOnError"
]
}
}
},
"instance": [
{
"name": "sidekick-security",
"failCiOnError": true
}
],
"name": "type",
"argument": [
"object"
],
"stack": "instance.languages.all is not of a type(s) object"
},
{
"property": "instance.languages.js",
"message": "is not of a type(s) object",
"schema": {
"type": "object",
"properties": {
"analyserName": {
"type": "object",
"properties": {
"failCiOnError": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"failCiOnError"
]
}
}
},
"instance": [
{
"name": "sidekick-js-todos",
"failCiOnError": false
},
{
"name": "sidekick-eslint",
"failCiOnError": true
},
{
"name": "sidekick-jshint",
"failCiOnError": true
}
],
"name": "type",
"argument": [
"object"
],
"stack": "instance.languages.js is not of a type(s) object"
},
{
"property": "instance.languages.ts",
"message": "is not of a type(s) object",
"schema": {
"type": "object",
"properties": {
"analyserName": {
"type": "object",
"properties": {
"failCiOnError": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"failCiOnError"
]
}
}
},
"instance": [],
"name": "type",
"argument": [
"object"
],
"stack": "instance.languages.ts is not of a type(s) object"
},
{
"property": "instance.languages.cs",
"message": "is not of a type(s) object",
"schema": {
"type": "object",
"properties": {
"analyserName": {
"type": "object",
"properties": {
"failCiOnError": {
"type": "boolean"
},
"version": {
"type": "string"
}
},
"required": [
"failCiOnError"
]
}
}
},
"instance": [],
"name": "type",
"argument": [
"object"
],
"stack": "instance.languages.cs is not of a type(s) object"
}
]
at parse (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/@sidekick/common/repoConfig.js:271:11)
at exports.fromString (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/@sidekick/common/repoConfig.js:52:46)
at tryCatcher (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/util.js:26:23)
at Promise._settlePromiseFromHandler (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/promise.js:503:31)
at Promise._settlePromiseAt (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/promise.js:577:18)
at Promise._settlePromises (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/promise.js:693:14)
at Async._drainQueue (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/async.js:123:16)
at Async._drainQueues (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/async.js:133:10)
at Immediate.Async.drainQueues (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/async.js:15:14)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5)
at /home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/@sidekick/runner/sidekick-runner.js:75:36
at tryCatcher (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/util.js:26:23)
at Promise._settlePromiseFromHandler (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/promise.js:503:31)
at Promise._settlePromiseAt (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/promise.js:577:18)
at Promise._settlePromises (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/promise.js:693:14)
at Async._drainQueue (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/async.js:123:16)
at Async._drainQueues (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/async.js:133:10)
at Immediate.Async.drainQueues (/home/pietro/.nvm/versions/node/v7.1.0/lib/node_modules/sidekick/node_modules/bluebird/js/main/async.js:15:14)
at runCallback (timers.js:637:20)
at tryOnImmediate (timers.js:610:5)
at processImmediate [as _immediateCallback] (timers.js:582:5) +13ms
So it looks like the .sidekickrc file generated by ./node_modules/sidekick/sidekick.js init
is invalid.
@pietrovismara looking into this.
@pietrovismara can reproduce now. Working on a fix.
Fixed in 1.12.2
@pietrovismara this should be resolved now. However, the previously generated .sidekickrc
file will be invalid and so you should remove and re-generate with sidekick init
.
Tested to work when doing:
[sidekick installed globally]
sidekick init
sidekick run
As you can see in the screenshot,
sidekick run
won't work if a .sidekickrc file is present.Maybe some more specific error message would help instead of having always the same generic one.