@nodus-lib/nodus 0.0.13 → 0.0.15

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/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { nodus_visit, nodus_activation, nodus_revenue } from "./next/nodus_funnel";
1
+ export { nodus_activation, nodus_revenue } from "./next/nodus_client";
2
+ export { nodus_visit } from "./next/nodus_server";
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nodus_revenue = exports.nodus_activation = exports.nodus_visit = void 0;
4
- var nodus_funnel_1 = require("./next/nodus_funnel");
5
- Object.defineProperty(exports, "nodus_visit", { enumerable: true, get: function () { return nodus_funnel_1.nodus_visit; } });
6
- Object.defineProperty(exports, "nodus_activation", { enumerable: true, get: function () { return nodus_funnel_1.nodus_activation; } });
7
- Object.defineProperty(exports, "nodus_revenue", { enumerable: true, get: function () { return nodus_funnel_1.nodus_revenue; } });
3
+ exports.nodus_visit = exports.nodus_revenue = exports.nodus_activation = void 0;
4
+ var nodus_client_1 = require("./next/nodus_client");
5
+ Object.defineProperty(exports, "nodus_activation", { enumerable: true, get: function () { return nodus_client_1.nodus_activation; } });
6
+ Object.defineProperty(exports, "nodus_revenue", { enumerable: true, get: function () { return nodus_client_1.nodus_revenue; } });
7
+ var nodus_server_1 = require("./next/nodus_server");
8
+ Object.defineProperty(exports, "nodus_visit", { enumerable: true, get: function () { return nodus_server_1.nodus_visit; } });
@@ -1,3 +1,2 @@
1
- export declare function nodus_visit(): void;
2
1
  export declare function nodus_activation(feature: string): void;
3
2
  export declare function nodus_revenue(tag: string): void;
@@ -1,28 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nodus_visit = nodus_visit;
4
3
  exports.nodus_activation = nodus_activation;
5
4
  exports.nodus_revenue = nodus_revenue;
6
5
  const nodus_server_caller_1 = require("../logger/nodus-server-caller");
