├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature-improvement-request.md │ ├── feature_request.md │ └── support-request.md ├── SECURITY.md ├── codeql │ └── codeql-config.yml ├── dependabot.yml ├── release.yml └── workflows │ ├── codeql.yml │ ├── lint.yml │ └── test.yml ├── .gitignore ├── LICENSE ├── README.md ├── app.js ├── config.json ├── core ├── initRoute.js ├── loadConfig.js ├── loadController.js ├── loadCustomTags.js ├── loadHooks.js ├── loadModel.js ├── loadModules.js ├── loadPermissions.js ├── loadRest.js ├── loadServer.js ├── parseMethodRouteKey.js └── runHook.js ├── drivers ├── db │ ├── Interface.js │ └── Memory.js └── render │ ├── Html.js │ └── Interface.js ├── hooks.json ├── hooks └── sapling │ ├── model │ └── retrieve.js │ └── user │ ├── forgot.js │ ├── logged.js │ ├── login.js │ ├── logout.js │ ├── recover.js │ ├── register.js │ └── update.js ├── index.js ├── lib ├── Cluster.js ├── Hash.js ├── Notifications.js ├── Redirect.js ├── Request.js ├── Response.js ├── SaplingError.js ├── Storage.js ├── Templating.js ├── UnauthorizedError.js ├── Uploads.js ├── User.js ├── Utils.js ├── Validation.js └── ValidationError.js ├── package.json ├── permissions.json ├── public └── app.css ├── static ├── mail │ └── lostpass.html └── response │ ├── 404.html │ ├── 500.html │ ├── data.html │ └── error.html ├── test ├── _data │ ├── accessible │ │ ├── bar │ │ │ └── foo.txt │ │ └── file.txt │ ├── config │ │ ├── compression.json │ │ ├── config.production.json │ │ ├── cors.json │ │ ├── corsProduction.json │ │ ├── custom.production.json │ │ ├── mangled.json │ │ ├── mangledProd.production.json │ │ ├── production.json │ │ └── strict.json │ ├── controller │ │ ├── controller.json │ │ ├── mangled.json │ │ ├── plain │ │ │ ├── bar.html │ │ │ ├── index.html │ │ │ ├── sub │ │ │ │ ├── foo.html │ │ │ │ └── index.html │ │ │ └── unrelated.txt │ │ ├── protectedFiles │ │ │ ├── _protected.html │ │ │ └── sub │ │ │ │ ├── _protected.html │ │ │ │ └── foo.html │ │ └── protectedFolders │ │ │ ├── _protected │ │ │ ├── _protected.html │ │ │ └── foo.html │ │ │ └── bar.html │ ├── files │ │ ├── archive.zip │ │ ├── audio.wav │ │ ├── document.docx │ │ ├── font.otf │ │ ├── image.png │ │ ├── other.txt │ │ ├── photo.jpg │ │ └── video.mp4 │ ├── hooks │ │ ├── get.json │ │ ├── inaccessible.json │ │ └── mangled.json │ ├── inaccessible │ │ ├── bar │ │ │ └── foo.txt │ │ └── file.txt │ ├── models │ │ ├── access │ │ │ └── posts.json │ │ ├── mangled │ │ │ └── posts.json │ │ ├── object │ │ │ └── posts.json │ │ ├── string │ │ │ └── posts.json │ │ └── unrelated │ │ │ └── .dotfile │ ├── permissions │ │ ├── array.json │ │ ├── incompleteObject.json │ │ ├── invalid.json │ │ ├── invalidObject.json │ │ ├── methods.json │ │ ├── object.json │ │ ├── string.json │ │ └── undefinedMethod.json │ └── views │ │ ├── csrf.html │ │ ├── loose.html │ │ ├── plain.html │ │ ├── safe.html │ │ └── tight.html ├── _utils │ ├── app.js │ ├── getFileObject.js │ ├── request.js │ └── response.js ├── core │ ├── initRoute.test.js │ ├── loadConfig.test.js │ ├── loadController.test.js │ ├── loadCustomTags.test.js │ ├── loadHooks.test.js │ ├── loadModel.test.js │ ├── loadModules.test.js │ ├── loadPermissions.test.js │ ├── loadRest.test.js │ ├── loadServer.test.js │ ├── parseMethodRouteKey.test.js │ └── runHook.test.js ├── drivers │ ├── db │ │ ├── Interface.test.js │ │ └── Memory.test.js │ └── render │ │ ├── Html.test.js │ │ └── Interface.test.js ├── hooks │ ├── model │ │ └── retrieve.test.js │ └── user │ │ ├── forgot.test.js │ │ ├── logged.test.js │ │ ├── login.test.js │ │ ├── logout.test.js │ │ ├── recover.test.js │ │ ├── register.test.js │ │ └── update.test.js └── lib │ ├── Cluster.test.js │ ├── Hash.test.js │ ├── Notifications.test.js │ ├── Redirect.test.js │ ├── Request.test.js │ ├── Response.test.js │ ├── SaplingError.test.js │ ├── Storage.test.js │ ├── Templating.test.js │ ├── Uploads.test.js │ ├── User.test.js │ ├── Utils.test.js │ └── Validation.test.js └── views ├── index.html └── my-account.html /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: saplingjs 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-improvement-request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/ISSUE_TEMPLATE/feature-improvement-request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/support-request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/ISSUE_TEMPLATE/support-request.md -------------------------------------------------------------------------------- /.github/SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/SECURITY.md -------------------------------------------------------------------------------- /.github/codeql/codeql-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/codeql/codeql-config.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/release.yml -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/README.md -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/app.js -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | {"name":"untitled"} -------------------------------------------------------------------------------- /core/initRoute.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/initRoute.js -------------------------------------------------------------------------------- /core/loadConfig.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadConfig.js -------------------------------------------------------------------------------- /core/loadController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadController.js -------------------------------------------------------------------------------- /core/loadCustomTags.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadCustomTags.js -------------------------------------------------------------------------------- /core/loadHooks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadHooks.js -------------------------------------------------------------------------------- /core/loadModel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadModel.js -------------------------------------------------------------------------------- /core/loadModules.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadModules.js -------------------------------------------------------------------------------- /core/loadPermissions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadPermissions.js -------------------------------------------------------------------------------- /core/loadRest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadRest.js -------------------------------------------------------------------------------- /core/loadServer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/loadServer.js -------------------------------------------------------------------------------- /core/parseMethodRouteKey.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/parseMethodRouteKey.js -------------------------------------------------------------------------------- /core/runHook.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/core/runHook.js -------------------------------------------------------------------------------- /drivers/db/Interface.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/drivers/db/Interface.js -------------------------------------------------------------------------------- /drivers/db/Memory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/drivers/db/Memory.js -------------------------------------------------------------------------------- /drivers/render/Html.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/drivers/render/Html.js -------------------------------------------------------------------------------- /drivers/render/Interface.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/drivers/render/Interface.js -------------------------------------------------------------------------------- /hooks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks.json -------------------------------------------------------------------------------- /hooks/sapling/model/retrieve.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/model/retrieve.js -------------------------------------------------------------------------------- /hooks/sapling/user/forgot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/forgot.js -------------------------------------------------------------------------------- /hooks/sapling/user/logged.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/logged.js -------------------------------------------------------------------------------- /hooks/sapling/user/login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/login.js -------------------------------------------------------------------------------- /hooks/sapling/user/logout.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/logout.js -------------------------------------------------------------------------------- /hooks/sapling/user/recover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/recover.js -------------------------------------------------------------------------------- /hooks/sapling/user/register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/register.js -------------------------------------------------------------------------------- /hooks/sapling/user/update.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/hooks/sapling/user/update.js -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/index.js -------------------------------------------------------------------------------- /lib/Cluster.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Cluster.js -------------------------------------------------------------------------------- /lib/Hash.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Hash.js -------------------------------------------------------------------------------- /lib/Notifications.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Notifications.js -------------------------------------------------------------------------------- /lib/Redirect.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Redirect.js -------------------------------------------------------------------------------- /lib/Request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Request.js -------------------------------------------------------------------------------- /lib/Response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Response.js -------------------------------------------------------------------------------- /lib/SaplingError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/SaplingError.js -------------------------------------------------------------------------------- /lib/Storage.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Storage.js -------------------------------------------------------------------------------- /lib/Templating.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Templating.js -------------------------------------------------------------------------------- /lib/UnauthorizedError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/UnauthorizedError.js -------------------------------------------------------------------------------- /lib/Uploads.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Uploads.js -------------------------------------------------------------------------------- /lib/User.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/User.js -------------------------------------------------------------------------------- /lib/Utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Utils.js -------------------------------------------------------------------------------- /lib/Validation.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/Validation.js -------------------------------------------------------------------------------- /lib/ValidationError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/lib/ValidationError.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/package.json -------------------------------------------------------------------------------- /permissions.json: -------------------------------------------------------------------------------- 1 | { 2 | "GET /my-account": "member" 3 | } -------------------------------------------------------------------------------- /public/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/public/app.css -------------------------------------------------------------------------------- /static/mail/lostpass.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/static/mail/lostpass.html -------------------------------------------------------------------------------- /static/response/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/static/response/404.html -------------------------------------------------------------------------------- /static/response/500.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/static/response/500.html -------------------------------------------------------------------------------- /static/response/data.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/static/response/data.html -------------------------------------------------------------------------------- /static/response/error.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/static/response/error.html -------------------------------------------------------------------------------- /test/_data/accessible/bar/foo.txt: -------------------------------------------------------------------------------- 1 | Second level file -------------------------------------------------------------------------------- /test/_data/accessible/file.txt: -------------------------------------------------------------------------------- 1 | First level file -------------------------------------------------------------------------------- /test/_data/config/compression.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/compression.json -------------------------------------------------------------------------------- /test/_data/config/config.production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/config.production.json -------------------------------------------------------------------------------- /test/_data/config/cors.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/cors.json -------------------------------------------------------------------------------- /test/_data/config/corsProduction.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/corsProduction.json -------------------------------------------------------------------------------- /test/_data/config/custom.production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/custom.production.json -------------------------------------------------------------------------------- /test/_data/config/mangled.json: -------------------------------------------------------------------------------- 1 | {"name":"untitled -------------------------------------------------------------------------------- /test/_data/config/mangledProd.production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/mangledProd.production.json -------------------------------------------------------------------------------- /test/_data/config/production.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/production.json -------------------------------------------------------------------------------- /test/_data/config/strict.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/config/strict.json -------------------------------------------------------------------------------- /test/_data/controller/controller.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/controller.json -------------------------------------------------------------------------------- /test/_data/controller/mangled.json: -------------------------------------------------------------------------------- 1 | { 2 | "/": "index.ht -------------------------------------------------------------------------------- /test/_data/controller/plain/bar.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/plain/bar.html -------------------------------------------------------------------------------- /test/_data/controller/plain/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/_data/controller/plain/sub/foo.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/plain/sub/foo.html -------------------------------------------------------------------------------- /test/_data/controller/plain/sub/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/plain/sub/index.html -------------------------------------------------------------------------------- /test/_data/controller/plain/unrelated.txt: -------------------------------------------------------------------------------- 1 | This is not a view. -------------------------------------------------------------------------------- /test/_data/controller/protectedFiles/_protected.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/protectedFiles/_protected.html -------------------------------------------------------------------------------- /test/_data/controller/protectedFiles/sub/_protected.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/protectedFiles/sub/_protected.html -------------------------------------------------------------------------------- /test/_data/controller/protectedFiles/sub/foo.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/protectedFiles/sub/foo.html -------------------------------------------------------------------------------- /test/_data/controller/protectedFolders/_protected/_protected.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/protectedFolders/_protected/_protected.html -------------------------------------------------------------------------------- /test/_data/controller/protectedFolders/_protected/foo.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/protectedFolders/_protected/foo.html -------------------------------------------------------------------------------- /test/_data/controller/protectedFolders/bar.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/controller/protectedFolders/bar.html -------------------------------------------------------------------------------- /test/_data/files/archive.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/archive.zip -------------------------------------------------------------------------------- /test/_data/files/audio.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/audio.wav -------------------------------------------------------------------------------- /test/_data/files/document.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/document.docx -------------------------------------------------------------------------------- /test/_data/files/font.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/font.otf -------------------------------------------------------------------------------- /test/_data/files/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/image.png -------------------------------------------------------------------------------- /test/_data/files/other.txt: -------------------------------------------------------------------------------- 1 | Hello world 2 | -------------------------------------------------------------------------------- /test/_data/files/photo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/photo.jpg -------------------------------------------------------------------------------- /test/_data/files/video.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/files/video.mp4 -------------------------------------------------------------------------------- /test/_data/hooks/get.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/hooks/get.json -------------------------------------------------------------------------------- /test/_data/hooks/inaccessible.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/hooks/inaccessible.json -------------------------------------------------------------------------------- /test/_data/hooks/mangled.json: -------------------------------------------------------------------------------- 1 | { 2 | "GET /api/user/logged": "sap -------------------------------------------------------------------------------- /test/_data/inaccessible/bar/foo.txt: -------------------------------------------------------------------------------- 1 | Second level file -------------------------------------------------------------------------------- /test/_data/inaccessible/file.txt: -------------------------------------------------------------------------------- 1 | First level file -------------------------------------------------------------------------------- /test/_data/models/access/posts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/models/access/posts.json -------------------------------------------------------------------------------- /test/_data/models/mangled/posts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/models/mangled/posts.json -------------------------------------------------------------------------------- /test/_data/models/object/posts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/models/object/posts.json -------------------------------------------------------------------------------- /test/_data/models/string/posts.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/models/string/posts.json -------------------------------------------------------------------------------- /test/_data/models/unrelated/.dotfile: -------------------------------------------------------------------------------- 1 | { 2 | "foo": "bar" 3 | } -------------------------------------------------------------------------------- /test/_data/permissions/array.json: -------------------------------------------------------------------------------- 1 | { 2 | "GET /my-account": ["member", "moderator"] 3 | } -------------------------------------------------------------------------------- /test/_data/permissions/incompleteObject.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/permissions/incompleteObject.json -------------------------------------------------------------------------------- /test/_data/permissions/invalid.json: -------------------------------------------------------------------------------- 1 | { 2 | "GET /my-account": false 3 | } -------------------------------------------------------------------------------- /test/_data/permissions/invalidObject.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/permissions/invalidObject.json -------------------------------------------------------------------------------- /test/_data/permissions/methods.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/permissions/methods.json -------------------------------------------------------------------------------- /test/_data/permissions/object.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/permissions/object.json -------------------------------------------------------------------------------- /test/_data/permissions/string.json: -------------------------------------------------------------------------------- 1 | { 2 | "GET /my-account": "member" 3 | } -------------------------------------------------------------------------------- /test/_data/permissions/undefinedMethod.json: -------------------------------------------------------------------------------- 1 | { 2 | "FOO /my-account": "member" 3 | } -------------------------------------------------------------------------------- /test/_data/views/csrf.html: -------------------------------------------------------------------------------- 1 |

CSRF is {{ csrfToken }}

-------------------------------------------------------------------------------- /test/_data/views/loose.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/views/loose.html -------------------------------------------------------------------------------- /test/_data/views/plain.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/views/plain.html -------------------------------------------------------------------------------- /test/_data/views/safe.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/views/safe.html -------------------------------------------------------------------------------- /test/_data/views/tight.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_data/views/tight.html -------------------------------------------------------------------------------- /test/_utils/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_utils/app.js -------------------------------------------------------------------------------- /test/_utils/getFileObject.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_utils/getFileObject.js -------------------------------------------------------------------------------- /test/_utils/request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_utils/request.js -------------------------------------------------------------------------------- /test/_utils/response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/_utils/response.js -------------------------------------------------------------------------------- /test/core/initRoute.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/initRoute.test.js -------------------------------------------------------------------------------- /test/core/loadConfig.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadConfig.test.js -------------------------------------------------------------------------------- /test/core/loadController.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadController.test.js -------------------------------------------------------------------------------- /test/core/loadCustomTags.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadCustomTags.test.js -------------------------------------------------------------------------------- /test/core/loadHooks.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadHooks.test.js -------------------------------------------------------------------------------- /test/core/loadModel.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadModel.test.js -------------------------------------------------------------------------------- /test/core/loadModules.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadModules.test.js -------------------------------------------------------------------------------- /test/core/loadPermissions.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadPermissions.test.js -------------------------------------------------------------------------------- /test/core/loadRest.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadRest.test.js -------------------------------------------------------------------------------- /test/core/loadServer.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/loadServer.test.js -------------------------------------------------------------------------------- /test/core/parseMethodRouteKey.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/parseMethodRouteKey.test.js -------------------------------------------------------------------------------- /test/core/runHook.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/core/runHook.test.js -------------------------------------------------------------------------------- /test/drivers/db/Interface.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/drivers/db/Interface.test.js -------------------------------------------------------------------------------- /test/drivers/db/Memory.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/drivers/db/Memory.test.js -------------------------------------------------------------------------------- /test/drivers/render/Html.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/drivers/render/Html.test.js -------------------------------------------------------------------------------- /test/drivers/render/Interface.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/drivers/render/Interface.test.js -------------------------------------------------------------------------------- /test/hooks/model/retrieve.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/model/retrieve.test.js -------------------------------------------------------------------------------- /test/hooks/user/forgot.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/forgot.test.js -------------------------------------------------------------------------------- /test/hooks/user/logged.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/logged.test.js -------------------------------------------------------------------------------- /test/hooks/user/login.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/login.test.js -------------------------------------------------------------------------------- /test/hooks/user/logout.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/logout.test.js -------------------------------------------------------------------------------- /test/hooks/user/recover.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/recover.test.js -------------------------------------------------------------------------------- /test/hooks/user/register.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/register.test.js -------------------------------------------------------------------------------- /test/hooks/user/update.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/hooks/user/update.test.js -------------------------------------------------------------------------------- /test/lib/Cluster.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Cluster.test.js -------------------------------------------------------------------------------- /test/lib/Hash.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Hash.test.js -------------------------------------------------------------------------------- /test/lib/Notifications.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Notifications.test.js -------------------------------------------------------------------------------- /test/lib/Redirect.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Redirect.test.js -------------------------------------------------------------------------------- /test/lib/Request.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Request.test.js -------------------------------------------------------------------------------- /test/lib/Response.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Response.test.js -------------------------------------------------------------------------------- /test/lib/SaplingError.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/SaplingError.test.js -------------------------------------------------------------------------------- /test/lib/Storage.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Storage.test.js -------------------------------------------------------------------------------- /test/lib/Templating.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Templating.test.js -------------------------------------------------------------------------------- /test/lib/Uploads.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Uploads.test.js -------------------------------------------------------------------------------- /test/lib/User.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/User.test.js -------------------------------------------------------------------------------- /test/lib/Utils.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Utils.test.js -------------------------------------------------------------------------------- /test/lib/Validation.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/test/lib/Validation.test.js -------------------------------------------------------------------------------- /views/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/views/index.html -------------------------------------------------------------------------------- /views/my-account.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saplingjs/sapling/HEAD/views/my-account.html --------------------------------------------------------------------------------