@analogjs/vite-plugin-nitro 0.2.0-beta.3 → 0.2.0-beta.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/vite-plugin-nitro",
3
- "version": "0.2.0-beta.3",
3
+ "version": "0.2.0-beta.5",
4
4
  "type": "commonjs",
5
5
  "description": "A Vite plugin for adding a nitro API server",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -0,0 +1,14 @@
1
+ import { NitroConfig } from 'nitropack';
2
+ import { Plugin } from 'vite';
3
+ import { Mock } from 'vitest';
4
+ export declare const mockViteDevServer: {
5
+ middlewares: {
6
+ use: () => void;
7
+ };
8
+ };
9
+ export declare const mockNitroConfig: NitroConfig;
10
+ export declare function mockBuildFunctions(): Promise<[
11
+ Mock<any, any>,
12
+ Mock<any, any>
13
+ ]>;
14
+ export declare function runConfigAndCloseBundle(plugin: Plugin): Promise<void>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runConfigAndCloseBundle = exports.mockBuildFunctions = exports.mockNitroConfig = exports.mockViteDevServer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const vitest_1 = require("vitest");
6
+ exports.mockViteDevServer = {
7
+ middlewares: {
8
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
9
+ use: () => { },
10
+ },
11
+ };
12
+ exports.mockNitroConfig = {
13
+ buildDir: './dist/.nitro',
14
+ logLevel: 0,
15
+ output: {
16
+ dir: '../dist/analog',
17
+ publicDir: '../dist/analog/public',
18
+ },
19
+ rootDir: '.',
20
+ runtimeConfig: {},
21
+ scanDirs: ['src/server'],
22
+ srcDir: 'src',
23
+ prerender: {
24
+ crawlLinks: undefined,
25
+ },
26
+ typescript: {
27
+ generateTsConfig: false,
28
+ },
29
+ };
30
+ function mockBuildFunctions() {
31
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
32
+ const buildServerImport = yield Promise.resolve().then(() => require('./build-server'));
33
+ const buildServerImportSpy = vitest_1.vi.fn();
34
+ buildServerImport.buildServer = buildServerImportSpy;
35
+ const buildSSRAppImport = yield Promise.resolve().then(() => require('./build-ssr'));
36
+ const buildSSRAppImportSpy = vitest_1.vi.fn();
37
+ buildSSRAppImport.buildSSRApp = buildSSRAppImportSpy;
38
+ return [buildSSRAppImportSpy, buildServerImportSpy];
39
+ });
40
+ }
41
+ exports.mockBuildFunctions = mockBuildFunctions;
42
+ function runConfigAndCloseBundle(plugin) {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ yield plugin.config({}, { command: 'build' });
45
+ yield plugin.closeBundle();
46
+ });
47
+ }
48
+ exports.runConfigAndCloseBundle = runConfigAndCloseBundle;
49
+ //# sourceMappingURL=vite-nitro-plugin.spec.data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-nitro-plugin.spec.data.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-nitro-plugin.spec.data.ts"],"names":[],"mappings":";;;;AAEA,mCAAkC;AAErB,QAAA,iBAAiB,GAAG;IAC/B,WAAW,EAAE;QACX,gEAAgE;QAChE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;KACd;CACF,CAAC;AAEW,QAAA,eAAe,GAAgB;IAC1C,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE;QACN,GAAG,EAAE,gBAAgB;QACrB,SAAS,EAAE,uBAAuB;KACnC;IACD,OAAO,EAAE,GAAG;IACZ,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,MAAM,EAAE,KAAK;IACb,SAAS,EAAE;QACT,UAAU,EAAE,SAAS;KACtB;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,KAAK;KACxB;CACF,CAAC;AAEF,SAAsB,kBAAkB;;QAItC,MAAM,iBAAiB,GAAG,2CAAa,gBAAgB,EAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAErD,MAAM,iBAAiB,GAAG,2CAAa,aAAa,EAAC,CAAC;QACtD,MAAM,oBAAoB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAErD,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IACtD,CAAC;CAAA;AAbD,gDAaC;AAED,SAAsB,uBAAuB,CAAC,MAAc;;QAC1D,MACE,MAAM,CAAC,MACR,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAe,CAAC,CAAC;QACzC,MAAO,MAAM,CAAC,WAAmC,EAAE,CAAC;IACtD,CAAC;CAAA;AALD,0DAKC"}
@@ -31,33 +31,39 @@ function nitro(options, nitroOptions) {
31
31
  return {
32
32
  name: 'analogjs-vite-nitro-plugin',
33
33
  config(_config, { command }) {
34
- var _a, _b, _c;
34
+ var _a, _b, _c, _d;
35
35
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
36
  isServe = command === 'serve';
37
37
  isBuild = command === 'build';
38
38
  ssrBuild = ((_a = _config.build) === null || _a === void 0 ? void 0 : _a.ssr) === true;
39
39
  config = _config;
40
- if (isBuild && (options === null || options === void 0 ? void 0 : options.prerender)) {
41
- nitroConfig.prerender = {};
42
- nitroConfig.prerender.crawlLinks = (_b = options === null || options === void 0 ? void 0 : options.prerender) === null || _b === void 0 ? void 0 : _b.discover;
43
- const prerenderRoutes = (_c = options === null || options === void 0 ? void 0 : options.prerender) === null || _c === void 0 ? void 0 : _c.routes;
44
- if (Array.isArray(prerenderRoutes)) {
45
- nitroConfig.prerender.routes = prerenderRoutes;
40
+ if (isBuild) {
41
+ if (isEmptyPrerenderRoutes(options)) {
42
+ nitroConfig.prerender = {};
43
+ nitroConfig.prerender.routes = ['/'];
46
44
  }
47
- else if (typeof prerenderRoutes === 'function') {
48
- nitroConfig.prerender.routes = yield prerenderRoutes();
45
+ if (options === null || options === void 0 ? void 0 : options.prerender) {
46
+ nitroConfig.prerender = (_b = nitroConfig.prerender) !== null && _b !== void 0 ? _b : {};
47
+ nitroConfig.prerender.crawlLinks = (_c = options === null || options === void 0 ? void 0 : options.prerender) === null || _c === void 0 ? void 0 : _c.discover;
48
+ const prerenderRoutes = (_d = options === null || options === void 0 ? void 0 : options.prerender) === null || _d === void 0 ? void 0 : _d.routes;
49
+ if (isArrayWithElements(prerenderRoutes)) {
50
+ nitroConfig.prerender.routes = prerenderRoutes;
51
+ }
52
+ else if (typeof prerenderRoutes === 'function') {
53
+ nitroConfig.prerender.routes = yield prerenderRoutes();
54
+ }
55
+ }
56
+ if (ssrBuild) {
57
+ nitroConfig = Object.assign(Object.assign({}, nitroConfig), { publicAssets: [{ dir: `../dist/client` }], serverAssets: [{ baseName: 'public', dir: `./dist/client` }], externals: {
58
+ inline: ['zone.js/node'],
59
+ external: ['rxjs', 'node-fetch-native/dist/polyfill', 'destr'],
60
+ }, moduleSideEffects: ['zone.js/bundles/zone-node.umd.js'], renderer: (0, vite_1.normalizePath)(`${__dirname}/runtime/renderer`), handlers: [
61
+ {
62
+ handler: (0, vite_1.normalizePath)(`${__dirname}/runtime/api-middleware`),
63
+ middleware: true,
64
+ },
65
+ ] });
49
66
  }
50
- }
51
- if (isBuild && ssrBuild) {
52
- nitroConfig = Object.assign(Object.assign({}, nitroConfig), { publicAssets: [{ dir: `../dist/client` }], serverAssets: [{ baseName: 'public', dir: `./dist/client` }], externals: {
53
- inline: ['zone.js/node'],
54
- external: ['rxjs', 'node-fetch-native/dist/polyfill', 'destr'],
55
- }, moduleSideEffects: ['zone.js/bundles/zone-node.umd.js'], renderer: (0, vite_1.normalizePath)(`${__dirname}/runtime/renderer`), handlers: [
56
- {
57
- handler: (0, vite_1.normalizePath)(`${__dirname}/runtime/api-middleware`),
58
- middleware: true,
59
- },
60
- ] });
61
67
  }
62
68
  nitroConfig = Object.assign(Object.assign({}, nitroConfig), nitroOptions);
63
69
  });
@@ -94,4 +100,14 @@ function nitro(options, nitroOptions) {
94
100
  };
95
101
  }
96
102
  exports.nitro = nitro;
103
+ function isEmptyPrerenderRoutes(options) {
104
+ var _a, _b;
105
+ if (!options || isArrayWithElements((_a = options === null || options === void 0 ? void 0 : options.prerender) === null || _a === void 0 ? void 0 : _a.routes)) {
106
+ return false;
107
+ }
108
+ return !((_b = options.prerender) === null || _b === void 0 ? void 0 : _b.routes);
109
+ }
110
+ function isArrayWithElements(arr) {
111
+ return !!(Array.isArray(arr) && arr.length);
112
+ }
97
113
  //# sourceMappingURL=vite-plugin-nitro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":";;;;AAAA,+EAAiF;AAEjF,2BAAoC;AAEpC,iDAA6C;AAC7C,2CAA0C;AAC1C,+BAAqC;AAGrC,SAAgB,KAAK,CAAC,OAAiB,EAAE,YAA0B;;IACjE,MAAM,OAAO,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,KAAI,GAAG,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,0CAAG,WAAW,CAAC,mCAAI,KAAK,EAAE,CAAC;IAE5E,IAAI,WAAW,GAAgB;QAC7B,OAAO;QACP,QAAQ,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,KAAI,CAAC;QACrC,MAAM,EAAE,IAAA,oBAAa,EAAC,GAAG,OAAO,MAAM,CAAC;QACvC,QAAQ,EAAE,CAAC,IAAA,oBAAa,EAAC,GAAG,OAAO,aAAa,CAAC,CAAC;QAClD,MAAM,kBACJ,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,uBAAuB,IAC/B,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CACxB;QACD,QAAQ,EAAE,eAAe;QACzB,UAAU,EAAE;YACV,gBAAgB,EAAE,KAAK;SACxB;QACD,aAAa,oBAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAE;KAClD,CAAC;IAEF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAkB,CAAC;IAEvB,OAAO;QACL,IAAI,EAAE,4BAA4B;QAC5B,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE;;;gBAC/B,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC;gBAC9B,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC;gBAC9B,QAAQ,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,MAAK,IAAI,CAAC;gBACvC,MAAM,GAAG,OAAO,CAAC;gBAEjB,IAAI,OAAO,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE;oBACjC,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;oBAC3B,WAAW,CAAC,SAAS,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,QAAQ,CAAC;oBAEhE,MAAM,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAC;oBACnD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;wBAClC,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;qBAChD;yBAAM,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;wBAChD,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;qBACxD;iBACF;gBAED,IAAI,OAAO,IAAI,QAAQ,EAAE;oBACvB,WAAW,mCACN,WAAW,KACd,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,EACzC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,EAC5D,SAAS,EAAE;4BACT,MAAM,EAAE,CAAC,cAAc,CAAC;4BACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,iCAAiC,EAAE,OAAO,CAAC;yBAC/D,EACD,iBAAiB,EAAE,CAAC,kCAAkC,CAAC,EACvD,QAAQ,EAAE,IAAA,oBAAa,EAAC,GAAG,SAAS,mBAAmB,CAAC,EACxD,QAAQ,EAAE;4BACR;gCACE,OAAO,EAAE,IAAA,oBAAa,EAAC,GAAG,SAAS,yBAAyB,CAAC;gCAC7D,UAAU,EAAE,IAAI;6BACjB;yBACF,GACF,CAAC;iBACH;gBAED,WAAW,mCACN,WAAW,GACX,YAAY,CAChB,CAAC;;SACH;QACK,eAAe,CAAC,UAAyB;;gBAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;oBACtB,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,GACpD,MAAM,IAAA,wBAAa,EAA6B,WAAW,CAAC,CAAC;oBAE/D,MAAM,KAAK,GAAG,MAAM,WAAW,iBAC7B,GAAG,EAAE,IAAI,IACN,WAAW,EACd,CAAC;oBACH,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBACtC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnB,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAA,mBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CACT,sGAAsG,SAAS,SAAS,CACzH,CAAC;iBACH;YACH,CAAC;SAAA;QAEK,WAAW;;gBACf,IAAI,QAAQ,EAAE;oBACZ,OAAO;iBACR;gBAED,IAAI,OAAO,EAAE;oBACX,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAE;wBAChB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;wBAC3C,MAAM,IAAA,uBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;qBACpC;oBAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAClC,MAAM,IAAA,0BAAW,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAExC,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;iBACH;YACH,CAAC;SAAA;KACF,CAAC;AACJ,CAAC;AA/GD,sBA+GC"}
1
+ {"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"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"}