mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-01-01 19:46:44 +00:00
b003f48d7b
Also includes various improvements and bugfixes to services and the migration from legacy /data to volumes. The switch ti migrations involves a dirty hack for webpack to properly resolve the paths to the migrations js files - it uses an expression that webpack can't resolve, so we hardcode it to a value and use the ContextReplacementPlugin to make that value resolve to the migrations folder. The downsides to this approach are: - a change in knex code would break this - the migration code is added twice to the supervisor image: once in the migrations folder (because knex needs to loop through the directory to find the files), and once inside app.js (because I can't make webpack treat them as external) Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
8 lines
446 B
JavaScript
8 lines
446 B
JavaScript
// knex migrations use dynamic requires which break with webpack.
|
|
// This hack makes the migrations directory a constant so that at least we can use webpack contexts for the
|
|
// require.
|
|
module.exports = function (source) {
|
|
return source.toString().replace("require(directory + '/' + name);", "require('./migrations/' + name);")
|
|
.replace("require(_path2.default.join(this._absoluteConfigDir(), name));", "require('./migrations/' + name);")
|
|
}
|