From a52060d65ea41915e16bdbb64d862e4b6c476fd6 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Tue, 29 Jan 2019 15:15:13 -0800 Subject: [PATCH] build improvements --- package.json | 18 +++++++----------- tsconfig.json | 4 ++-- webpack.config.js | 30 ++++++++++++++++++------------ 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 5b09dd84e..d0917a525 100644 --- a/package.json +++ b/package.json @@ -12,20 +12,16 @@ }, "scripts": { "lint": "tslint src/**/*.ts", - "build": "cpx \"src/**/*.{vert,frag,glsl,scss,woff,woff2,ttf,otf,eot,svg,html,gql}\" build/node_modules/ && tsc", + "test": "jest", + "build": "cpx \"src/**/*.{vert,frag,glsl,scss,woff,woff2,ttf,otf,eot,svg,html,gql}\" build/src/ && tsc -b", + "postinstall": "npm run build", "watch": "concurrently --kill-others \"npm:watch-ts\" \"npm:watch-extra\" \"npm:watch-webpack\"", "watch-ts": "tsc -watch", - "watch-extra": "cpx \"src/**/*.{vert,frag,glsl,scss,woff,woff2,ttf,otf,eot,svg,html,gql}\" build/node_modules/ --watch", - "watch-all-win": "start cmd /K npm run watch-ts & start cmd /K npm run watch-extra & start cmd /K npm run watch-viewer & start http-server -p 1338", - "test": "jest", + "watch-extra": "cpx \"src/**/*.{vert,frag,glsl,scss,woff,woff2,ttf,otf,eot,svg,html,gql}\" build/src/ --watch", "build-webpack": "webpack --mode development", "watch-webpack": "webpack -w --mode development", - "build-viewer": "webpack build/node_modules/apps/viewer/index.js --mode development -o build/viewer/index.js", - "watch-viewer": "webpack build/node_modules/apps/viewer/index.js -w --mode development -o build/viewer/index.js", - "build-ms-query": "webpack build/node_modules/apps/model-server-query/index.js --mode development -o build/model-server-query/index.js", - "watch-ms-query": "webpack build/node_modules/apps/model-server-query/index.js -w --mode development -o build/model-server-query/index.js", - "model-server": "node build/node_modules/servers/model/server.js", - "model-server-watch": "nodemon --watch build/node_modules build/node_modules/servers/model/server.js" + "model-server": "node build/src/servers/model/server.js", + "model-server-watch": "nodemon --watch build/src build/src/servers/model/server.js" }, "nodemonConfig": { "ignoreRoot": [ @@ -46,7 +42,7 @@ }, "moduleDirectories": [ "node_modules", - "build/node_modules" + "build/src" ], "testURL": "http://localhost/", "moduleNameMapper": { diff --git a/tsconfig.json b/tsconfig.json index fabe88108..863edc7c7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,7 @@ // "downlevelIteration": true, "jsx": "react", "lib": [ "es6", "dom", "esnext.asynciterable", "es2016" ], - "outDir": "build/node_modules", + "outDir": "build", "baseUrl": "src", "paths": { "mol-app": ["./mol-app"], @@ -34,5 +34,5 @@ "mol-canvas3d": ["./mol-view"] } }, - "include": [ "**/*" ], + "include": [ "src/**/*" ], } \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index 4c6910aca..f36e7340d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,18 +9,18 @@ const sharedConfig = { { loader: 'raw-loader', test: /\.(glsl|frag|vert)$/, - include: [ path.resolve(__dirname, 'build/node_modules/') ], + include: [ path.resolve(__dirname, 'build/src/') ], }, { loader: 'glslify-loader', test: /\.(glsl|frag|vert)$/, - include: [ path.resolve(__dirname, 'build/node_modules/') ] + include: [ path.resolve(__dirname, 'build/src/') ] }, { loader: 'file-loader', test: /\.(woff2?|ttf|otf|eot|svg|html)$/, - include: [ path.resolve(__dirname, 'build/node_modules/') ], + include: [ path.resolve(__dirname, 'build/src/') ], options: { name: '[name].[ext]' } @@ -33,26 +33,32 @@ const sharedConfig = { }, plugins: [ // new CircularDependencyPlugin({ - // include: [ path.resolve(__dirname, 'build/node_modules/') ], + // include: [ path.resolve(__dirname, 'build/src/') ], // failOnError: false, // cwd: process.cwd(), // }), new ExtraWatchWebpackPlugin({ files: [ - './build/node_modules/**/*.vert', - './build/node_modules/**/*.frag', - './build/node_modules/**/*.glsl', - './build/node_modules/**/*.scss', - './build/node_modules/**/*.html' + './build/src/**/*.vert', + './build/src/**/*.frag', + './build/src/**/*.glsl', + './build/src/**/*.scss', + './build/src/**/*.html' ], }), - new MiniCssExtractPlugin({ filename: "app.css" }) - ] + new MiniCssExtractPlugin({ filename: 'app.css' }) + ], + resolve: { + modules: [ + 'node_modules', + path.resolve(__dirname, 'build/src/') + ], + } } function createEntryPoint(name, dir, out) { return { - entry: path.resolve(__dirname, `build/node_modules/${dir}/${name}.js`), + entry: path.resolve(__dirname, `build/src/${dir}/${name}.js`), output: { filename: `${name}.js`, path: path.resolve(__dirname, `build/${out}`) }, ...sharedConfig } -- GitLab