7
- const nodus_session_1 = require("../session/nodus-session");
8
- const key = process.env.NODUS_SITE_KEY ?? process.env.NEXT_PUBLIC_NODUS_SITE_KEY;
9
- function nodus_visit() {
10
- const sessionId = (0, nodus_session_1.nodus_session_manager)();
11
- if (key) {
12
- (0, nodus_server_caller_1.nodus_server_caller)({
13
- data: {
14
- sessionId: sessionId,
15
- lastPage: document.referrer,
16
- currentPage: window.location.href,
17
- },
18
- url: "visit",
19
- key: key,
20
- });
21
- }
22
- }
6
+ const nodus_client_manager_1 = require("../session/nodus-client-manager");
7
+ const nodus_manager_1 = require("../session/nodus-manager");
23
8
  function nodus_activation(feature) {
24
- const sessionId = (0, nodus_session_1.nodus_session_manager)();
25
- if (key) {
9
+ const sessionId = (0, nodus_client_manager_1.nodus_session_manager)();
10
+ if (nodus_manager_1.nodus_key) {
26
11
  (0, nodus_server_caller_1.nodus_server_caller)({
27
12
  data: {
28
13
  sessionId: sessionId,
@@ -30,13 +15,13 @@ function nodus_activation(feature) {
30
15
  currentPage: window.location.href,
31
16
  },
32
17
  url: "activation",
33
- key: key,
18
+ key: nodus_manager_1.nodus_key,
34
19
  });
35
20
  }
36
21
  }
37
22
  function nodus_revenue(tag) {
38
- const sessionId = (0, nodus_session_1.nodus_session_manager)();
39
- if (key) {
23
+ const sessionId = (0, nodus_client_manager_1.nodus_session_manager)();
24
+ if (nodus_manager_1.nodus_key) {
40
25
  (0, nodus_server_caller_1.nodus_server_caller)({
41
26
  data: {
42
27
  sessionId: sessionId,
@@ -44,7 +29,7 @@ function nodus_revenue(tag) {
44
29
  currentPage: window.location.href,
45
30
  },
46
31
  url: "revenue",
47
- key: key,
32
+ key: nodus_manager_1.nodus_key,
48
33
  });
49
34
  }
50
35
  }
@@ -0,0 +1,2 @@
1
+ import { NextRequest, NextResponse } from "next/server";
2
+ export declare function nodus_visit(request: NextRequest): NextResponse<unknown>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodus_visit = nodus_visit;
4
+ const server_1 = require("next/server");
5
+ const nodus_server_caller_1 = require("../logger/nodus-server-caller");
6
+ const nodus_manager_1 = require("../session/nodus-manager");
7
+ const nodus_server_manager_1 = require("../session/nodus-server-manager");
8
+ function nodus_visit(request) {
9
+ const response = server_1.NextResponse.next();
10
+ const sessionId = (0, nodus_server_manager_1.nodus_request_session_manager)(request, response);
11
+ if (nodus_manager_1.nodus_key) {
12
+ (0, nodus_server_caller_1.nodus_server_caller)({
13
+ data: {
14
+ sessionId: sessionId,
15
+ lastPage: request.headers.get("referer") || "",
16
+ currentPage: request.url,
17
+ },
18
+ url: "visit",
19
+ key: nodus_manager_1.nodus_key,
20
+ });
21
+ }
22
+ return response;
23
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodus_session_manager = nodus_session_manager;
4
+ const nodus_manager_1 = require("./nodus-manager");
5
+ function nodus_session_manager() {
6
+ const existingSession = get_cookie(nodus_manager_1.COOKIE_NAME);
7
+ if (existingSession) {
8
+ return existingSession;
9
+ }
10
+ const sessionId = crypto.randomUUID() + "-" + Date.now();
11
+ set_cookie(nodus_manager_1.COOKIE_NAME, sessionId);
12
+ return sessionId;
13
+ }
14
+ function get_cookie(name) {
15
+ const cookie = document.cookie
16
+ .split("; ")
17
+ .find((row) => row.startsWith(`${name}=`));
18
+ return cookie ? decodeURIComponent(cookie.split("=")[1] ?? "") : null;
19
+ }
20
+ function set_cookie(name, value) {
21
+ document.cookie = `${name}=${encodeURIComponent(value)}; path=/; max-age=${nodus_manager_1.COOKIE_MAX_AGE_SECONDS}; samesite=lax; secure`;
22
+ }
@@ -0,0 +1,3 @@
1
+ export declare const COOKIE_NAME = "nodus_session";
2
+ export declare const COOKIE_MAX_AGE_SECONDS: number;
3
+ export declare const nodus_key: string | undefined;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodus_key = exports.COOKIE_MAX_AGE_SECONDS = exports.COOKIE_NAME = void 0;
4
+ exports.COOKIE_NAME = "nodus_session";
5
+ exports.COOKIE_MAX_AGE_SECONDS = 60 * 60 * 24 * 365;
6
+ exports.nodus_key = process.env.NODUS_SITE_KEY ?? process.env.NEXT_PUBLIC_NODUS_SITE_KEY;
@@ -0,0 +1,2 @@
1
+ import { NextRequest, NextResponse } from "next/server";
2
+ export declare function nodus_request_session_manager(request: NextRequest, response: NextResponse): string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodus_request_session_manager = nodus_request_session_manager;
4
+ const nodus_manager_1 = require("./nodus-manager");
5
+ function nodus_request_session_manager(request, response) {
6
+ const existingSession = request.cookies.get(nodus_manager_1.COOKIE_NAME)?.value;
7
+ if (existingSession) {
8
+ return existingSession;
9
+ }
10
+ const sessionId = crypto.randomUUID() + "-" + Date.now();
11
+ response.cookies.set(nodus_manager_1.COOKIE_NAME, sessionId, {
12
+ sameSite: "lax",
13
+ secure: true,
14
+ path: "/",
15
+ maxAge: nodus_manager_1.COOKIE_MAX_AGE_SECONDS,
16
+ });
17
+ return sessionId;
18
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodus-lib/nodus",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,6 +21,14 @@
21
21
  ".": {
22
22
  "types": "./dist/index.d.ts",
23
23
  "default": "./dist/index.js"
24
+ },
25
+ "./client": {
26
+ "types": "./dist/next/nodus_client.d.ts",
27
+ "default": "./dist/next/nodus_client.js"
28
+ },
29
+ "./server": {
30
+ "types": "./dist/next/nodus_server.d.ts",
31
+ "default": "./dist/next/nodus_server.js"
24
32
  }
25
33
  },
26
34
  "files": [
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nodus_session_manager = nodus_session_manager;
4
- const COOKIE_NAME = "nodus_session";
5
- function nodus_session_manager() {
6
- const existingSession = localStorage.getItem(COOKIE_NAME);
7
- if (existingSession) {
8
- return existingSession;
9
- }
10
- const sessionId = crypto.randomUUID() + "-" + Date.now();
11
- localStorage.setItem(COOKIE_NAME, sessionId);
12
- return sessionId;
13
- }