Skip to content

Commit

Permalink
feat(fleck): ProcessAssets
Browse files Browse the repository at this point in the history
  • Loading branch information
cha0s committed Jan 13, 2024
1 parent ccc147c commit 84a30df
Show file tree
Hide file tree
Showing 20 changed files with 81 additions and 99 deletions.
2 changes: 0 additions & 2 deletions packages/create-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@
},
"files": [
"cli.js",
"cli.js.map",
"server.js",
"server.js.map",
"src",
"template"
],
Expand Down
1 change: 0 additions & 1 deletion packages/create-fleck/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
},
"files": [
"cli.js",
"cli.js.map",
"src",
"template"
],
Expand Down
6 changes: 1 addition & 5 deletions packages/create-fleck/template/package.json.noconflict
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@
"test": "flecks test"
},
"files": [
"build",
"index.js",
"index.js.map",
"src",
"test"
"index.js"
],
"dependencies": {
"@flecks/core": "^2.0.0"
Expand Down
5 changes: 1 addition & 4 deletions packages/db/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@
"test": "flecks test"
},
"files": [
"build",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
5 changes: 1 addition & 4 deletions packages/docker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@
"test": "flecks test"
},
"files": [
"build",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
3 changes: 0 additions & 3 deletions packages/dox/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@
"test": "flecks test"
},
"files": [
"build",
"server.js",
"server.js.map",
"src",
"website"
],
"dependencies": {
Expand Down
6 changes: 1 addition & 5 deletions packages/electron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,7 @@
"test": "flecks test"
},
"files": [
"build",
"server.js",
"server.js.map",
"src",
"test"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
8 changes: 1 addition & 7 deletions packages/fleck/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,8 @@
"test": "flecks test"
},
"files": [
"build",
"server/build/fleck.webpack.config.js",
"server/build/fleck.webpack.config.js.map",
"server.js",
"server.js.map",
"src",
"test.js",
"test.js.map"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
3 changes: 3 additions & 0 deletions packages/fleck/src/server/build/fleck.webpack.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
const flecksConfigFn = require('@flecks/core/server/build/webpack.config');

const ProcessAssets = require('./process-assets');

module.exports = async (env, argv, flecks) => {
const config = await flecksConfigFn(env, argv, flecks);
config.plugins.push(new ProcessAssets(flecks));
config.stats = flecks.get('@flecks/fleck/server.stats');
return config;
};
28 changes: 28 additions & 0 deletions packages/fleck/src/server/build/process-assets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
class ProcessAssets {

constructor(flecks) {
this.flecks = flecks;
}

apply(compiler) {
compiler.hooks.thisCompilation.tap('@flecks/fleck/server/build/process-assets', (compilation) => {
compilation.hooks.processAssets.tapAsync(
{
name: '@flecks/fleck/server/build/process-assets',
stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_REPORT,
},
async (assets, callback) => {
await this.flecks.invokeSequentialAsync(
'@flecks/fleck/server.processAssets',
assets,
compilation,
);
callback();
},
);
});
}

}

module.exports = ProcessAssets;
36 changes: 36 additions & 0 deletions packages/fleck/src/server/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
import {join} from 'path';

import {glob} from '@flecks/core/server';

import commands from './commands';

const {
FLECKS_CORE_ROOT = process.cwd(),
} = process.env;

export const hooks = {
'@flecks/core.commands': commands,
'@flecks/core.config': () => ({
Expand All @@ -12,4 +20,32 @@ export const hooks = {
},
}),
'@flecks/core.targets': () => ['fleck'],
'@flecks/fleck/server.processAssets': async (assets, compilation, flecks) => {
const {RawSource} = compilation.compiler.webpack.sources;
const packageJson = assets['package.json'];
const json = JSON.parse(packageJson.source().toString());
const {files} = json;
// Add defaults.
files.push('build', 'src');
// Add tests if they exist.
const testFiles = await glob(join(FLECKS_CORE_ROOT, 'test/*.js'));
if (testFiles.length > 0) {
files.push('test', 'test.js');
}
// Let others have a say.
await flecks.invokeSequentialAsync('@flecks/fleck/server.packageJson', json, compilation);
// Add any sourcemaps.
json.files = json.files
.map((filename) => {
const maybeWithMap = [filename];
if (compilation.assets[`${filename}.map`]) {
maybeWithMap.push(`${filename}.map`);
}
return maybeWithMap;
})
.flat();
// Sort and uniquify.
json.files = [...new Set(json.files.sort((l, r) => (l < r ? -1 : 1)))];
compilation.updateAsset('package.json', new RawSource(JSON.stringify(json, null, 2)));
},
};
6 changes: 1 addition & 5 deletions packages/governor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,8 @@
"test": "flecks test"
},
"files": [
"build",
"client.js",
"client.js.map",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
13 changes: 1 addition & 12 deletions packages/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,15 @@
"test": "flecks test"
},
"files": [
"build",
"client.js",
"client.js.map",
"context.js",
"context.js.map",
"fake-context.js",
"fake-context.js.map",
"index.js",
"index.js.map",
"router/client.js",
"router/client.js.map",
"router/context.js",
"router/context.js.map",
"router/index.js",
"router/index.js.map",
"router/server.js",
"router/server.js.map",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@babel/preset-react": "^7.23.3",
Expand Down
6 changes: 1 addition & 5 deletions packages/redis/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,8 @@
"test": "flecks test"
},
"files": [
"build",
"session/server.js",
"session/server.js.map",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
7 changes: 1 addition & 6 deletions packages/redux/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,9 @@
"test": "flecks test"
},
"files": [
"build",
"client.js",
"client.js.map",
"index.js",
"index.js.map",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
5 changes: 1 addition & 4 deletions packages/repl/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@
"test": "flecks test"
},
"files": [
"build",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
9 changes: 1 addition & 8 deletions packages/server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,11 @@
"test": "flecks test"
},
"files": [
"build",
"entry.js",
"entry.js.map",
"index.js",
"index.js.map",
"runtime.js",
"runtime.js.map",
"server/build/server.webpack.config.js",
"server/build/server.webpack.config.js.map",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
7 changes: 1 addition & 6 deletions packages/socket/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,9 @@
"test": "flecks test"
},
"files": [
"build",
"client.js",
"client.js.map",
"index.js",
"index.js.map",
"server.js",
"server.js.map",
"src"
"server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
10 changes: 1 addition & 9 deletions packages/user/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,12 @@
"test": "flecks test"
},
"files": [
"build",
"client.js",
"client.js.map",
"index.js",
"index.js.map",
"local.js",
"local.js.map",
"local/server.js",
"local/server.js.map",
"server.js",
"server.js.map",
"session/server.js",
"session/server.js.map",
"src"
"session/server.js"
],
"dependencies": {
"@flecks/core": "^2.0.3",
Expand Down
14 changes: 1 addition & 13 deletions packages/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,27 +18,15 @@
"test": "flecks test"
},
"files": [
"build",
"entry.js",
"entry.js.map",
"runtime.js",
"runtime.js.map",
"server.js",
"server.js.map",
"server/build/entry.js",
"server/build/entry.js.map",
"server/build/postcss.config.js",
"server/build/postcss.config.js.map",
"server/build/template.ejs",
"server/build/tests.js",
"server/build/tests.js.map",
"server/build/web.webpack.config.js",
"server/build/web.webpack.config.js.map",
"server/build/web-vendor.webpack.config.js",
"server/build/web-vendor.webpack.config.js.map",
"src",
"tests.js",
"tests.js.map"
"server/build/web-vendor.webpack.config.js"
],
"dependencies": {
"@babel/parser": "^7.17.0",
Expand Down

0 comments on commit 84a30df

Please sign in to comment.