@adonisjs/session 8.0.0-next.2 → 8.0.0-next.3
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/build/factories/main.js +4 -4
- package/build/index.js +3 -3
- package/build/providers/session_provider.js +3 -3
- package/build/{session-Cb9-DoMh.js → session-DZqZLOtR.js} +1 -1
- package/build/{session-C9DdRahS.js → session-Dd5u7w5Y.js} +28 -7
- package/build/{session_collection-CvS5yIq6.js → session_collection-D9JQJjpq.js} +1 -1
- package/build/{session_middleware-gegOBxmm.js → session_middleware-BoOMxNVH.js} +1 -1
- package/build/src/session.d.ts +2 -0
- package/build/src/session_middleware.js +2 -2
- package/package.json +24 -24
package/build/factories/main.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "../session-
|
|
1
|
+
import "../session-Dd5u7w5Y.js";
|
|
2
2
|
import "../main-kn40V-hF.js";
|
|
3
|
-
import { t as defineConfig } from "../session-
|
|
3
|
+
import { t as defineConfig } from "../session-DZqZLOtR.js";
|
|
4
4
|
import "../debug-BZVg83L1.js";
|
|
5
5
|
import "../values_store-CvR1Sn37.js";
|
|
6
|
-
import "../session_collection-
|
|
7
|
-
import { t as SessionMiddleware } from "../session_middleware-
|
|
6
|
+
import "../session_collection-D9JQJjpq.js";
|
|
7
|
+
import { t as SessionMiddleware } from "../session_middleware-BoOMxNVH.js";
|
|
8
8
|
import { Emitter } from "@adonisjs/core/events";
|
|
9
9
|
import { AppFactory } from "@adonisjs/core/factories/app";
|
|
10
10
|
var SessionMiddlewareFactory = class {
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as errors_exports, t as Session } from "./session-
|
|
1
|
+
import { r as errors_exports, t as Session } from "./session-Dd5u7w5Y.js";
|
|
2
2
|
import { t as stubsRoot } from "./main-kn40V-hF.js";
|
|
3
|
-
import { n as stores, r as configure, t as defineConfig } from "./session-
|
|
3
|
+
import { n as stores, r as configure, t as defineConfig } from "./session-DZqZLOtR.js";
|
|
4
4
|
import "./debug-BZVg83L1.js";
|
|
5
5
|
import { n as ValuesStore, t as ReadOnlyValuesStore } from "./values_store-CvR1Sn37.js";
|
|
6
|
-
import { t as SessionCollection } from "./session_collection-
|
|
6
|
+
import { t as SessionCollection } from "./session_collection-D9JQJjpq.js";
|
|
7
7
|
export { ReadOnlyValuesStore, Session, SessionCollection, ValuesStore, configure, defineConfig, errors_exports as errors, stores, stubsRoot };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import "../session-
|
|
1
|
+
import "../session-Dd5u7w5Y.js";
|
|
2
2
|
import "../debug-BZVg83L1.js";
|
|
3
3
|
import "../values_store-CvR1Sn37.js";
|
|
4
|
-
import { t as SessionCollection } from "../session_collection-
|
|
5
|
-
import { t as SessionMiddleware } from "../session_middleware-
|
|
4
|
+
import { t as SessionCollection } from "../session_collection-D9JQJjpq.js";
|
|
5
|
+
import { t as SessionMiddleware } from "../session_middleware-BoOMxNVH.js";
|
|
6
6
|
import { RuntimeException } from "@adonisjs/core/exceptions";
|
|
7
7
|
import { configProvider } from "@adonisjs/core";
|
|
8
8
|
var SessionProvider = class {
|
|
@@ -50,7 +50,7 @@ var MemoryStore = class MemoryStore {
|
|
|
50
50
|
function defineConfig(config) {
|
|
51
51
|
debug_default("processing session config %O", config);
|
|
52
52
|
if (!config.store) throw new InvalidArgumentsException("Missing \"store\" property inside the session config");
|
|
53
|
-
const { stores
|
|
53
|
+
const { stores, cookie, ...rest } = {
|
|
54
54
|
enabled: true,
|
|
55
55
|
age: "2h",
|
|
56
56
|
cookieName: "adonis_session",
|
|
@@ -5,8 +5,9 @@ import { createError } from "@adonisjs/core/exceptions";
|
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import Macroable from "@poppinss/macroable";
|
|
7
7
|
import lodash from "@poppinss/utils/lodash";
|
|
8
|
+
import is from "@adonisjs/core/helpers/is";
|
|
8
9
|
var __defProp = Object.defineProperty;
|
|
9
|
-
var
|
|
10
|
+
var __exportAll = (all, symbols) => {
|
|
10
11
|
let target = {};
|
|
11
12
|
for (var name in all) __defProp(target, name, {
|
|
12
13
|
get: all[name],
|
|
@@ -15,7 +16,7 @@ var __export = (all, symbols) => {
|
|
|
15
16
|
if (symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
16
17
|
return target;
|
|
17
18
|
};
|
|
18
|
-
var errors_exports = /* @__PURE__ */
|
|
19
|
+
var errors_exports = /* @__PURE__ */ __exportAll({
|
|
19
20
|
E_SESSION_NOT_MUTABLE: () => E_SESSION_NOT_MUTABLE,
|
|
20
21
|
E_SESSION_NOT_READY: () => E_SESSION_NOT_READY,
|
|
21
22
|
E_SESSION_TAGGING_NOT_SUPPORTED: () => E_SESSION_TAGGING_NOT_SUPPORTED
|
|
@@ -23,6 +24,7 @@ var errors_exports = /* @__PURE__ */ __export({
|
|
|
23
24
|
const E_SESSION_NOT_MUTABLE = createError("Session store is in readonly mode and cannot be mutated", "E_SESSION_NOT_MUTABLE", 500);
|
|
24
25
|
const E_SESSION_NOT_READY = createError("Session store has not been initiated. Make sure you have registered the session middleware", "E_SESSION_NOT_READY", 500);
|
|
25
26
|
const E_SESSION_TAGGING_NOT_SUPPORTED = createError("Session store does not support tagging. Use memory, redis, or database store instead", "E_SESSION_TAGGING_NOT_SUPPORTED", 500);
|
|
27
|
+
const STORE_IN_FLASH = Symbol.for("store_in_flash");
|
|
26
28
|
var Session = class extends Macroable {
|
|
27
29
|
#store;
|
|
28
30
|
#emitter;
|
|
@@ -69,6 +71,18 @@ var Session = class extends Macroable {
|
|
|
69
71
|
if (mode === "write" && this.readonly) throw new E_SESSION_NOT_MUTABLE();
|
|
70
72
|
return this.responseFlashMessages;
|
|
71
73
|
}
|
|
74
|
+
shouldFlashValue(value) {
|
|
75
|
+
if (value && typeof value === "object") return STORE_IN_FLASH in value ? value[STORE_IN_FLASH] : true;
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
cleanupFlashData(data) {
|
|
79
|
+
if (is.plainObject(data)) return Object.keys(data).reduce((result, key) => {
|
|
80
|
+
const value = data[key];
|
|
81
|
+
if (this.shouldFlashValue(value)) result[key] = value;
|
|
82
|
+
return result;
|
|
83
|
+
}, {});
|
|
84
|
+
return data;
|
|
85
|
+
}
|
|
72
86
|
#getValuesStore(mode) {
|
|
73
87
|
if (!this.#valuesStore) throw new E_SESSION_NOT_READY();
|
|
74
88
|
if (mode === "write" && this.readonly) throw new E_SESSION_NOT_MUTABLE();
|
|
@@ -122,8 +136,8 @@ var Session = class extends Macroable {
|
|
|
122
136
|
}
|
|
123
137
|
flash(key, value) {
|
|
124
138
|
if (typeof key === "string") {
|
|
125
|
-
if (value) this.#getFlashStore("write").set(key, value);
|
|
126
|
-
} else this.#getFlashStore("write").merge(key);
|
|
139
|
+
if (value && this.shouldFlashValue(value)) this.#getFlashStore("write").set(key, value);
|
|
140
|
+
} else this.#getFlashStore("write").merge(this.cleanupFlashData(key));
|
|
127
141
|
}
|
|
128
142
|
flashErrors(errorsCollection) {
|
|
129
143
|
this.flash({ errorsBag: errorsCollection });
|
|
@@ -146,13 +160,20 @@ var Session = class extends Macroable {
|
|
|
146
160
|
this.flash("inputErrorsBag", errorsBag);
|
|
147
161
|
}
|
|
148
162
|
flashAll() {
|
|
149
|
-
|
|
163
|
+
let requestInput = this.#ctx.request.original();
|
|
164
|
+
return this.#getFlashStore("write").set("input", this.cleanupFlashData(requestInput));
|
|
150
165
|
}
|
|
151
166
|
flashExcept(keys) {
|
|
152
|
-
this.#getFlashStore("write").set("input", lodash.
|
|
167
|
+
this.#getFlashStore("write").set("input", lodash.omitBy(this.#ctx.request.original(), (value, key) => {
|
|
168
|
+
if (keys.includes(key)) return true;
|
|
169
|
+
return !this.shouldFlashValue(value);
|
|
170
|
+
}));
|
|
153
171
|
}
|
|
154
172
|
flashOnly(keys) {
|
|
155
|
-
this.#getFlashStore("write").set("input", lodash.
|
|
173
|
+
this.#getFlashStore("write").set("input", lodash.pickBy(this.#ctx.request.original(), (value, key) => {
|
|
174
|
+
if (keys.includes(key)) return this.shouldFlashValue(value);
|
|
175
|
+
return false;
|
|
176
|
+
}));
|
|
156
177
|
}
|
|
157
178
|
reflash() {
|
|
158
179
|
this.#getFlashStore("write").set("reflashed", this.flashMessages.all());
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as Session } from "./session-
|
|
1
|
+
import { t as Session } from "./session-Dd5u7w5Y.js";
|
|
2
2
|
import { ExceptionHandler } from "@adonisjs/core/http";
|
|
3
3
|
const originalErrorHandler = ExceptionHandler.prototype.renderValidationErrorAsHTML;
|
|
4
4
|
ExceptionHandler.macro("renderValidationErrorAsHTML", async function(error, ctx) {
|
package/build/src/session.d.ts
CHANGED
|
@@ -73,6 +73,8 @@ export declare class Session extends Macroable {
|
|
|
73
73
|
* @param ctx - HTTP context
|
|
74
74
|
*/
|
|
75
75
|
constructor(config: SessionConfig, storeFactory: SessionStoreFactory, emitter: EmitterService, ctx: HttpContext);
|
|
76
|
+
protected shouldFlashValue(value: unknown): unknown;
|
|
77
|
+
protected cleanupFlashData<T>(data: T): T | Record<string, any>;
|
|
76
78
|
/**
|
|
77
79
|
* Initiates the session store. The method results in a noop when called multiple times.
|
|
78
80
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../session-
|
|
1
|
+
import "../session-Dd5u7w5Y.js";
|
|
2
2
|
import "../debug-BZVg83L1.js";
|
|
3
3
|
import "../values_store-CvR1Sn37.js";
|
|
4
|
-
import { t as SessionMiddleware } from "../session_middleware-
|
|
4
|
+
import { t as SessionMiddleware } from "../session_middleware-BoOMxNVH.js";
|
|
5
5
|
export { SessionMiddleware as default };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonisjs/session",
|
|
3
3
|
"description": "Session provider for AdonisJS",
|
|
4
|
-
"version": "8.0.0-next.
|
|
4
|
+
"version": "8.0.0-next.3",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=24.0.0"
|
|
7
7
|
},
|
|
@@ -44,50 +44,50 @@
|
|
|
44
44
|
"quick:test": "node --import=@poppinss/ts-exec --enable-source-maps bin/test.ts"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@adonisjs/assembler": "^8.0.0-next.
|
|
48
|
-
"@adonisjs/core": "^7.0.0-next.
|
|
49
|
-
"@adonisjs/eslint-config": "^3.0.0-next.
|
|
47
|
+
"@adonisjs/assembler": "^8.0.0-next.31",
|
|
48
|
+
"@adonisjs/core": "^7.0.0-next.27",
|
|
49
|
+
"@adonisjs/eslint-config": "^3.0.0-next.9",
|
|
50
50
|
"@adonisjs/i18n": "^3.0.0-next.2",
|
|
51
|
-
"@adonisjs/lucid": "^22.0.0-next.
|
|
51
|
+
"@adonisjs/lucid": "^22.0.0-next.7",
|
|
52
52
|
"@adonisjs/prettier-config": "^1.4.5",
|
|
53
53
|
"@adonisjs/redis": "^10.0.0-next.2",
|
|
54
54
|
"@adonisjs/tsconfig": "^2.0.0-next.3",
|
|
55
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
56
|
-
"@aws-sdk/util-dynamodb": "^3.
|
|
57
|
-
"@japa/api-client": "^3.
|
|
55
|
+
"@aws-sdk/client-dynamodb": "^3.980.0",
|
|
56
|
+
"@aws-sdk/util-dynamodb": "^3.980.0",
|
|
57
|
+
"@japa/api-client": "^3.2.1",
|
|
58
58
|
"@japa/assert": "^4.2.0",
|
|
59
|
-
"@japa/browser-client": "^2.
|
|
59
|
+
"@japa/browser-client": "^2.3.0",
|
|
60
60
|
"@japa/file-system": "^3.0.0",
|
|
61
|
-
"@japa/plugin-adonisjs": "^5.1.0-next.
|
|
62
|
-
"@japa/runner": "^5.
|
|
61
|
+
"@japa/plugin-adonisjs": "^5.1.0-next.1",
|
|
62
|
+
"@japa/runner": "^5.3.0",
|
|
63
63
|
"@japa/snapshot": "^2.0.10",
|
|
64
|
-
"@poppinss/ts-exec": "^1.4.
|
|
64
|
+
"@poppinss/ts-exec": "^1.4.3",
|
|
65
65
|
"@release-it/conventional-changelog": "^10.0.4",
|
|
66
|
-
"@types/node": "^25.0
|
|
66
|
+
"@types/node": "^25.1.0",
|
|
67
67
|
"@types/set-cookie-parser": "^2.4.10",
|
|
68
68
|
"@types/supertest": "^6.0.3",
|
|
69
69
|
"@vinejs/vine": "^4.2.0",
|
|
70
|
+
"better-sqlite3": "^12.6.2",
|
|
70
71
|
"c8": "^10.1.3",
|
|
71
72
|
"copyfiles": "^2.4.1",
|
|
72
|
-
"better-sqlite3": "^12.5.0",
|
|
73
|
-
"mysql2": "^3.15.3",
|
|
74
|
-
"pg": "^8.16.3",
|
|
75
73
|
"cross-env": "^10.1.0",
|
|
76
74
|
"edge.js": "^6.4.0",
|
|
77
75
|
"eslint": "^9.39.2",
|
|
78
76
|
"get-port": "^7.1.0",
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
77
|
+
"mysql2": "^3.16.2",
|
|
78
|
+
"pg": "^8.18.0",
|
|
79
|
+
"playwright": "^1.58.1",
|
|
80
|
+
"prettier": "^3.8.1",
|
|
81
|
+
"release-it": "^19.2.4",
|
|
82
|
+
"set-cookie-parser": "^3.0.1",
|
|
83
|
+
"supertest": "^7.2.2",
|
|
84
|
+
"tsdown": "^0.20.1",
|
|
85
|
+
"typedoc": "^0.28.16",
|
|
86
86
|
"typescript": "^5.9.3"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
89
|
"@poppinss/macroable": "^1.1.0",
|
|
90
|
-
"@poppinss/utils": "^7.0.0-next.
|
|
90
|
+
"@poppinss/utils": "^7.0.0-next.6"
|
|
91
91
|
},
|
|
92
92
|
"peerDependencies": {
|
|
93
93
|
"@adonisjs/assembler": "^8.0.0-next.26",
|