I was trying to run the app package from it's own directory and received errors.
Here are the steps to reproduce.
> git clone https://github.com/genome-spy/genome-spy.git
Cloning into 'genome-spy'...
remote: Enumerating objects: 13858, done.
remote: Counting objects: 100% (3278/3278), done.
remote: Compressing objects: 100% (1595/1595), done.
remote: Total 13858 (delta 2499), reused 2364 (delta 1655), pack-reused 10580
Receiving objects: 100% (13858/13858), 5.60 MiB | 12.78 MiB/s, done.
Resolving deltas: 100% (10654/10654), done.
> cd genome-spy/packages/app
> npm i
added 75 packages, and audited 76 packages in 13s
1 package is looking for funding
run `npm fund` for details
found 0 vulnerabilities
> npm run dev
npm run dev
> @genome-spy/[email protected] dev
> node dev-server.js
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module 'express'
Require stack:
- /Users/mvincent/work/genome-spy/packages/app/dev-server.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/Users/mvincent/work/genome-spy/packages/app/dev-server.js:6:17)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/mvincent/work/genome-spy/packages/app/dev-server.js'
]
}
> npm i express
> npm i vite
> npm i vite-raw-plugin
> npm i rollup-plugin-minify-html-literals
> npm run dev
npm run dev
> @genome-spy/[email protected] dev
> node dev-server.js
Pre-bundling dependencies:
vega-util
vega-loader
@genome-spy/core/genomeSpy.js
lit
@genome-spy/core/genomeSpy
(...and 51 more)
(this will be run only when your dependencies or config have changed)
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rect.fragment.glsl
node_modules/@genome-spy/core/src/marks/rectMark.js:3:28:
3 │ import FRAGMENT_SHADER from "../gl/rect.fragment.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rect.vertex.glsl
node_modules/@genome-spy/core/src/marks/rectMark.js:2:26:
2 │ import VERTEX_SHADER from "../gl/rect.vertex.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/link.fragment.glsl
node_modules/@genome-spy/core/src/marks/link.js:3:28:
3 │ import FRAGMENT_SHADER from "../gl/link.fragment.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/link.vertex.glsl
node_modules/@genome-spy/core/src/marks/link.js:2:26:
2 │ import VERTEX_SHADER from "../gl/link.vertex.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rule.vertex.glsl
node_modules/@genome-spy/core/src/marks/rule.js:8:26:
8 │ import VERTEX_SHADER from "../gl/rule.vertex.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rule.fragment.glsl
node_modules/@genome-spy/core/src/marks/rule.js:9:28:
9 │ import FRAGMENT_SHADER from "../gl/rule.fragment.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/point.fragment.glsl
node_modules/@genome-spy/core/src/marks/pointMark.js:6:28:
6 │ import FRAGMENT_SHADER from "../gl/point.fragment.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/point.vertex.glsl
node_modules/@genome-spy/core/src/marks/pointMark.js:5:26:
5 │ import VERTEX_SHADER from "../gl/point.vertex.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/fp64-arithmetic.glsl
node_modules/@genome-spy/core/src/marks/mark.js:24:17:
24 │ import FP64 from "../gl/includes/fp64-arithmetic.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/sampleFacet.glsl
node_modules/@genome-spy/core/src/marks/mark.js:28:30:
28 │ import GLSL_SAMPLE_FACET from "../gl/includes/sampleFacet.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/common.glsl
node_modules/@genome-spy/core/src/marks/mark.js:25:24:
25 │ import GLSL_COMMON from "../gl/includes/common.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/picking.fragment.glsl
node_modules/@genome-spy/core/src/marks/mark.js:30:34:
30 │ import GLSL_PICKING_FRAGMENT from "../gl/includes/picking.fragment.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/scales.glsl
node_modules/@genome-spy/core/src/marks/mark.js:26:24:
26 │ import GLSL_SCALES from "../gl/includes/scales.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/picking.vertex.glsl
node_modules/@genome-spy/core/src/marks/mark.js:29:32:
29 │ import GLSL_PICKING_VERTEX from "../gl/includes/picking.vertex.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/scales_fp64.glsl
node_modules/@genome-spy/core/src/marks/mark.js:27:29:
27 │ import GLSL_SCALES_FP64 from "../gl/includes/scales_fp64.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/text.fragment.glsl
node_modules/@genome-spy/core/src/marks/text.js:5:28:
5 │ import FRAGMENT_SHADER from "../gl/text.fragment.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~
✘ [ERROR] No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/text.vertex.glsl
node_modules/@genome-spy/core/src/marks/text.js:4:26:
4 │ import VERTEX_SHADER from "../gl/text.vertex.glsl";
╵ ~~~~~~~~~~~~~~~~~~~~~~~~
/Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:1605
let error = new Error(`${text}${summary}`);
^
Error: Build failed with 17 errors:
node_modules/@genome-spy/core/src/marks/link.js:2:26: ERROR: No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/link.vertex.glsl
node_modules/@genome-spy/core/src/marks/link.js:3:28: ERROR: No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/link.fragment.glsl
node_modules/@genome-spy/core/src/marks/mark.js:24:17: ERROR: No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/fp64-arithmetic.glsl
node_modules/@genome-spy/core/src/marks/mark.js:25:24: ERROR: No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/common.glsl
node_modules/@genome-spy/core/src/marks/mark.js:26:24: ERROR: No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/scales.glsl
...
at failureErrorWithLog (/Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:1605:15)
at /Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:1251:28
at runOnEndCallbacks (/Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:1036:63)
at buildResponseToResult (/Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:1249:7)
at /Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:1358:14
at /Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:668:9
at handleIncomingPacket (/Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:765:9)
at Socket.readFromStdout (/Users/mvincent/work/deleteme/deleteme2/genome-spy/packages/app/node_modules/esbuild/lib/main.js:635:7)
at Socket.emit (node:events:390:28)
at addChunk (node:internal/streams/readable:315:12) {
errors: [
{
detail: undefined,
location: {
column: 26,
file: 'node_modules/@genome-spy/core/src/marks/link.js',
length: 24,
line: 2,
lineText: 'import VERTEX_SHADER from "../gl/link.vertex.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/link.vertex.glsl'
},
{
detail: undefined,
location: {
column: 28,
file: 'node_modules/@genome-spy/core/src/marks/link.js',
length: 26,
line: 3,
lineText: 'import FRAGMENT_SHADER from "../gl/link.fragment.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/link.fragment.glsl'
},
{
detail: undefined,
location: {
column: 17,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 37,
line: 24,
lineText: 'import FP64 from "../gl/includes/fp64-arithmetic.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/fp64-arithmetic.glsl'
},
{
detail: undefined,
location: {
column: 24,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 28,
line: 25,
lineText: 'import GLSL_COMMON from "../gl/includes/common.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/common.glsl'
},
{
detail: undefined,
location: {
column: 24,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 28,
line: 26,
lineText: 'import GLSL_SCALES from "../gl/includes/scales.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/scales.glsl'
},
{
detail: undefined,
location: {
column: 29,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 33,
line: 27,
lineText: 'import GLSL_SCALES_FP64 from "../gl/includes/scales_fp64.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/scales_fp64.glsl'
},
{
detail: undefined,
location: {
column: 30,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 33,
line: 28,
lineText: 'import GLSL_SAMPLE_FACET from "../gl/includes/sampleFacet.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/sampleFacet.glsl'
},
{
detail: undefined,
location: {
column: 32,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 36,
line: 29,
lineText: 'import GLSL_PICKING_VERTEX from "../gl/includes/picking.vertex.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/picking.vertex.glsl'
},
{
detail: undefined,
location: {
column: 34,
file: 'node_modules/@genome-spy/core/src/marks/mark.js',
length: 38,
line: 30,
lineText: 'import GLSL_PICKING_FRAGMENT from "../gl/includes/picking.fragment.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/includes/picking.fragment.glsl'
},
{
detail: undefined,
location: {
column: 26,
file: 'node_modules/@genome-spy/core/src/marks/pointMark.js',
length: 25,
line: 5,
lineText: 'import VERTEX_SHADER from "../gl/point.vertex.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/point.vertex.glsl'
},
{
detail: undefined,
location: {
column: 28,
file: 'node_modules/@genome-spy/core/src/marks/pointMark.js',
length: 27,
line: 6,
lineText: 'import FRAGMENT_SHADER from "../gl/point.fragment.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/point.fragment.glsl'
},
{
detail: undefined,
location: {
column: 26,
file: 'node_modules/@genome-spy/core/src/marks/rectMark.js',
length: 24,
line: 2,
lineText: 'import VERTEX_SHADER from "../gl/rect.vertex.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rect.vertex.glsl'
},
{
detail: undefined,
location: {
column: 28,
file: 'node_modules/@genome-spy/core/src/marks/rectMark.js',
length: 26,
line: 3,
lineText: 'import FRAGMENT_SHADER from "../gl/rect.fragment.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rect.fragment.glsl'
},
{
detail: undefined,
location: {
column: 26,
file: 'node_modules/@genome-spy/core/src/marks/rule.js',
length: 24,
line: 8,
lineText: 'import VERTEX_SHADER from "../gl/rule.vertex.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rule.vertex.glsl'
},
{
detail: undefined,
location: {
column: 28,
file: 'node_modules/@genome-spy/core/src/marks/rule.js',
length: 26,
line: 9,
lineText: 'import FRAGMENT_SHADER from "../gl/rule.fragment.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/rule.fragment.glsl'
},
{
detail: undefined,
location: {
column: 26,
file: 'node_modules/@genome-spy/core/src/marks/text.js',
length: 24,
line: 4,
lineText: 'import VERTEX_SHADER from "../gl/text.vertex.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/text.vertex.glsl'
},
{
detail: undefined,
location: {
column: 28,
file: 'node_modules/@genome-spy/core/src/marks/text.js',
length: 26,
line: 5,
lineText: 'import FRAGMENT_SHADER from "../gl/text.fragment.glsl";',
namespace: '',
suggestion: ''
},
notes: [],
pluginName: '',
text: 'No loader is configured for ".glsl" files: node_modules/@genome-spy/core/src/gl/text.fragment.glsl'
}
],
warnings: []
}