Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating gulp, webpack, and Dockerfile #118

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Commits on Jul 9, 2020

  1. Updating gulp, webpack, and Dockerfile

    Unstable commit; committing to track and save progress.
    
    Add Dockerfile to .dockerignore to prevent changes to the Dockfile itself from triggering rebuild of earlier steps of the Dockerfile
    
    Move to Ubuntu 18 for Dockerfile instead of 16. Not yet moving to Ubuntu 20 as Node 8 is not supported on Ubuntu 20.
    
    Rewrote Dockerfile as a multi-stage build to both prevent constant rebuild of everything on small changes and also to only copy needed files into the end runtime.
    
    Moved a number of modules from bower.json to package.json as updated webpack was not able to recognize those specific modules and do dynamic module resolution correctly with them unless the npm version of those modules are used.
    
    Moved to using a different lato font package as the specific module was/is not on npm.
    
    Split webpack config up into two files as it was done in a non-standard looking way to begin with. Now the webpack config file contains only the standard looking webpack config as it should.
    
    Updated gulp to a new version and rewrote the old incompatible bits of the gulpfile to work with the new version.
    
    Temporarily removed deletion of /res/build from clean step of the gulpfile.
    
    Corrected hardcoded module references to modules that are now in node_modules/@DeviceFarmer
    
    Moved prepublish step of package.json into Dockerfile. This could confuse users not using docker though and may have to be changed back.
    
    Updated to a new version of webpack and altered the webpack file to work with the new way. Angular is still broken and will need to be updated. The old angular method in webpack doesn't work with the new webpack version. TODO
    
    Using versions of less-loader and sass-loader a major version behind as the latest versions require node 10.
    
    Added '-loader' to all the various webpack loaders used not only in webpack config but also in a few module require lines.
    
    Removed the commons.entry.js script lines as the new webpack build doesn't create a commons script.
    
    Attempted to fix the way ngRoute/app is loaded by angular in auth/mock. Still isn't working. Am going to switch to newer angular...
    
    Ran lang/translations json files through a JSON pretty printer as it looked horrible and lack of spaces is not user / curious person friendly.
    
    webpack config file still in progress of changes.
    nanoscopic committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    44668dc View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2020

  1. Continuing to get updated build/frontend working

    Updated Dockerfile to use even more stages to separate frontend build from backend build.
    The 'res' folder has mixed stuff in it for both the frontend and backend so this process is still not complete.
    
    Moved all the angular modules into their own grouping in bower.json for readability. Previously attempted to move all the angular modules into npm package.json but that failed so they have to remain here in bower.json for now.
    
    Updated angular to version 1.8.0. This works "for the most part" with various things broken here and there that am in process of fixing.
    
    Added ng-annotate to webpack process, so as to use ngInject to get some dependencies running in places where old webpack 2.0 process was handling it. Updated a few places that need njInject annotation so far.
    
    Added missing d3 import into app.js
    
    Updated signinController to use `then` instead of deprecated ( and no longer working ) success and error functions.
    
    Continued to update webpack config so that it has what is needed to startup the frontend using webpack 4. Login screen works now but is missing styling.
    
    Main page after login is currently broken on angular-hotkeys and/or mousetrap. That is being worked on.
    nanoscopic committed Jul 14, 2020
    Configuration menu
    Copy the full SHA
    2a99631 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Many fixes for updated build

    The updated build is nearly complete / fully functional. There are still some broken bits here and there but loading, styling, login, navigation are working correctly now.
    
    Changed naming of bower installed module directory to 'bower_modules' and hardcoded it for the moment to /tmp/build rather than locating it within the res/ directory. Initially this change was made for testing purposes and to make the docker image build process easier/cleaner. Leaving it this way for the moment but it is problematic in that the /tmp directory is wiped on boot in some cases so if using in a non-dockerized way this is trouble. TODO: Change it back.
    
    Added a bowerc file in initial attempts to use a proxy for fetching bower modules. Fetching bower modules through a proxy is nearly useless for what I intended ( caching ) because https is used. A MITM caching https proxy would need to be used. A caching proxy is not super important as long as you avoid running the docker build process hundreds of times in a row...
    
    Changed back to using slightly older version of oboe. Why? The newer oboe 2.1.5 doesn't understand relative URLs; demanding all urls passed to it to start with http or https.
    
    Added in spin.js dependency as it is needed and doesn't work without it. ( how did it work before? )
    
    Using newly rewritten mousetrap module ( I basically rewrote it entirely as an ES6 module as the old version was a global and confusing and horrible and I disliked it very much )
    
    Added in dependencies on epoch and ng-epoch. For whatever reason they weren't getting pulled in automatically.
    
    Changed to using newer/updated angular-borderlayout2. This causes a 44 pixel blank space at the top of STF. Unsure quite sure how to get rid of it yet besides altering the css provided by the new module not to have that space. May fork the module temporarily to avoid this space in a clean way.
    
    Added typescript and ts processing as some newer modules need it. Added babel and babel processing of jsx files to handle the es6 jsx within the mousetrap module, and to support future use and updates to the newer cleaner es6 class notation.
    
    Module loading via the "require(x).name" method has been tweaked in a few places to detect when it fails to get a module name to pass to angular. Really the way this is done currently should be changed everywhere as it is hard to debug when modules don't work correctly and/or don't return a module name.
    
    Epoch is now "epoch-charting". Changed some references to it. I think the old version may be getting pulled in also now? Need to check this further. TODO
    
    Changes font loading to use esModule: false option so that all fonts get loaded from their font files as a URL fetch instead of whatever was happening before ( the before of which simply didn't work )
    
    Fixed style loading ( was missing style-loader )
    nanoscopic committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    56fc25c View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. Get updated modules working

    Use exact version of oboe. Use newer ng-table and new capital import name for NgTableParams.
    Use angular-borderlayout2 instead of angular-borderlayout as it is updated more.
    Fix hardcoded js links to angular-hotkeys to be correct to new non pre-built version.
    Fix hardcoded ladda links.
    Remove non-functioning transform code in webpack.
    Reorder dependency resolve in webpack as the order matters due to equally named local modules.
    nanoscopic committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    6343c0e View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2020

  1. Random small fixes. Added IPA install support.

    Minor tweaks to Dockerfile. Addition of chown to /app/res as it was ending up owned by root instead of stf. Added webpackserver.config.js because it is looked at by the backend app in some cases.
    
    Using latest mousetrap via angular-hotkeys.
    
    Changed references to angular-borderlayout to all have it without a 2 at the end. Using custom fork as the original was broken with current browsers / node.
    
    Added mime type setting to express; but it isn't needed. The MIME issue I was encountering was due to an error message being served out in place of a JS file, and that having MIME text/html. TODO: Remove this added line.
    
    Added log of static file serving via express because there was no log anywhere of files being served and it made debugging difficult. TODO: Make this tied to a debug log level instead of always logging all the requests and cleanup the commented out bits.
    
    Changed require('request') lines in various places to not use strict SSL, so that the self-signed / auto created certs of a demo / testing environment can actually work. This should be changed to use a custom single instance shared module that has configuration for specifying the root CA that created these certs, or at the very least making this options as it weakens security. TODO
    
    Added logging of websocket requests to the frontend for debugging purposes. These can stay in place as they aren't visible unless someone goes looking for them in the console.
    nanoscopic committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    3578b04 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2020

  1. Alert response functionality

    The advanced section has a new button now to show a dialog for responding to an on-screen alert.
    
    Initial mouse wheel support for scrolling screen vertically has been added, but it has issues. If you scroll more than a single "notch" at a time it can freeze the WDA.
    
    For now have added in console logging of messages via the websocket to the backend. This makes events far easier to debug and also generally see what is happening.
    nanoscopic committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    87992be View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2020

  1. Configuration menu
    Copy the full SHA
    083cfd1 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2020

  1. Fix mousewheel

    The wheel wire protocol was using an unsigned int but a signed in was being passed. That was causing huge values instead of small negatives
    nanoscopic committed Aug 13, 2020
    Configuration menu
    Copy the full SHA
    a16ed64 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2020

  1. Bump then-jade from 2.4.3 to 2.4.4 (DeviceFarmer#115)

    Bumps [then-jade](https://github.com/then/then-jade) from 2.4.3 to 2.4.4.
    - [Release notes](https://github.com/then/then-jade/releases)
    - [Commits](pugjs/then-pug@v2.4.3...v2.4.4)
    
    Signed-off-by: dependabot-preview[bot] <[email protected]>
    
    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
    dependabot-preview[bot] authored and nanoscopic committed Oct 2, 2020
    Configuration menu
    Copy the full SHA
    87d7a36 View commit details
    Browse the repository at this point in the history
  2. Bump imports-loader from 0.6.5 to 0.8.0 (DeviceFarmer#117)

    Bumps [imports-loader](https://github.com/webpack-contrib/imports-loader) from 0.6.5 to 0.8.0.
    - [Release notes](https://github.com/webpack-contrib/imports-loader/releases)
    - [Changelog](https://github.com/webpack-contrib/imports-loader/blob/master/CHANGELOG.md)
    - [Commits](webpack-contrib/imports-loader@v0.6.5...v0.8.0)
    
    Signed-off-by: dependabot-preview[bot] <[email protected]>
    
    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
    dependabot-preview[bot] authored and nanoscopic committed Oct 2, 2020
    Configuration menu
    Copy the full SHA
    582d38f View commit details
    Browse the repository at this point in the history
  3. Bump rethinkdb from 2.3.3 to 2.4.2 (DeviceFarmer#116)

    Bumps [rethinkdb](https://github.com/rethinkdb/rethinkdb) from 2.3.3 to 2.4.2.
    - [Release notes](https://github.com/rethinkdb/rethinkdb/releases)
    - [Commits](https://github.com/rethinkdb/rethinkdb/commits)
    
    Signed-off-by: dependabot-preview[bot] <[email protected]>
    
    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
    Co-authored-by: Karol Wrótniak <[email protected]>
    2 people authored and nanoscopic committed Oct 2, 2020
    Configuration menu
    Copy the full SHA
    3206e32 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f4ae304 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #1 from nanoscopic/upstream

    Merging upstream minus conflicting commit 841b092
    nanoscopic authored Oct 2, 2020
    Configuration menu
    Copy the full SHA
    6c463c5 View commit details
    Browse the repository at this point in the history
  6. Re-add .aab installation support

    This commit is essentially a conflict-resolved merge of DeviceFarmer@841b092
    
    Previous upstream merge did not include this feature in order to merge more cleanly.
    David Helkowski committed Oct 2, 2020
    Configuration menu
    Copy the full SHA
    be1552a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d111d60 View commit details
    Browse the repository at this point in the history