@caperjs/core 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/{config → build}/assetpack.mjs +103 -45
- package/build/defaults.mjs +180 -0
- package/build/index.mjs +96 -0
- package/build/internal/ast.mjs +255 -0
- package/build/internal/buildFlags.mjs +50 -0
- package/build/internal/discovery.mjs +403 -0
- package/build/internal/manifest.mjs +38 -0
- package/build/internal/paths.mjs +26 -0
- package/build/internal/schema.mjs +65 -0
- package/build/internal/util.mjs +30 -0
- package/build/internal/validate.mjs +186 -0
- package/build/plugins/assetTypes.mjs +460 -0
- package/build/plugins/caperConfig.mjs +489 -0
- package/build/plugins/devHelper.mjs +31 -0
- package/build/plugins/lists.mjs +286 -0
- package/build/plugins/pruneFallbacks.mjs +150 -0
- package/build/plugins/pwa.mjs +240 -0
- package/build/plugins/runtime.mjs +129 -0
- package/cli.mjs +9 -6
- package/extras/llms.txt +23 -17
- package/lib/caper.mjs +1 -1
- package/lib/caper.mjs.map +1 -1
- package/lib/types/caper-app.d.ts +1 -0
- package/package.json +13 -14
- package/src/types/caper-app.d.ts +1 -0
- package/src/version.ts +1 -1
- package/templates/app/default/package.template.json +8 -4
- package/templates/app/default/vite.config.ts +15 -0
- package/cli/vite.mjs +0 -55
- package/config/vite.mjs +0 -2464
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* caper.config.ts not found, skipping augmentation. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caperjs/core",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"title": "Caper",
|
|
5
5
|
"description": "An opinionated HTML game framework built on PixiJS v8",
|
|
6
6
|
"bin": {
|
|
@@ -12,35 +12,31 @@
|
|
|
12
12
|
"lib",
|
|
13
13
|
"src",
|
|
14
14
|
"cli",
|
|
15
|
-
"
|
|
16
|
-
"config/assetpack.mjs",
|
|
15
|
+
"build",
|
|
17
16
|
"config/tsconfig.base.json",
|
|
18
|
-
"config/.prettierrc.json",
|
|
19
17
|
"extras/llms.txt",
|
|
20
18
|
"extras/css/accessibility.css",
|
|
21
19
|
"extras/css/loader.css",
|
|
22
20
|
"extras/css/fullscreen.css",
|
|
23
21
|
"templates",
|
|
24
22
|
"types",
|
|
25
|
-
"client.d.ts"
|
|
23
|
+
"client.d.ts",
|
|
24
|
+
"!build/**/*.test.mjs"
|
|
26
25
|
],
|
|
27
26
|
"exports": {
|
|
28
27
|
".": {
|
|
29
28
|
"types": "./lib/index.d.ts",
|
|
30
29
|
"default": "./lib/caper.mjs"
|
|
31
30
|
},
|
|
31
|
+
"./vite": {
|
|
32
|
+
"default": "./build/index.mjs"
|
|
33
|
+
},
|
|
32
34
|
"./client": {
|
|
33
35
|
"types": "./client.d.ts"
|
|
34
36
|
},
|
|
35
37
|
"./extras/llms.txt": {
|
|
36
38
|
"default": "./extras/llms.txt"
|
|
37
39
|
},
|
|
38
|
-
"./config/assetpack": {
|
|
39
|
-
"default": "./config/assetpack.mjs"
|
|
40
|
-
},
|
|
41
|
-
"./config/vite": {
|
|
42
|
-
"default": "./config/vite.mjs"
|
|
43
|
-
},
|
|
44
40
|
"./tsconfig": {
|
|
45
41
|
"default": "./config/tsconfig.base.json"
|
|
46
42
|
},
|
|
@@ -92,13 +88,17 @@
|
|
|
92
88
|
"standard-version": "^9.5.0",
|
|
93
89
|
"turbo": "^2.0.3",
|
|
94
90
|
"typedoc": "^0.28.1",
|
|
91
|
+
"vite": "^8.0.7",
|
|
95
92
|
"vite-plugin-dts": "^4.5.3",
|
|
96
|
-
"vitest": "^3"
|
|
93
|
+
"vitest": "^3",
|
|
94
|
+
"workbox-window": "^7.4.0"
|
|
97
95
|
},
|
|
98
96
|
"peerDependencies": {
|
|
99
97
|
"@pixi/sound": "^6.0.1",
|
|
100
98
|
"gsap": "^3.15.0",
|
|
101
|
-
"pixi.js": "8.19.0"
|
|
99
|
+
"pixi.js": "8.19.0",
|
|
100
|
+
"vite": "^8.0.7",
|
|
101
|
+
"workbox-window": "^7.4.0"
|
|
102
102
|
},
|
|
103
103
|
"dependencies": {
|
|
104
104
|
"@assetpack/core": "^1.7.0",
|
|
@@ -122,7 +122,6 @@
|
|
|
122
122
|
"stats.js": "^0.17.0",
|
|
123
123
|
"typed-signals": "^2.5.0",
|
|
124
124
|
"typescript": "^5.9.0",
|
|
125
|
-
"vite": "^8.0.7",
|
|
126
125
|
"vite-bundle-visualizer": "^1.2.1",
|
|
127
126
|
"vite-plugin-pwa": "^1.2.0",
|
|
128
127
|
"vite-plugin-singlefile": "^2.3.2",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* caper.config.ts not found, skipping augmentation. */
|
package/src/version.ts
CHANGED
|
@@ -5,13 +5,17 @@
|
|
|
5
5
|
"main": "index.html",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"clean": "rimraf .assetpack .cache dist",
|
|
8
|
-
"start": "~PACKAGE_MANAGER~ clean &&
|
|
9
|
-
"dev": "~PACKAGE_MANAGER~ clean &&
|
|
10
|
-
"preview": "~PACKAGE_MANAGER~ clean &&
|
|
11
|
-
"build": "~PACKAGE_MANAGER~ clean &&
|
|
8
|
+
"start": "~PACKAGE_MANAGER~ clean && vite",
|
|
9
|
+
"dev": "~PACKAGE_MANAGER~ clean && vite",
|
|
10
|
+
"preview": "~PACKAGE_MANAGER~ clean && vite build && vite preview",
|
|
11
|
+
"build": "~PACKAGE_MANAGER~ clean && vite build",
|
|
12
12
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@caperjs/core": "latest"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"vite": "^8.1.3",
|
|
19
|
+
"workbox-window": "^7.4.0"
|
|
16
20
|
}
|
|
17
21
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { caper } from '@caperjs/core/vite';
|
|
2
|
+
import { defineConfig } from 'vite';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Caper contributes its plugins and its config defaults through `caper()`, and
|
|
6
|
+
* only fills in what this file leaves unset — so anything you set here wins.
|
|
7
|
+
*
|
|
8
|
+
* Options:
|
|
9
|
+
* caper({ assets: { ... } }) AssetPack overrides, merged over caper's defaults
|
|
10
|
+
* (`assets: false` turns the asset pipeline off)
|
|
11
|
+
* caper({ pwa: { manifest } }) makes the game installable, service worker included
|
|
12
|
+
*/
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
plugins: [caper()],
|
|
15
|
+
});
|
package/cli/vite.mjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { build, createServer, loadConfigFromFile, mergeConfig, preview } from 'vite';
|
|
2
|
-
import { defaultConfig } from '../config/vite.mjs';
|
|
3
|
-
|
|
4
|
-
async function getMergedViteConfig(command, mode) {
|
|
5
|
-
// Load user's vite.config.js file if it exists
|
|
6
|
-
const userConfig = await loadConfigFromFile({
|
|
7
|
-
command,
|
|
8
|
-
mode,
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
// Merge user config with default config
|
|
12
|
-
const mergedConfig = mergeConfig(defaultConfig, userConfig?.config || {});
|
|
13
|
-
|
|
14
|
-
// Remove duplicate plugins by name, preferring user's config over default, while preserving order.
|
|
15
|
-
if (mergedConfig.plugins) {
|
|
16
|
-
const seen = new Set();
|
|
17
|
-
mergedConfig.plugins = mergedConfig.plugins
|
|
18
|
-
.flat()
|
|
19
|
-
.reverse()
|
|
20
|
-
.filter((plugin) => {
|
|
21
|
-
if (!plugin || !plugin.name) {
|
|
22
|
-
// Keep plugins without a name (e.g., some Vite internal plugins)
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
if (seen.has(plugin.name)) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
seen.add(plugin.name);
|
|
29
|
-
return true;
|
|
30
|
-
})
|
|
31
|
-
.reverse();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return mergedConfig;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export async function startDevServer() {
|
|
38
|
-
const config = await getMergedViteConfig('serve', 'development');
|
|
39
|
-
const server = await createServer(config);
|
|
40
|
-
await server.listen();
|
|
41
|
-
|
|
42
|
-
server.printUrls();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export async function runBuild() {
|
|
46
|
-
const config = await getMergedViteConfig('build', 'production');
|
|
47
|
-
await build(config);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export async function runPreview() {
|
|
51
|
-
const config = await getMergedViteConfig('build', 'production');
|
|
52
|
-
await build(config);
|
|
53
|
-
const server = await preview(config);
|
|
54
|
-
server.printUrls();
|
|
55
|
-
}
|