mirror of
https://github.com/moebooru/moebooru
synced 2025-08-22 01:47:48 +00:00
Update to the latest libraries
Also changed mapping path for coffees
This commit is contained in:
parent
9e21dc1e81
commit
e610e05337
48
build.js
48
build.js
@ -6,7 +6,7 @@ import esbuild from 'esbuild';
|
||||
import coffeeScriptPlugin from 'esbuild-coffeescript';
|
||||
import { lessLoader } from 'esbuild-plugin-less';
|
||||
import fsPromises from 'fs/promises';
|
||||
import glob from 'glob';
|
||||
import { globSync } from 'glob';
|
||||
|
||||
const outdir = 'app/assets/builds';
|
||||
|
||||
@ -41,15 +41,13 @@ const plugins = [
|
||||
const outfileBabel = `${outdir}/${filename}`;
|
||||
result.map.sources = result.map.sources
|
||||
// CoffeeScript sourcemap and Esbuild sourcemap combined generates duplicated source paths
|
||||
.map((path) => path.replace(/\.\.\/\.\.\/javascript(\/.+)?\/app\/javascript\//, '../app/javascript/'));
|
||||
.map((path) => path.replace(/\.\.\/\.\.\/javascript(\/.+)?\/app\/javascript\//, '../../javascript/'));
|
||||
const resultMap = JSON.stringify(result.map);
|
||||
const resultMapHash = createHash('sha256').update(resultMap).digest('hex');
|
||||
|
||||
return Promise.all([
|
||||
// add hash so it matches sprocket output
|
||||
fsPromises.writeFile(outfileBabel, `${result.code}\n//# sourceMappingURL=${filename}-${resultMapHash}.map`),
|
||||
fsPromises.writeFile(`${outfileBabel}.map`, JSON.stringify(result.map))
|
||||
]);
|
||||
// add hash so it matches sprocket output
|
||||
fsPromises.writeFile(outfileBabel, `${result.code}\n//# sourceMappingURL=${filename}-${resultMapHash}.map`);
|
||||
fsPromises.writeFile(`${outfileBabel}.map`, JSON.stringify(result.map));
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -64,6 +62,17 @@ const plugins = [
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'log',
|
||||
setup (build) {
|
||||
build.onStart(() => {
|
||||
console.log(new Date(), 'Build started');
|
||||
});
|
||||
build.onEnd(() => {
|
||||
console.log(new Date(), 'Build finished');
|
||||
});
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
@ -72,26 +81,21 @@ const options = {
|
||||
watch: args.includes('--watch'),
|
||||
analyze: args.includes('--analyze')
|
||||
};
|
||||
const watch = options.watch
|
||||
? {
|
||||
onRebuild (error) {
|
||||
if (error == null) {
|
||||
console.log(new Date(), 'Rebuild succeeded');
|
||||
}
|
||||
}
|
||||
}
|
||||
: false;
|
||||
|
||||
esbuild.build({
|
||||
const ctx = await esbuild.context({
|
||||
bundle: true,
|
||||
entryPoints: glob.sync('app/javascript/*.*'),
|
||||
entryPoints: globSync('app/javascript/*.*'),
|
||||
external: ['*.gif', '*.png'],
|
||||
metafile: options.analyze,
|
||||
nodePaths: ['app/javascript'],
|
||||
outdir,
|
||||
plugins,
|
||||
resolveExtensions: ['.coffee', '.js'],
|
||||
sourcemap: 'external',
|
||||
watch
|
||||
}).then(() => console.log(new Date(), 'Build succeeded'))
|
||||
.catch((e) => console.debug(e));
|
||||
sourcemap: 'external'
|
||||
});
|
||||
|
||||
if (options.watch) {
|
||||
ctx.watch();
|
||||
} else {
|
||||
ctx.rebuild();
|
||||
}
|
||||
|
7746
package-lock.json
generated
7746
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@ -2,14 +2,14 @@
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.17.0",
|
||||
"@babel/preset-env": "^7.16.11",
|
||||
"@rails/ujs": "^7.0.1",
|
||||
"autocompleter": "^6.1.2",
|
||||
"coffeescript": "2.6.1",
|
||||
"@rails/ujs": "7.1.3-4",
|
||||
"autocompleter": "^9.3.2",
|
||||
"coffeescript": "^2.7.0",
|
||||
"cropperjs": "^1.5.12",
|
||||
"esbuild": "^0.14.16",
|
||||
"esbuild": "^0.24.0",
|
||||
"esbuild-coffeescript": "^2.0.0",
|
||||
"esbuild-plugin-less": "^1.1.6",
|
||||
"glob": "^7.2.0",
|
||||
"glob": "^11.0.0",
|
||||
"jquery": "^3.6.0",
|
||||
"js-cookie": "^3.0.1",
|
||||
"mousetrap": "^1.6.5",
|
||||
|
Loading…
x
Reference in New Issue
Block a user