@analogjs/platform 0.1.0-beta.0

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 ADDED
@@ -0,0 +1,5 @@
1
+ # Analog
2
+
3
+ The fullstack meta-framework for Angular
4
+
5
+ Learn more at [analogjs.org](https://analogjs.org)
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@analogjs/platform",
3
+ "version": "0.1.0-beta.0",
4
+ "type": "commonjs",
5
+ "description": "The fullstack meta-framework for Angular",
6
+ "author": "Brandon Roberts <robertsbt@gmail.com>",
7
+ "exports": {
8
+ ".": "./src/index.js",
9
+ "./package.json": "./package.json"
10
+ },
11
+ "keywords": [
12
+ "angular",
13
+ "vite",
14
+ "plugin-vite",
15
+ "meta-framework"
16
+ ],
17
+ "license": "MIT",
18
+ "bugs": {
19
+ "url": "https://github.com/analogjs/analog/issues"
20
+ },
21
+ "homepage": "https://analogjs.org",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://github.com/analogjs/analog.git"
25
+ },
26
+ "dependencies": {
27
+ "nitropack": "^0.6.1"
28
+ },
29
+ "peerDependencies": {
30
+ "@analogjs/vite-plugin-angular": "latest"
31
+ },
32
+ "main": "./src/index.js",
33
+ "typings": "./src/index.d.ts"
34
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { platformPlugin } from './lib/platform-plugin';
2
+ export { Options } from './lib/options';
3
+ export default platformPlugin;
package/src/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const platform_plugin_1 = require("./lib/platform-plugin");
4
+ exports.default = platform_plugin_1.platformPlugin;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyREFBdUQ7QUFHdkQsa0JBQWUsZ0NBQWMsQ0FBQyJ9
@@ -0,0 +1,6 @@
1
+ import type { PluginOptions } from '@analogjs/vite-plugin-angular';
2
+ import { NitroConfig } from 'nitropack';
3
+ export interface Options {
4
+ vite?: PluginOptions;
5
+ nitro?: NitroConfig;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYXRmb3JtL3NyYy9saWIvb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,3 @@
1
+ import { Plugin } from 'vite';
2
+ import { Options } from './options';
3
+ export declare function platformPlugin(opts?: Options): Plugin[];
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.platformPlugin = void 0;
4
+ const vite_plugin_angular_1 = require("@analogjs/vite-plugin-angular");
5
+ const vite_nitro_plugin_1 = require("./vite-nitro-plugin");
6
+ const router_plugin_1 = require("./router-plugin");
7
+ function platformPlugin(opts) {
8
+ return [
9
+ (0, vite_nitro_plugin_1.viteNitroPlugin)(opts?.nitro),
10
+ ...(0, vite_plugin_angular_1.default)(opts?.vite),
11
+ ...(0, router_plugin_1.routerPlugin)(),
12
+ ];
13
+ }
14
+ exports.platformPlugin = platformPlugin;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhdGZvcm0vc3JjL2xpYi9wbGF0Zm9ybS1wbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdUVBQW9EO0FBRXBELDJEQUFzRDtBQUN0RCxtREFBK0M7QUFFL0MsU0FBZ0IsY0FBYyxDQUFDLElBQWM7SUFDM0MsT0FBTztRQUNMLElBQUEsbUNBQWUsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO1FBQzVCLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDdEIsR0FBRyxJQUFBLDRCQUFZLEdBQUU7S0FDbEIsQ0FBQztBQUNKLENBQUM7QUFORCx3Q0FNQyJ9
@@ -0,0 +1,10 @@
1
+ import type { Plugin } from 'vite';
2
+ /**
3
+ * This plugin invalidates the files for routes when new files
4
+ * are added/deleted.
5
+ *
6
+ * Workaround for: https://github.com/vitejs/vite/issues/10616
7
+ *
8
+ * @returns
9
+ */
10
+ export declare function routerPlugin(): Plugin[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routerPlugin = void 0;
4
+ /**
5
+ * This plugin invalidates the files for routes when new files
6
+ * are added/deleted.
7
+ *
8
+ * Workaround for: https://github.com/vitejs/vite/issues/10616
9
+ *
10
+ * @returns
11
+ */
12
+ function routerPlugin() {
13
+ return [
14
+ {
15
+ name: 'analogjs-router-invalidate-routes',
16
+ configureServer(server) {
17
+ function invalidateRoutes(path) {
18
+ if (path.includes(`${server.config.root}/app/routes`)) {
19
+ server.moduleGraph.fileToModulesMap.forEach((mods) => {
20
+ mods.forEach((mod) => {
21
+ if (mod.id?.includes('@analogjs_router.js')) {
22
+ server.moduleGraph.invalidateModule(mod);
23
+ mod.importers.forEach((imp) => {
24
+ server.moduleGraph.invalidateModule(imp);
25
+ });
26
+ }
27
+ });
28
+ });
29
+ server.ws.send({
30
+ type: 'full-reload',
31
+ });
32
+ }
33
+ }
34
+ server.watcher.on('add', invalidateRoutes);
35
+ server.watcher.on('unlink', invalidateRoutes);
36
+ },
37
+ },
38
+ ];
39
+ }
40
+ exports.routerPlugin = routerPlugin;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYXRmb3JtL3NyYy9saWIvcm91dGVyLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsWUFBWTtJQUMxQixPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsbUNBQW1DO1lBQ3pDLGVBQWUsQ0FBQyxNQUFNO2dCQUNwQixTQUFTLGdCQUFnQixDQUFDLElBQVk7b0JBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLENBQUMsRUFBRTt3QkFDckQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTs0QkFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dDQUNuQixJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7b0NBQzNDLE1BQU0sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7b0NBRXpDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7d0NBQzVCLE1BQU0sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7b0NBQzNDLENBQUMsQ0FBQyxDQUFDO2lDQUNKOzRCQUNILENBQUMsQ0FBQyxDQUFDO3dCQUNMLENBQUMsQ0FBQyxDQUFDO3dCQUVILE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRCQUNiLElBQUksRUFBRSxhQUFhO3lCQUNwQixDQUFDLENBQUM7cUJBQ0o7Z0JBQ0gsQ0FBQztnQkFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDaEQsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUE5QkQsb0NBOEJDIn0=
@@ -0,0 +1,3 @@
1
+ import { NitroConfig } from 'nitropack';
2
+ import { Plugin } from 'vite';
3
+ export declare function viteNitroPlugin(opts?: NitroConfig): Plugin;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.viteNitroPlugin = void 0;
4
+ const load_esm_1 = require("@angular-devkit/build-angular/src/utils/load-esm");
5
+ const h3_1 = require("h3");
6
+ function viteNitroPlugin(opts) {
7
+ const nitroConfig = {
8
+ rootDir: 'src',
9
+ srcDir: 'src/server',
10
+ scanDirs: ['src/server'],
11
+ output: {
12
+ dir: '../../dist/server',
13
+ ...opts?.output,
14
+ },
15
+ buildDir: '../dist/.nitro',
16
+ ...opts,
17
+ };
18
+ return {
19
+ name: 'vite-nitro-plugin',
20
+ async configureServer(viteServer) {
21
+ const { createNitro, createDevServer, build, prepare } = await (0, load_esm_1.loadEsmModule)('nitropack');
22
+ const nitro = await createNitro({ ...nitroConfig, dev: true });
23
+ const server = createDevServer(nitro);
24
+ await prepare(nitro);
25
+ await build(nitro);
26
+ viteServer.middlewares.use('/api', (0, h3_1.toNodeListener)(server.app));
27
+ console.log(`\n\nThe '@analogjs/platform' successfully started.\nThe server endpoints are accessible under the "/api"`);
28
+ },
29
+ async closeBundle() {
30
+ const { createNitro, build, prepare } = await (0, load_esm_1.loadEsmModule)('nitropack');
31
+ const nitro = await createNitro({
32
+ ...nitroConfig,
33
+ baseURL: '/api',
34
+ dev: false,
35
+ });
36
+ await prepare(nitro);
37
+ await build(nitro);
38
+ await nitro.close();
39
+ console.log(`\n\nThe '@analogjs/platform' server has been successfully built.`);
40
+ },
41
+ };
42
+ }
43
+ exports.viteNitroPlugin = viteNitroPlugin;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS1uaXRyby1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL3ZpdGUtbml0cm8tcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtFQUFpRjtBQUVqRiwyQkFBb0M7QUFHcEMsU0FBZ0IsZUFBZSxDQUFDLElBQWtCO0lBQ2hELE1BQU0sV0FBVyxHQUFnQjtRQUMvQixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN4QixNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUUsbUJBQW1CO1lBQ3hCLEdBQUcsSUFBSSxFQUFFLE1BQU07U0FDaEI7UUFDRCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLEdBQUcsSUFBSTtLQUNSLENBQUM7SUFDRixPQUFPO1FBQ0wsSUFBSSxFQUFFLG1CQUFtQjtRQUV6QixLQUFLLENBQUMsZUFBZSxDQUFDLFVBQXlCO1lBQzdDLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FDcEQsTUFBTSxJQUFBLHdCQUFhLEVBQTZCLFdBQVcsQ0FBQyxDQUFDO1lBRS9ELE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDL0QsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFBLG1CQUFjLEVBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCwwR0FBMEcsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxLQUFLLENBQUMsV0FBVztZQUNmLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sSUFBQSx3QkFBYSxFQUV6RCxXQUFXLENBQUMsQ0FBQztZQUVmLE1BQU0sS0FBSyxHQUFHLE1BQU0sV0FBVyxDQUFDO2dCQUM5QixHQUFHLFdBQVc7Z0JBQ2QsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsR0FBRyxFQUFFLEtBQUs7YUFDWCxDQUFDLENBQUM7WUFDSCxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsR0FBRyxDQUNULGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBL0NELDBDQStDQyJ9