jupyter-book / thebe

Turn static HTML pages into live documents with Jupyter kernels.
https://thebe.readthedocs.io
BSD 3-Clause "New" or "Revised" License
393 stars 68 forks source link

`git diff --exit-code` is failing on master #382

Closed moorepants closed 3 years ago

moorepants commented 3 years ago

Describe the bug

Seeing:

Run # If this fails, run `npm run fmt` and push the result

> thebe@0.6.0 fmt /home/runner/work/thebe/thebe
> prettier --trailing-comma=es5 --write *.js src/*.js examples/*.js test/*.js

babel.config.js 36ms
jest-puppeteer.config.js 8ms
jest.config.js 10ms
jest.e2e.config.js 17ms
jest.setup.js 4ms
jupyter-server.js 11ms
webpack.config.js 33ms
src/emptyshim.js 8ms
src/index.js 6ms
src/manager.js 28ms
src/output.js 42ms
src/services-shim.js 39ms
src/thebelab.js 215ms
examples/thebe_status_field.js 18ms
test/bootstrap.spec.js 12ms
test/helpers.js 5ms
test/render.spec.js 17ms
test/sanity.spec.js 4ms
test/thebe.properties.spec.js 4ms
diff --git a/package-lock.json b/package-lock.json
index f834949..3884625 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3640,25 +3640,6 @@
         }
       }
     },
-    "@jupyterlab/codeeditor": {
-      "version": "3.0.0-rc.5",
-      "resolved": "https://registry.npmjs.org/@jupyterlab/codeeditor/-/codeeditor-3.0.0-rc.5.tgz",
-      "integrity": "sha512-eIY5J1KXs2E5J9IXhAM8TQFMqhe2N5TMheOgTyWq6J+9oPbSauxNvvGzrWn8Y9aBsDw5i2QamZRn82VnwlOn9A==",
-      "dev": true,
-      "requires": {
-        "@jupyterlab/coreutils": "^5.0.0-rc.5",
-        "@jupyterlab/nbformat": "^3.0.0-rc.5",
-        "@jupyterlab/observables": "^4.0.0-rc.5",
-        "@jupyterlab/translation": "^3.0.0-rc.5",
-        "@jupyterlab/ui-components": "^3.0.0-rc.5",
-        "@lumino/coreutils": "^1.5.3",
-        "@lumino/disposable": "^1.4.3",
-        "@lumino/dragdrop": "^1.6.4",
-        "@lumino/messaging": "^1.4.3",
-        "@lumino/signaling": "^1.4.3",
-        "@lumino/widgets": "^1.14.0"
-      }
-    },
     "@jupyterlab/codemirror": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/@jupyterlab/codemirror/-/codemirror-3.0.5.tgz",
Error: Process completed with exit code 1.

I ran npm run fmt locally but no changes occur, so there is nothing to commit and push. I'm not quite sure what's causing the issue.

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

A link to your documentation repository.

If relevant, a minimal example of the input text should be supplied, together with a screen-shot of the output document and/or command-line output, e.g.

some text...
$ jupyter-book build mybook
ERROR ...

Environment

Additional context

Add any other context about the problem here.

moorepants commented 3 years ago

Or maybe git diff is returning the 1 exit code?

moorepants commented 3 years ago

It looks like it does run git diff --exit-code, so I guess there shouldn't be a diff.

moorepants commented 3 years ago

npm ls returns all this:

moorepants@nandi:thebe(master)$ npm ls
thebe@0.6.0 /home/moorepants/src/thebe
├── @babel/core@7.12.3
├── @babel/preset-env@7.12.1
├── @istanbuljs/schema@0.1.2 extraneous
├── @jupyter-widgets/base@2.0.2 invalid
├── @jupyter-widgets/controls@1.5.3 invalid
├── @jupyter-widgets/html-manager@0.18.4 invalid
├── @jupyter-widgets/output@2.0.1 invalid
├── @jupyterlab/codemirror@1.2.8 invalid
├── @jupyterlab/mathjax2@1.2.0 invalid
├── @jupyterlab/outputarea@1.2.9 invalid
├── @jupyterlab/services@4.2.2 invalid
├── UNMET DEPENDENCY @jupyterlab/testutils@^2.2.7
├── @jupyterlab/theme-light-extension@1.2.8 invalid
├── @ungap/promise-all-settled@1.1.2 extraneous
├── after@0.8.2 extraneous
├── ansi-colors@4.1.1 extraneous
├── arraybuffer.slice@0.0.7 extraneous
├── assertion-error@1.1.0 extraneous
├── UNMET DEPENDENCY babel-jest@^26.6.1 deduped
├── babel-loader@8.1.0
├── backo2@1.0.2 extraneous
├── base64-arraybuffer@0.1.4 extraneous
├── base64id@2.0.0 extraneous
├── better-assert@1.0.2 extraneous
├── blob@0.0.5 extraneous
├── browser-stdout@1.3.1 extraneous
├── callsite@1.0.0 extraneous
├── chai@4.2.0 extraneous
├── check-error@1.0.2 extraneous
├── clone-deep@4.0.1 extraneous
├── codecov@3.8.0
├── colorette@1.2.1 extraneous
├── component-bind@1.0.0 extraneous
├── component-inherit@0.0.3 extraneous
├── concurrently@5.3.0
├── connect@3.7.0 extraneous
├── core-js@3.6.5
├── css-loader@3.5.3 invalid
├── custom-event@1.0.1 extraneous
├── date-format@3.0.0 extraneous
├── deep-eql@3.0.1 extraneous
├── di@0.0.1 extraneous
├── diff@4.0.2 extraneous
├── dom-serialize@2.2.1 extraneous
├── engine.io-client@3.4.4 extraneous
├── engine.io-parser@2.2.1 extraneous
├── engine.io@3.4.2 extraneous
├── ent@2.2.0 extraneous
├── extend@3.0.2 extraneous
├── file-loader@6.1.1
├── flat@5.0.2 extraneous
├── flatted@2.0.2 extraneous
├── fs-extra@8.1.0 extraneous
├── get-func-name@2.0.0 extraneous
├── growl@1.10.5 extraneous
├── has-binary2@1.0.3 extraneous
├── has-cors@1.1.0 extraneous
├── html-escaper@2.0.2 extraneous
├── UNMET DEPENDENCY html-loader-jest@^0.2.1 deduped
├── http-server@0.12.3
├── UNMET DEPENDENCY identity-obj-proxy@^3.0.0 deduped
├── indexof@0.0.1 extraneous
├── is-plain-obj@2.1.0 extraneous
├── isbinaryfile@4.0.6 extraneous
├── istanbul-instrumenter-loader@3.0.1
├── istanbul-lib-report@3.0.0 extraneous
├── istanbul-lib-source-maps@4.0.0 extraneous
├── istanbul-reports@3.0.2 extraneous
├── UNMET DEPENDENCY jest-puppeteer@^4.4.0 deduped
├── UNMET DEPENDENCY jest@^26.6.3 deduped
├── UNMET DEPENDENCY jquery-ui-bundle@^1.12.1-migrate deduped
├── jquery@3.5.1
├── jsonfile@4.0.0 extraneous
├── karma-chrome-launcher@3.1.0 extraneous
├── karma-coverage-istanbul-reporter@3.0.3 extraneous
├── karma-coverage@2.0.3 extraneous
├── karma-mocha@2.0.1 extraneous
├── karma-spec-reporter@0.0.32 extraneous
├── karma-webpack@4.0.2 extraneous
├── karma@5.2.3 extraneous
├── line-column@1.0.2 extraneous
├── log-symbols@4.0.0 extraneous
├── log4js@6.3.0 extraneous
├── mocha-loader@5.1.5 extraneous
├── mocha@8.2.0 extraneous
├── nanoid@3.1.12 extraneous
├── node-fetch@2.6.1
├── object-component@0.0.3 extraneous
├── parseqs@0.0.5 extraneous
├── parseuri@0.0.5 extraneous
├── pathval@1.1.0 extraneous
├── prettier@2.1.2
├── UNMET DEPENDENCY puppeteer@^5.4.1 deduped
├── qjobs@1.2.0 extraneous
├── rfdc@1.1.4 extraneous
├── shallow-clone@3.0.1 extraneous
├── socket.io-adapter@1.1.2 extraneous
├── socket.io-client@2.3.0 extraneous
├── socket.io-parser@3.4.1 extraneous
├── socket.io@2.3.0 extraneous
├── streamroller@2.2.4 extraneous
├── strip-json-comments@3.1.1 extraneous
├── style-loader@2.0.0
├── tmp@0.2.1 extraneous
├── to-array@0.1.4 extraneous
├── type-detect@4.0.8 extraneous
├── ua-parser-js@0.7.22 extraneous
├── universalify@0.1.2 extraneous
├── url-loader@4.1.1
├── uuid@3.4.0 extraneous
├── void-elements@2.0.1 extraneous
├── webpack-bundle-analyzer@3.9.0
├── webpack-cli@3.3.11 invalid
├── webpack-dev-middleware@3.7.2 extraneous
├── webpack-log@2.0.0 extraneous
├── webpack@4.44.2
├── wide-align@1.1.3 extraneous
├── workerpool@6.0.2 extraneous
├── xmlhttprequest-ssl@1.5.5 extraneous
├── yargs-unparser@2.0.0 extraneous
└── yeast@0.1.2 extraneous

npm ERR! code ELSPROBLEMS
npm ERR! extraneous: @istanbuljs/schema@0.1.2 /home/moorepants/src/thebe/node_modules/@istanbuljs/schema
npm ERR! invalid: @jupyter-widgets/base@2.0.2 /home/moorepants/src/thebe/node_modules/@jupyter-widgets/base
npm ERR! invalid: @jupyter-widgets/controls@1.5.3 /home/moorepants/src/thebe/node_modules/@jupyter-widgets/controls
npm ERR! invalid: @jupyter-widgets/html-manager@0.18.4 /home/moorepants/src/thebe/node_modules/@jupyter-widgets/html-manager
npm ERR! invalid: @jupyter-widgets/output@2.0.1 /home/moorepants/src/thebe/node_modules/@jupyter-widgets/output
npm ERR! invalid: @jupyterlab/codemirror@1.2.8 /home/moorepants/src/thebe/node_modules/@jupyterlab/codemirror
npm ERR! invalid: @jupyterlab/mathjax2@1.2.0 /home/moorepants/src/thebe/node_modules/@jupyterlab/mathjax2
npm ERR! invalid: @jupyterlab/outputarea@1.2.9 /home/moorepants/src/thebe/node_modules/@jupyterlab/outputarea
npm ERR! invalid: @jupyterlab/services@4.2.2 /home/moorepants/src/thebe/node_modules/@jupyterlab/services
npm ERR! missing: @jupyterlab/testutils@^2.2.7, required by thebe@0.6.0
npm ERR! invalid: @jupyterlab/theme-light-extension@1.2.8 /home/moorepants/src/thebe/node_modules/@jupyterlab/theme-light-extension
npm ERR! extraneous: @ungap/promise-all-settled@1.1.2 /home/moorepants/src/thebe/node_modules/@ungap/promise-all-settled
npm ERR! extraneous: after@0.8.2 /home/moorepants/src/thebe/node_modules/after
npm ERR! extraneous: ansi-colors@4.1.1 /home/moorepants/src/thebe/node_modules/ansi-colors
npm ERR! extraneous: arraybuffer.slice@0.0.7 /home/moorepants/src/thebe/node_modules/arraybuffer.slice
npm ERR! extraneous: assertion-error@1.1.0 /home/moorepants/src/thebe/node_modules/assertion-error
npm ERR! missing: babel-jest@^26.6.1, required by thebe@0.6.0
npm ERR! extraneous: backo2@1.0.2 /home/moorepants/src/thebe/node_modules/backo2
npm ERR! extraneous: base64-arraybuffer@0.1.4 /home/moorepants/src/thebe/node_modules/base64-arraybuffer
npm ERR! extraneous: base64id@2.0.0 /home/moorepants/src/thebe/node_modules/base64id
npm ERR! extraneous: better-assert@1.0.2 /home/moorepants/src/thebe/node_modules/better-assert
npm ERR! extraneous: blob@0.0.5 /home/moorepants/src/thebe/node_modules/blob
npm ERR! extraneous: browser-stdout@1.3.1 /home/moorepants/src/thebe/node_modules/browser-stdout
npm ERR! extraneous: callsite@1.0.0 /home/moorepants/src/thebe/node_modules/callsite
npm ERR! extraneous: chai@4.2.0 /home/moorepants/src/thebe/node_modules/chai
npm ERR! extraneous: check-error@1.0.2 /home/moorepants/src/thebe/node_modules/check-error
npm ERR! extraneous: clone-deep@4.0.1 /home/moorepants/src/thebe/node_modules/clone-deep
npm ERR! extraneous: colorette@1.2.1 /home/moorepants/src/thebe/node_modules/colorette
npm ERR! extraneous: component-bind@1.0.0 /home/moorepants/src/thebe/node_modules/component-bind
npm ERR! extraneous: component-inherit@0.0.3 /home/moorepants/src/thebe/node_modules/component-inherit
npm ERR! extraneous: connect@3.7.0 /home/moorepants/src/thebe/node_modules/connect
npm ERR! invalid: css-loader@3.5.3 /home/moorepants/src/thebe/node_modules/css-loader
npm ERR! extraneous: custom-event@1.0.1 /home/moorepants/src/thebe/node_modules/custom-event
npm ERR! extraneous: date-format@3.0.0 /home/moorepants/src/thebe/node_modules/date-format
npm ERR! extraneous: deep-eql@3.0.1 /home/moorepants/src/thebe/node_modules/deep-eql
npm ERR! extraneous: di@0.0.1 /home/moorepants/src/thebe/node_modules/di
npm ERR! extraneous: diff@4.0.2 /home/moorepants/src/thebe/node_modules/diff
npm ERR! extraneous: dom-serialize@2.2.1 /home/moorepants/src/thebe/node_modules/dom-serialize
npm ERR! extraneous: engine.io-client@3.4.4 /home/moorepants/src/thebe/node_modules/engine.io-client
npm ERR! extraneous: engine.io-parser@2.2.1 /home/moorepants/src/thebe/node_modules/engine.io-parser
npm ERR! extraneous: engine.io@3.4.2 /home/moorepants/src/thebe/node_modules/engine.io
npm ERR! extraneous: ent@2.2.0 /home/moorepants/src/thebe/node_modules/ent
npm ERR! extraneous: extend@3.0.2 /home/moorepants/src/thebe/node_modules/extend
npm ERR! extraneous: flat@5.0.2 /home/moorepants/src/thebe/node_modules/flat
npm ERR! extraneous: flatted@2.0.2 /home/moorepants/src/thebe/node_modules/flatted
npm ERR! extraneous: fs-extra@8.1.0 /home/moorepants/src/thebe/node_modules/fs-extra
npm ERR! extraneous: get-func-name@2.0.0 /home/moorepants/src/thebe/node_modules/get-func-name
npm ERR! extraneous: growl@1.10.5 /home/moorepants/src/thebe/node_modules/growl
npm ERR! extraneous: has-binary2@1.0.3 /home/moorepants/src/thebe/node_modules/has-binary2
npm ERR! extraneous: has-cors@1.1.0 /home/moorepants/src/thebe/node_modules/has-cors
npm ERR! extraneous: html-escaper@2.0.2 /home/moorepants/src/thebe/node_modules/html-escaper
npm ERR! missing: html-loader-jest@^0.2.1, required by thebe@0.6.0
npm ERR! missing: identity-obj-proxy@^3.0.0, required by thebe@0.6.0
npm ERR! extraneous: indexof@0.0.1 /home/moorepants/src/thebe/node_modules/indexof
npm ERR! extraneous: is-plain-obj@2.1.0 /home/moorepants/src/thebe/node_modules/is-plain-obj
npm ERR! extraneous: isbinaryfile@4.0.6 /home/moorepants/src/thebe/node_modules/isbinaryfile
npm ERR! extraneous: istanbul-lib-report@3.0.0 /home/moorepants/src/thebe/node_modules/istanbul-lib-report
npm ERR! extraneous: istanbul-lib-source-maps@4.0.0 /home/moorepants/src/thebe/node_modules/istanbul-lib-source-maps
npm ERR! extraneous: istanbul-reports@3.0.2 /home/moorepants/src/thebe/node_modules/istanbul-reports
npm ERR! missing: jest-puppeteer@^4.4.0, required by thebe@0.6.0
npm ERR! missing: jest@^26.6.3, required by thebe@0.6.0
npm ERR! missing: jquery-ui-bundle@^1.12.1-migrate, required by thebe@0.6.0
npm ERR! extraneous: jsonfile@4.0.0 /home/moorepants/src/thebe/node_modules/jsonfile
npm ERR! extraneous: karma-chrome-launcher@3.1.0 /home/moorepants/src/thebe/node_modules/karma-chrome-launcher
npm ERR! extraneous: karma-coverage-istanbul-reporter@3.0.3 /home/moorepants/src/thebe/node_modules/karma-coverage-istanbul-reporter
npm ERR! extraneous: karma-coverage@2.0.3 /home/moorepants/src/thebe/node_modules/karma-coverage
npm ERR! extraneous: karma-mocha@2.0.1 /home/moorepants/src/thebe/node_modules/karma-mocha
npm ERR! extraneous: karma-spec-reporter@0.0.32 /home/moorepants/src/thebe/node_modules/karma-spec-reporter
npm ERR! extraneous: karma-webpack@4.0.2 /home/moorepants/src/thebe/node_modules/karma-webpack
npm ERR! extraneous: karma@5.2.3 /home/moorepants/src/thebe/node_modules/karma
npm ERR! extraneous: line-column@1.0.2 /home/moorepants/src/thebe/node_modules/line-column
npm ERR! extraneous: log-symbols@4.0.0 /home/moorepants/src/thebe/node_modules/log-symbols
npm ERR! extraneous: log4js@6.3.0 /home/moorepants/src/thebe/node_modules/log4js
npm ERR! extraneous: mocha-loader@5.1.5 /home/moorepants/src/thebe/node_modules/mocha-loader
npm ERR! extraneous: mocha@8.2.0 /home/moorepants/src/thebe/node_modules/mocha
npm ERR! extraneous: nanoid@3.1.12 /home/moorepants/src/thebe/node_modules/nanoid
npm ERR! extraneous: object-component@0.0.3 /home/moorepants/src/thebe/node_modules/object-component
npm ERR! extraneous: parseqs@0.0.5 /home/moorepants/src/thebe/node_modules/parseqs
npm ERR! extraneous: parseuri@0.0.5 /home/moorepants/src/thebe/node_modules/parseuri
npm ERR! extraneous: pathval@1.1.0 /home/moorepants/src/thebe/node_modules/pathval
npm ERR! missing: puppeteer@^5.4.1, required by thebe@0.6.0
npm ERR! extraneous: qjobs@1.2.0 /home/moorepants/src/thebe/node_modules/qjobs
npm ERR! extraneous: rfdc@1.1.4 /home/moorepants/src/thebe/node_modules/rfdc
npm ERR! extraneous: shallow-clone@3.0.1 /home/moorepants/src/thebe/node_modules/shallow-clone
npm ERR! extraneous: socket.io-adapter@1.1.2 /home/moorepants/src/thebe/node_modules/socket.io-adapter
npm ERR! extraneous: socket.io-client@2.3.0 /home/moorepants/src/thebe/node_modules/socket.io-client
npm ERR! extraneous: socket.io-parser@3.4.1 /home/moorepants/src/thebe/node_modules/socket.io-parser
npm ERR! extraneous: socket.io@2.3.0 /home/moorepants/src/thebe/node_modules/socket.io
npm ERR! extraneous: streamroller@2.2.4 /home/moorepants/src/thebe/node_modules/streamroller
npm ERR! extraneous: strip-json-comments@3.1.1 /home/moorepants/src/thebe/node_modules/strip-json-comments
npm ERR! extraneous: tmp@0.2.1 /home/moorepants/src/thebe/node_modules/tmp
npm ERR! extraneous: to-array@0.1.4 /home/moorepants/src/thebe/node_modules/to-array
npm ERR! extraneous: type-detect@4.0.8 /home/moorepants/src/thebe/node_modules/type-detect
npm ERR! extraneous: ua-parser-js@0.7.22 /home/moorepants/src/thebe/node_modules/ua-parser-js
npm ERR! extraneous: universalify@0.1.2 /home/moorepants/src/thebe/node_modules/universalify
npm ERR! extraneous: uuid@3.4.0 /home/moorepants/src/thebe/node_modules/uuid
npm ERR! extraneous: void-elements@2.0.1 /home/moorepants/src/thebe/node_modules/void-elements
npm ERR! invalid: webpack-cli@3.3.11 /home/moorepants/src/thebe/node_modules/webpack-cli
npm ERR! extraneous: webpack-dev-middleware@3.7.2 /home/moorepants/src/thebe/node_modules/webpack-dev-middleware
npm ERR! extraneous: webpack-log@2.0.0 /home/moorepants/src/thebe/node_modules/webpack-log
npm ERR! extraneous: wide-align@1.1.3 /home/moorepants/src/thebe/node_modules/wide-align
npm ERR! extraneous: workerpool@6.0.2 /home/moorepants/src/thebe/node_modules/workerpool
npm ERR! extraneous: xmlhttprequest-ssl@1.5.5 /home/moorepants/src/thebe/node_modules/xmlhttprequest-ssl
npm ERR! extraneous: yargs-unparser@2.0.0 /home/moorepants/src/thebe/node_modules/yargs-unparser
npm ERR! extraneous: yeast@0.1.2 /home/moorepants/src/thebe/node_modules/yeast

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/moorepants/.npm/_logs/2021-04-09T06_59_35_314Z-debug.log
moorepants commented 3 years ago

I'm guessing I shouldn't rely on the dependabot merges and maybe the entire npm dep tree needs updating after merging some of those in.

moorepants commented 3 years ago

The git diff --exit-code must be failing because the different in the package-lock.json generated on the CI comes out differently to the one we've committed. I'm not sure why that would be, but I guess npm install is certainly not repeatable due to new versions constantly being released.

moorepants commented 3 years ago

Maybe this is the issue:

npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!