odac 0.9.0 → 1.0.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/.github/workflows/auto-pr-description.yml +0 -2
- package/.github/workflows/codeql.yml +46 -0
- package/.github/workflows/release.yml +13 -6
- package/.github/workflows/test-coverage.yml +10 -9
- package/.releaserc.js +9 -6
- package/CHANGELOG.md +62 -150
- package/CODE_OF_CONDUCT.md +1 -1
- package/CONTRIBUTING.md +8 -8
- package/LICENSE +21 -661
- package/README.md +12 -12
- package/SECURITY.md +4 -4
- package/bin/odac.js +101 -0
- package/{framework/web/candy.js → client/odac.js} +310 -44
- package/docs/backend/01-overview/{01-whats-in-the-candy-box.md → 01-whats-in-the-odac-box.md} +4 -2
- package/docs/backend/01-overview/02-super-handy-helper-functions.md +29 -1
- package/docs/backend/01-overview/03-development-server.md +11 -11
- package/docs/backend/02-structure/01-typical-project-layout.md +4 -4
- package/docs/backend/03-config/00-configuration-overview.md +6 -6
- package/docs/backend/03-config/01-database-connection.md +1 -1
- package/docs/backend/03-config/02-static-route-mapping-optional.md +4 -4
- package/docs/backend/03-config/04-environment-variables.md +20 -20
- package/docs/backend/03-config/05-early-hints.md +4 -4
- package/docs/backend/04-routing/01-basic-page-routes.md +4 -4
- package/docs/backend/04-routing/02-controller-less-view-routes.md +5 -5
- package/docs/backend/04-routing/03-api-and-data-routes.md +3 -3
- package/docs/backend/04-routing/04-authentication-aware-routes.md +5 -5
- package/docs/backend/04-routing/05-advanced-routing.md +3 -3
- package/docs/backend/04-routing/06-error-pages.md +17 -17
- package/docs/backend/04-routing/07-cron-jobs.md +13 -13
- package/docs/backend/04-routing/08-middleware.md +214 -0
- package/docs/backend/04-routing/09-websocket-auth-middleware.md +292 -0
- package/docs/backend/04-routing/09-websocket-examples.md +381 -0
- package/docs/backend/04-routing/09-websocket-quick-reference.md +211 -0
- package/docs/backend/04-routing/09-websocket.md +298 -0
- package/docs/backend/05-controllers/01-how-to-build-a-controller.md +3 -3
- package/docs/backend/05-controllers/02-your-trusty-odac-assistant.md +41 -0
- package/docs/backend/05-controllers/03-controller-classes.md +19 -19
- package/docs/backend/05-forms/01-custom-forms.md +114 -114
- package/docs/backend/05-forms/02-automatic-database-insert.md +82 -82
- package/docs/backend/06-request-and-response/01-the-request-object-what-is-the-user-asking-for.md +26 -26
- package/docs/backend/06-request-and-response/02-sending-a-response-replying-to-the-user.md +10 -10
- package/docs/backend/07-views/01-the-view-directory.md +1 -1
- package/docs/backend/07-views/02-rendering-a-view.md +22 -22
- package/docs/backend/07-views/03-template-syntax.md +52 -52
- package/docs/backend/07-views/03-variables.md +84 -84
- package/docs/backend/07-views/04-request-data.md +57 -57
- package/docs/backend/07-views/05-conditionals.md +78 -78
- package/docs/backend/07-views/06-loops.md +114 -114
- package/docs/backend/07-views/07-translations.md +66 -66
- package/docs/backend/07-views/08-backend-javascript.md +103 -103
- package/docs/backend/07-views/09-comments.md +71 -71
- package/docs/backend/08-database/01-database-connection.md +8 -8
- package/docs/backend/08-database/02-using-mysql.md +49 -49
- package/docs/backend/09-validation/01-the-validator-service.md +38 -38
- package/docs/backend/10-authentication/01-user-logins-with-authjs.md +15 -15
- package/docs/backend/10-authentication/02-foiling-villains-with-csrf-protection.md +10 -10
- package/docs/backend/10-authentication/03-register.md +12 -12
- package/docs/backend/10-authentication/{04-candy-register-forms.md → 04-odac-register-forms.md} +141 -141
- package/docs/backend/10-authentication/05-session-management.md +10 -10
- package/docs/backend/10-authentication/{06-candy-login-forms.md → 06-odac-login-forms.md} +125 -125
- package/docs/backend/11-mail/01-the-mail-service.md +5 -5
- package/docs/backend/12-streaming/01-streaming-overview.md +96 -54
- package/docs/backend/13-utilities/{01-candy-var.md → 01-odac-var.md} +109 -109
- package/docs/frontend/01-overview/01-introduction.md +30 -30
- package/docs/frontend/02-ajax-navigation/01-quick-start.md +45 -45
- package/docs/frontend/02-ajax-navigation/02-configuration.md +14 -14
- package/docs/frontend/02-ajax-navigation/03-advanced-usage.md +36 -36
- package/docs/frontend/03-forms/01-form-handling.md +32 -32
- package/docs/frontend/04-api-requests/01-get-post.md +33 -33
- package/docs/frontend/05-streaming/01-client-streaming.md +15 -15
- package/docs/frontend/06-websocket/00-overview.md +76 -0
- package/docs/frontend/06-websocket/01-websocket-client.md +139 -0
- package/docs/frontend/06-websocket/02-shared-websocket.md +149 -0
- package/docs/index.json +49 -11
- package/eslint.config.mjs +6 -6
- package/{framework/index.js → index.js} +1 -1
- package/package.json +14 -39
- package/{framework/src → src}/Auth.js +59 -59
- package/{framework/src → src}/Config.js +3 -3
- package/{framework/src → src}/Lang.js +7 -7
- package/{framework/src → src}/Mail.js +5 -5
- package/{framework/src → src}/Mysql.js +42 -42
- package/src/Odac.js +112 -0
- package/{framework/src → src}/Request.js +38 -36
- package/{framework/src → src}/Route/Internal.js +116 -116
- package/src/Route/Middleware.js +75 -0
- package/src/Route.js +621 -0
- package/src/Server.js +22 -0
- package/{framework/src → src}/Stream.js +11 -3
- package/{framework/src → src}/Validator.js +21 -21
- package/{framework/src → src}/Var.js +5 -5
- package/{framework/src → src}/View/EarlyHints.js +1 -1
- package/{framework/src → src}/View/Form.js +69 -69
- package/{framework/src → src}/View.js +78 -81
- package/src/WebSocket.js +403 -0
- package/template/config.json +5 -0
- package/{web → template}/controller/page/about.js +6 -6
- package/{web → template}/controller/page/index.js +9 -9
- package/{web → template}/package.json +4 -5
- package/{web → template}/public/assets/css/style.css +4 -4
- package/{web → template}/public/assets/js/app.js +6 -6
- package/{web → template}/route/www.js +6 -6
- package/{web → template}/skeleton/main.html +1 -1
- package/{web → template}/view/content/about.html +5 -5
- package/{web → template}/view/content/home.html +12 -12
- package/template/view/footer/main.html +11 -0
- package/{web → template}/view/head/main.html +1 -1
- package/{web → template}/view/header/main.html +2 -2
- package/test/core/Candy.test.js +58 -58
- package/test/core/Commands.test.js +7 -7
- package/test/core/Config.test.js +82 -85
- package/test/core/Lang.test.js +2 -2
- package/test/core/Process.test.js +6 -6
- package/test/framework/Route.test.js +56 -37
- package/test/framework/View/EarlyHints.test.js +2 -2
- package/test/framework/WebSocket.test.js +100 -0
- package/test/framework/middleware.test.js +85 -0
- package/test/server/Api.test.js +31 -31
- package/test/server/DNS.test.js +11 -11
- package/test/server/Hub.test.js +497 -0
- package/test/server/Mail.account.test_.js +3 -3
- package/test/server/Mail.init.test_.js +10 -10
- package/test/server/Mail.test_.js +20 -20
- package/test/server/SSL.test_.js +54 -54
- package/test/server/Server.test.js +39 -39
- package/test/server/Service.test_.js +7 -7
- package/test/server/Subdomain.test.js +7 -7
- package/test/server/Web/Firewall.test.js +87 -87
- package/test/server/Web/Proxy.test.js +397 -0
- package/test/server/{Web.test_.js → Web.test.js} +137 -205
- package/test/server/__mocks__/fs.js +2 -2
- package/test/server/__mocks__/{globalCandy.js → globalOdac.js} +5 -5
- package/test/server/__mocks__/index.js +6 -6
- package/test/server/__mocks__/testFactories.js +1 -1
- package/test/server/__mocks__/testHelpers.js +7 -7
- package/.husky/pre-commit +0 -2
- package/.kiro/steering/code-style.md +0 -56
- package/.kiro/steering/product.md +0 -20
- package/.kiro/steering/structure.md +0 -77
- package/.kiro/steering/tech.md +0 -87
- package/AGENTS.md +0 -84
- package/bin/candy +0 -10
- package/bin/candypack +0 -10
- package/cli/index.js +0 -3
- package/cli/src/Cli.js +0 -348
- package/cli/src/Connector.js +0 -93
- package/cli/src/Monitor.js +0 -416
- package/core/Candy.js +0 -87
- package/core/Commands.js +0 -239
- package/core/Config.js +0 -1094
- package/core/Lang.js +0 -52
- package/core/Log.js +0 -43
- package/core/Process.js +0 -26
- package/docs/backend/05-controllers/02-your-trusty-candy-assistant.md +0 -20
- package/docs/server/01-installation/01-quick-install.md +0 -19
- package/docs/server/01-installation/02-manual-installation-via-npm.md +0 -9
- package/docs/server/02-get-started/01-core-concepts.md +0 -7
- package/docs/server/02-get-started/02-basic-commands.md +0 -57
- package/docs/server/02-get-started/03-cli-reference.md +0 -276
- package/docs/server/02-get-started/04-cli-quick-reference.md +0 -102
- package/docs/server/03-service/01-start-a-new-service.md +0 -57
- package/docs/server/03-service/02-delete-a-service.md +0 -48
- package/docs/server/04-web/01-create-a-website.md +0 -36
- package/docs/server/04-web/02-list-websites.md +0 -9
- package/docs/server/04-web/03-delete-a-website.md +0 -29
- package/docs/server/05-subdomain/01-create-a-subdomain.md +0 -32
- package/docs/server/05-subdomain/02-list-subdomains.md +0 -33
- package/docs/server/05-subdomain/03-delete-a-subdomain.md +0 -41
- package/docs/server/06-ssl/01-renew-an-ssl-certificate.md +0 -34
- package/docs/server/07-mail/01-create-a-mail-account.md +0 -23
- package/docs/server/07-mail/02-delete-a-mail-account.md +0 -20
- package/docs/server/07-mail/03-list-mail-accounts.md +0 -20
- package/docs/server/07-mail/04-change-account-password.md +0 -23
- package/framework/src/Candy.js +0 -81
- package/framework/src/Route.js +0 -455
- package/framework/src/Server.js +0 -15
- package/locale/de-DE.json +0 -80
- package/locale/en-US.json +0 -79
- package/locale/es-ES.json +0 -80
- package/locale/fr-FR.json +0 -80
- package/locale/pt-BR.json +0 -80
- package/locale/ru-RU.json +0 -80
- package/locale/tr-TR.json +0 -85
- package/locale/zh-CN.json +0 -80
- package/server/index.js +0 -5
- package/server/src/Api.js +0 -88
- package/server/src/DNS.js +0 -940
- package/server/src/Hub.js +0 -535
- package/server/src/Mail.js +0 -571
- package/server/src/SSL.js +0 -180
- package/server/src/Server.js +0 -27
- package/server/src/Service.js +0 -248
- package/server/src/Subdomain.js +0 -64
- package/server/src/Web/Firewall.js +0 -170
- package/server/src/Web/Proxy.js +0 -134
- package/server/src/Web.js +0 -451
- package/server/src/mail/imap.js +0 -1091
- package/server/src/mail/server.js +0 -32
- package/server/src/mail/smtp.js +0 -786
- package/test/server/Client.test.js +0 -338
- package/test/server/__mocks__/http-proxy.js +0 -105
- package/watchdog/index.js +0 -3
- package/watchdog/src/Watchdog.js +0 -156
- package/web/config.json +0 -5
- package/web/view/footer/main.html +0 -11
- /package/{framework/src → src}/Env.js +0 -0
- /package/{framework/src → src}/Route/Cron.js +0 -0
- /package/{framework/src → src}/Token.js +0 -0
|
@@ -9,7 +9,6 @@ on:
|
|
|
9
9
|
jobs:
|
|
10
10
|
update-pr-description:
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
|
-
# Only run for PRs from `dev` to `main`
|
|
13
12
|
if: github.head_ref == 'dev' && github.base_ref == 'main'
|
|
14
13
|
permissions:
|
|
15
14
|
pull-requests: write
|
|
@@ -18,7 +17,6 @@ jobs:
|
|
|
18
17
|
- name: Checkout
|
|
19
18
|
uses: actions/checkout@v4
|
|
20
19
|
with:
|
|
21
|
-
# Fetch all history for all branches and tags to get the commit messages
|
|
22
20
|
fetch-depth: 0
|
|
23
21
|
|
|
24
22
|
- name: Generate PR Body
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: CodeQL Analysis
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, dev]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, dev]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: '0 0 * * 1'
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
analyze:
|
|
13
|
+
name: Analyze
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
actions: read
|
|
17
|
+
contents: read
|
|
18
|
+
security-events: write
|
|
19
|
+
|
|
20
|
+
strategy:
|
|
21
|
+
fail-fast: false
|
|
22
|
+
matrix:
|
|
23
|
+
language: ['javascript']
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- name: Checkout repository
|
|
27
|
+
uses: actions/checkout@v4
|
|
28
|
+
|
|
29
|
+
- name: Setup Node.js
|
|
30
|
+
uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version: '22'
|
|
33
|
+
|
|
34
|
+
- name: Initialize CodeQL
|
|
35
|
+
uses: github/codeql-action/init@v3
|
|
36
|
+
with:
|
|
37
|
+
languages: ${{ matrix.language }}
|
|
38
|
+
queries: security-extended,security-and-quality
|
|
39
|
+
|
|
40
|
+
- name: Autobuild
|
|
41
|
+
uses: github/codeql-action/autobuild@v3
|
|
42
|
+
|
|
43
|
+
- name: Perform CodeQL Analysis
|
|
44
|
+
uses: github/codeql-action/analyze@v3
|
|
45
|
+
with:
|
|
46
|
+
category: "/language:${{matrix.language}}"
|
|
@@ -5,28 +5,35 @@ on:
|
|
|
5
5
|
branches:
|
|
6
6
|
- main
|
|
7
7
|
paths-ignore:
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
- 'CHANGELOG.md'
|
|
9
|
+
- 'package.json'
|
|
10
10
|
workflow_dispatch:
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
13
|
release:
|
|
14
14
|
name: Release
|
|
15
15
|
runs-on: ubuntu-latest
|
|
16
|
-
|
|
16
|
+
permissions:
|
|
17
|
+
contents: write
|
|
18
|
+
issues: write
|
|
19
|
+
pull-requests: write
|
|
20
|
+
id-token: write
|
|
21
|
+
if: "!contains(github.event.head_commit.message, 'Odac v') || github.event_name == 'workflow_dispatch'"
|
|
17
22
|
steps:
|
|
18
23
|
- name: Checkout
|
|
19
24
|
uses: actions/checkout@v3
|
|
20
25
|
with:
|
|
21
26
|
fetch-depth: 0
|
|
22
27
|
- name: Setup Node.js
|
|
23
|
-
uses: actions/setup-node@
|
|
28
|
+
uses: actions/setup-node@v4
|
|
24
29
|
with:
|
|
25
|
-
node-version: '
|
|
30
|
+
node-version: '22'
|
|
31
|
+
registry-url: 'https://registry.npmjs.org'
|
|
32
|
+
|
|
26
33
|
- name: Install dependencies
|
|
27
34
|
run: npm install
|
|
35
|
+
|
|
28
36
|
- name: Release
|
|
29
37
|
env:
|
|
30
38
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
31
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
32
39
|
run: npx semantic-release
|
|
@@ -20,7 +20,7 @@ jobs:
|
|
|
20
20
|
|
|
21
21
|
strategy:
|
|
22
22
|
matrix:
|
|
23
|
-
node-version:
|
|
23
|
+
node-version: 22.x
|
|
24
24
|
|
|
25
25
|
steps:
|
|
26
26
|
- name: Checkout code
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
run: npm test
|
|
42
42
|
|
|
43
43
|
- name: Upload coverage reports
|
|
44
|
-
if: matrix.node-version == '
|
|
44
|
+
if: matrix.node-version == '22.x'
|
|
45
45
|
uses: codecov/codecov-action@v3
|
|
46
46
|
with:
|
|
47
47
|
files: ./coverage/lcov.info
|
|
@@ -49,10 +49,11 @@ jobs:
|
|
|
49
49
|
name: codecov-umbrella
|
|
50
50
|
fail_ci_if_error: false
|
|
51
51
|
|
|
52
|
-
- name:
|
|
53
|
-
if:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
- name: Coverage Summary
|
|
53
|
+
if: matrix.node-version == '22.x'
|
|
54
|
+
run: |
|
|
55
|
+
echo "## Test Coverage Summary" >> $GITHUB_STEP_SUMMARY
|
|
56
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
57
|
+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
58
|
+
npx nyc report --reporter=text-summary >> $GITHUB_STEP_SUMMARY || echo "Coverage report not available" >> $GITHUB_STEP_SUMMARY
|
|
59
|
+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
package/.releaserc.js
CHANGED
|
@@ -52,8 +52,6 @@ module.exports = {
|
|
|
52
52
|
commit.subject = commit.subject.replace(prRegex, '')
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
let prLink = ''
|
|
56
|
-
|
|
57
55
|
// Get author name - prefer GitHub login if available
|
|
58
56
|
const email = commit.committer.email || commit.authorEmail || ''
|
|
59
57
|
const ghUserMatch = email.match(/^(?:\d+\+)?([a-zA-Z0-9-]+)@users\.noreply\.github\.com$/)
|
|
@@ -110,7 +108,7 @@ module.exports = {
|
|
|
110
108
|
|
|
111
109
|
---
|
|
112
110
|
|
|
113
|
-
Powered by [
|
|
111
|
+
Powered by [⚡ ODAC](https://odac.run)
|
|
114
112
|
`
|
|
115
113
|
}
|
|
116
114
|
}
|
|
@@ -121,14 +119,19 @@ Powered by [🍭 CandyPack](https://candypack.dev)
|
|
|
121
119
|
changelogFile: 'CHANGELOG.md'
|
|
122
120
|
}
|
|
123
121
|
],
|
|
124
|
-
|
|
122
|
+
[
|
|
123
|
+
'@semantic-release/npm',
|
|
124
|
+
{
|
|
125
|
+
provenance: true
|
|
126
|
+
}
|
|
127
|
+
],
|
|
125
128
|
[
|
|
126
129
|
'@semantic-release/git',
|
|
127
130
|
{
|
|
128
131
|
assets: ['package.json', 'CHANGELOG.md'],
|
|
129
|
-
message: '
|
|
132
|
+
message: '⚡ ODAC v${nextRelease.version} Released'
|
|
130
133
|
}
|
|
131
134
|
],
|
|
132
135
|
'@semantic-release/github'
|
|
133
136
|
]
|
|
134
|
-
}
|
|
137
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,181 +1,93 @@
|
|
|
1
|
+
### Framework
|
|
2
|
+
|
|
3
|
+
- HTML Email
|
|
4
|
+
|
|
1
5
|
### ⚙️ Engine Tuning
|
|
2
6
|
|
|
7
|
+
- 'for' and 'list' directive argument handling
|
|
8
|
+
- externalize semantic-release configuration to `.releaserc.js` with enhanced changelog generation and update release workflow permissions.
|
|
9
|
+
- Hub polling
|
|
3
10
|
- Modular Config
|
|
4
11
|
- New default web template
|
|
12
|
+
- Proxy logic
|
|
13
|
+
- rebrand from CandyPack to Odac
|
|
14
|
+
- Refactor documentation files
|
|
15
|
+
- restructure for standalone framework package
|
|
16
|
+
- View rendering to support async operations
|
|
5
17
|
|
|
6
18
|
### ✨ What's New
|
|
7
19
|
|
|
20
|
+
- Add <candy:form> system with automatic validation and DB insert
|
|
8
21
|
- add <candy:login> component for zero-config registration
|
|
9
22
|
- add <candy:register> component for zero-config registration
|
|
23
|
+
- Add cloud integration
|
|
24
|
+
- Add DDoS Protection Firewall
|
|
25
|
+
- Add GitHub Actions workflows for test coverage, auto PR descriptions, and CodeQL analysis.
|
|
26
|
+
- Add Jest for testing
|
|
27
|
+
- Add Jest for unit testing and code coverage
|
|
28
|
+
- add semantic-release
|
|
29
|
+
- add semantic-release with npm publishing
|
|
30
|
+
- Add skeleton-aware navigation and auto-navigation support
|
|
31
|
+
- Add support for controller classes and update docs
|
|
32
|
+
- Added CLI prefix arguments support
|
|
33
|
+
- Development Server Mode
|
|
10
34
|
- Environment variable support
|
|
35
|
+
- **framework:** add Early Hints (HTTP 103) support with zero-config
|
|
36
|
+
- **Framework:** Add middleware support
|
|
37
|
+
- **Framework:** Custom Cron Jobs
|
|
11
38
|
- **Framework:** Support multiple validation checks per field
|
|
12
39
|
- HTTP2 & Server-Sent Events (SSE) Support
|
|
40
|
+
- Introduce CLI for project initialization and development, refactor framework dependencies, and add automated release workflow.
|
|
41
|
+
- Make package.json name, version, and dependency updates unconditional.
|
|
13
42
|
- Modernize view template syntax with <candy> tags
|
|
14
43
|
- No-Code AJAX Navigation
|
|
44
|
+
- Re-enable release workflow and configure semantic-release with NPM provenance.
|
|
45
|
+
- **server:** New Logging Module
|
|
46
|
+
- Synchronize main with dev branch
|
|
47
|
+
- WebSocket Support
|
|
15
48
|
|
|
16
49
|
### 📚 Documentation
|
|
17
50
|
|
|
18
|
-
- Add
|
|
51
|
+
- Add AGENTS.md and update contribution guidelines
|
|
52
|
+
- Add Candy.Var utility documentation
|
|
53
|
+
- clarify difference between candy get and var tags
|
|
19
54
|
- Expand and update view system documentation
|
|
55
|
+
- Framework Docs
|
|
56
|
+
- Remove 'coming soon' from documentation link
|
|
20
57
|
- Revamp database docs: connection and queries
|
|
21
|
-
|
|
22
|
-
### 🛠️ Fixes & Improvements
|
|
23
|
-
|
|
24
|
-
- Added config module to candy debug
|
|
25
|
-
- Improve config force save and migration verification
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
Powered by [🍭 CandyPack](https://candypack.dev)
|
|
32
|
-
|
|
33
|
-
### ⚙️ Engine Tuning
|
|
34
|
-
|
|
35
|
-
- Refactor SSL certificate generation and error handling
|
|
36
|
-
|
|
37
|
-
### ✨ What's New
|
|
38
|
-
|
|
39
|
-
- Development Server Mode
|
|
40
|
-
- **Framework:** Custom Cron Jobs
|
|
41
|
-
|
|
42
|
-
### 📚 Documentation
|
|
43
|
-
|
|
44
58
|
- Simplify and standardize documentation titles
|
|
59
|
+
- split template syntax into separate detailed pages
|
|
45
60
|
|
|
46
61
|
### 🛠️ Fixes & Improvements
|
|
47
62
|
|
|
48
|
-
- Add
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
63
|
+
- Add input validation to Auth.check method
|
|
64
|
+
- Add memory-safe timers and auto-cleanup for streaming
|
|
65
|
+
- Add missing conventional-changelog-conventionalcommits dependency
|
|
66
|
+
- Add WebSocket cleanup
|
|
67
|
+
- Adjust route reload timing and cache invalidation
|
|
68
|
+
- Correct license and supported version in docs
|
|
69
|
+
- Enable object stringification in MySQL connection
|
|
70
|
+
- escape backslash characters in View.js regex replacements
|
|
71
|
+
- Escape backticks earlier in view content processing
|
|
72
|
+
- Escape backticks in cached view templates
|
|
73
|
+
- File type check in Route controller path logic
|
|
74
|
+
- **Framework:** Add error handling for config file parsing
|
|
75
|
+
- **Framework:** No Controller View
|
|
76
|
+
- Handle null and undefined in Var.html()
|
|
53
77
|
- Make husky prepare script non-failing
|
|
54
|
-
-
|
|
55
|
-
|
|
78
|
+
- Preserve template literals in <script:candy> blocks
|
|
79
|
+
- Prevent replace error when candy get value is undefined
|
|
80
|
+
- Refactor route controller lookup and page handling
|
|
81
|
+
- release workflow, update package config with MIT license and reduced dependencies, fix View.js regex handling, and refine template scripts.
|
|
82
|
+
- **server:** Refactor server restart and initialization logic
|
|
83
|
+
- Support view config object in authPage third parameter
|
|
56
84
|
|
|
57
85
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Powered by [🍭 CandyPack](https://candypack.dev)
|
|
61
|
-
|
|
62
|
-
### 🛠️ Fixes & Improvements
|
|
63
|
-
|
|
64
|
-
- Server Startup
|
|
86
|
+
### 💥 BREAKING CHANGES
|
|
65
87
|
|
|
88
|
+
- rebrand from CandyPack to Odac (#88)
|
|
66
89
|
|
|
67
90
|
|
|
68
91
|
---
|
|
69
92
|
|
|
70
|
-
Powered by [
|
|
71
|
-
|
|
72
|
-
### Refactor
|
|
73
|
-
|
|
74
|
-
- Improve IMAP and SMTP authentication and TLS handling
|
|
75
|
-
|
|
76
|
-
### ⚙️ Engine Tuning
|
|
77
|
-
|
|
78
|
-
- Improve error handling for HTTP/HTTPS server startup
|
|
79
|
-
- Refactor documentation files
|
|
80
|
-
|
|
81
|
-
### ✨ What's New
|
|
82
|
-
|
|
83
|
-
- Added 'candy service delete' command.
|
|
84
|
-
- Added 'candy subdomain delete' command.
|
|
85
|
-
- Added CLI prefix arguments support
|
|
86
|
-
- CLI Mouse Support
|
|
87
|
-
- **cli:** Add Progress-Based Output
|
|
88
|
-
|
|
89
|
-
### 🛠️ Fixes & Improvements
|
|
90
|
-
|
|
91
|
-
- Fix module instantiation and nullish services handling
|
|
92
|
-
- Limit log and error buffer sizes in Web and Watchdog
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
Powered by [🍭 CandyPack](https://candypack.dev)
|
|
97
|
-
|
|
98
|
-
**v**
|
|
99
|
-
|
|
100
|
-
### ✨ What's New
|
|
101
|
-
|
|
102
|
-
- Added 'candy web delete' command.
|
|
103
|
-
- Added German, Spanish, French, Portuguese, Russian, and Chinese language support for CLI
|
|
104
|
-
|
|
105
|
-
### 🛠️ Fixes & Improvements
|
|
106
|
-
|
|
107
|
-
- DNS Server Improvements
|
|
108
|
-
- Fixed website creation problem
|
|
109
|
-
- **Framework:** Add error handling for config file parsing
|
|
110
|
-
- IMAP Server Improvements
|
|
111
|
-
- Refactor website creation and config handling
|
|
112
|
-
- **Server:** Logs fixed
|
|
113
|
-
- SMTP Server Improvements
|
|
114
|
-
- Web Server Improvements
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
Powered by [🍭 CandyPack](https://candypack.dev)
|
|
119
|
-
|
|
120
|
-
**v**
|
|
121
|
-
|
|
122
|
-
## [0.5.0](https://github.com/CandyPack/CandyPack/compare/v0.4.1...v0.5.0) (2025-09-02)
|
|
123
|
-
|
|
124
|
-
- add view helper to page and authPage methods [#20](https://https://github.com/CandyPack/CandyPack/pull/20) ([](https://github.com/CandyPack/CandyPack/commit/863eaf35950831dd1166b6b2d0a50f48c19af508)), closes [#20](https://github.com/CandyPack/CandyPack/issues/20)
|
|
125
|
-
- merge branch 'main' into dev-1 ([](https://github.com/CandyPack/CandyPack/commit/5c96b1e0e5e0a3a86172ef6ad047cdf6f0c5c029))
|
|
126
|
-
- merge pull request #14 from CandyPack/doc/update-contribution-guidelines ([](https://github.com/CandyPack/CandyPack/commit/eb92bdf66537c5a973629b99762424e31d8fa3a1)), closes [#14](https://github.com/CandyPack/CandyPack/issues/14)
|
|
127
|
-
- merge pull request #16 from CandyPack/feat/custom-semantic-release-notes ([](https://github.com/CandyPack/CandyPack/commit/3ea998e24c27e03878258ac0de8563223dced2f8)), closes [#16](https://github.com/CandyPack/CandyPack/issues/16)
|
|
128
|
-
- merge pull request #21 from CandyPack/dev-1 ([](https://github.com/CandyPack/CandyPack/commit/ae87fd8d50a226d854a8b85345558d7d5b7e81f9)), closes [#21](https://github.com/CandyPack/CandyPack/issues/21)
|
|
129
|
-
- merge pull request #23 from CandyPack/dev ([](https://github.com/CandyPack/CandyPack/commit/b28a237ea070bc66f9ea3dbc2efa967e4d73ab27)), closes [#23](https://github.com/CandyPack/CandyPack/issues/23)
|
|
130
|
-
- merge pull request #25 from CandyPack/dev ([](https://github.com/CandyPack/CandyPack/commit/b9cb9127d64c80d03c407052124b40da86b7caec)), closes [#25](https://github.com/CandyPack/CandyPack/issues/25)
|
|
131
|
-
- refactor server restart and initialization logic ([](https://github.com/CandyPack/CandyPack/commit/2e7a23fce515b6a6e6fdfb58e91810d558001c66))
|
|
132
|
-
|
|
133
|
-
### ⚡️ Performance Upgrades
|
|
134
|
-
|
|
135
|
-
- core Process Module ([](https://github.com/CandyPack/CandyPack/commit/59ece15756bfb80a3ce8a430d60106ec8b9cea7e))
|
|
136
|
-
|
|
137
|
-
### ✨ What's New
|
|
138
|
-
|
|
139
|
-
- **release:** customize semantic-release notes generation ([](https://github.com/CandyPack/CandyPack/commit/70ba94ef010c10609cce69d2dd7fc32eb8ddd157))
|
|
140
|
-
- **server:** new Logging Module ([](https://github.com/CandyPack/CandyPack/commit/70699006a36dbcce1f8de3ad549ee6000cd6e3a1))
|
|
141
|
-
- synchronize main with dev branch ([](https://github.com/CandyPack/CandyPack/commit/654ecd33e9296f3753b95f11568f9d289f0d5a23))
|
|
142
|
-
|
|
143
|
-
### 🎨 Style
|
|
144
|
-
|
|
145
|
-
- add PR and author attribution to release notes [#17](https://https://github.com/CandyPack/CandyPack/pull/17) ([](https://github.com/CandyPack/CandyPack/commit/8ef3e77edb3fc3f6de4582bacf8c3088f5941b76)), closes [#17](https://github.com/CandyPack/CandyPack/issues/17) [#1234](https://github.com/CandyPack/CandyPack/issues/1234) [#1234](https://github.com/CandyPack/CandyPack/issues/1234)
|
|
146
|
-
|
|
147
|
-
### 📚 Documentation
|
|
148
|
-
|
|
149
|
-
- add AGENTS.md and update contribution guidelines ([](https://github.com/CandyPack/CandyPack/commit/2ef7dcb125eb9b341ecf209cd6f87dc6e0873389))
|
|
150
|
-
- framework Docs ([](https://github.com/CandyPack/CandyPack/commit/cd7a1cec6ebecc5748bae3ccd0dd934ddf77c3fa))
|
|
151
|
-
- server documentation ([](https://github.com/CandyPack/CandyPack/commit/27eb89a0f9c5d17c0364112743f3a032d2999195))
|
|
152
|
-
- update AGENTS.md with detailed developer guide [#18](https://https://github.com/CandyPack/CandyPack/pull/18) ([](https://github.com/CandyPack/CandyPack/commit/65a05649ea61ac1d29ae73e3f27dabe0d82425cd)), closes [#18](https://github.com/CandyPack/CandyPack/issues/18)
|
|
153
|
-
|
|
154
|
-
### 🛠️ Fixes & Improvements
|
|
155
|
-
|
|
156
|
-
- add missing conventional-changelog-conventionalcommits dependency [#22](https://https://github.com/CandyPack/CandyPack/pull/22) ([](https://github.com/CandyPack/CandyPack/commit/8f8a64fe3a81a5c9015e62755013d141571e5f0d)), closes [#22](https://github.com/CandyPack/CandyPack/issues/22)
|
|
157
|
-
- **CLI:** fixed CLI Commands ([](https://github.com/CandyPack/CandyPack/commit/44c8ef7a2aca9ebdf82317b20dc3c39728cf2676))
|
|
158
|
-
- **Framework:** no Controller View ([](https://github.com/CandyPack/CandyPack/commit/ae73ae793be0e3b6b6d95eaeb75ba981f0eb49f5))
|
|
159
|
-
- rebooting ([](https://github.com/CandyPack/CandyPack/commit/9ab17df2a39621be0429cc3ffd52f0326dc8c64a))
|
|
160
|
-
- resolve semantic-release configuration and dependency errors [#24](https://https://github.com/CandyPack/CandyPack/pull/24) ([](https://github.com/CandyPack/CandyPack/commit/b6359b4687f1f15cbb1847e82d49a998e74f5dde)), closes [#24](https://github.com/CandyPack/CandyPack/issues/24)
|
|
161
|
-
|
|
162
|
-
## [0.4.1](https://github.com/CandyPack/CandyPack/compare/v0.4.0...v0.4.1) (2025-08-31)
|
|
163
|
-
|
|
164
|
-
### Bug Fixes
|
|
165
|
-
|
|
166
|
-
- **server:** Refactor server restart and initialization logic ([#15](https://github.com/CandyPack/CandyPack/issues/15)) ([6cc688e](https://github.com/CandyPack/CandyPack/commit/6cc688ed95212fa73d022e3f2d8e773a17fe299e))
|
|
167
|
-
|
|
168
|
-
# [0.4.0](https://github.com/CandyPack/CandyPack/compare/v0.3.1...v0.4.0) (2025-08-28)
|
|
169
|
-
|
|
170
|
-
### Bug Fixes
|
|
171
|
-
|
|
172
|
-
- Correct license and supported version in docs ([1af458e](https://github.com/CandyPack/CandyPack/commit/1af458ead8a1a577e8e4c6c45d8cae4ee1432d5c))
|
|
173
|
-
- Update auto-generated PR text to English ([27bab61](https://github.com/CandyPack/CandyPack/commit/27bab61461d65737f95e89737bda06753de3bfc5))
|
|
174
|
-
|
|
175
|
-
### Features
|
|
176
|
-
|
|
177
|
-
- Add Jest for testing ([4e51bbb](https://github.com/CandyPack/CandyPack/commit/4e51bbb1295d44b14f64e661019ac7a526fa96bb))
|
|
178
|
-
- Add Jest for unit testing and code coverage ([1bfe78e](https://github.com/CandyPack/CandyPack/commit/1bfe78eeabc0af1178ba9bc678ab8a2eaa7d9bf8))
|
|
179
|
-
- add semantic-release ([7a88e9e](https://github.com/CandyPack/CandyPack/commit/7a88e9eb3cee12d6d316c776e7d88e8de6b26c55))
|
|
180
|
-
- add semantic-release with npm publishing ([5c2568d](https://github.com/CandyPack/CandyPack/commit/5c2568dac9ca6284718e087ce67a519a21bfe1c5))
|
|
181
|
-
- Complete project refactor and feature enhancement ([d3bcc19](https://github.com/CandyPack/CandyPack/commit/d3bcc1995af8f0548a0bbd8c0396db6775d4b5cf))
|
|
93
|
+
Powered by [⚡ ODAC](https://odac.run)
|
package/CODE_OF_CONDUCT.md
CHANGED
|
@@ -36,7 +36,7 @@ This Code of Conduct applies within all community spaces, and also applies when
|
|
|
36
36
|
|
|
37
37
|
## Enforcement
|
|
38
38
|
|
|
39
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at security@
|
|
39
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at security@odac.run. All complaints will be reviewed and investigated promptly and fairly.
|
|
40
40
|
|
|
41
41
|
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
|
|
42
42
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# Contributing to
|
|
1
|
+
# Contributing to Odac
|
|
2
2
|
|
|
3
|
-
First off, thank you for considering contributing to
|
|
3
|
+
First off, thank you for considering contributing to Odac! It's people like you that make Odac such a great tool.
|
|
4
4
|
|
|
5
|
-
This project and everyone participating in it is governed by the [
|
|
5
|
+
This project and everyone participating in it is governed by the [Odac Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to security@odac.run.
|
|
6
6
|
|
|
7
7
|
## How Can I Contribute?
|
|
8
8
|
|
|
9
|
-
There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into
|
|
9
|
+
There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into Odac itself.
|
|
10
10
|
|
|
11
11
|
### Reporting Bugs
|
|
12
12
|
|
|
13
|
-
Before creating a bug report, please check the [issues list](https://github.com/
|
|
13
|
+
Before creating a bug report, please check the [issues list](https://github.com/Odac/Odac/issues) to see if the bug has already been reported. If it has, please add a comment to the existing issue instead of creating a new one.
|
|
14
14
|
|
|
15
15
|
When you are creating a bug report, please include as many details as possible. Fill out the required template, the information it asks for helps us resolve issues faster.
|
|
16
16
|
|
|
@@ -20,10 +20,10 @@ If you have an idea for a new feature or an improvement to an existing one, plea
|
|
|
20
20
|
|
|
21
21
|
### Your First Code Contribution
|
|
22
22
|
|
|
23
|
-
Unsure where to begin contributing to
|
|
23
|
+
Unsure where to begin contributing to Odac? You can start by looking through `good first issue` and `help wanted` issues:
|
|
24
24
|
|
|
25
|
-
* [Good first issues](https://github.com/
|
|
26
|
-
* [Help wanted issues](https://github.com/
|
|
25
|
+
* [Good first issues](https://github.com/Odac/Odac/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - issues which should only require a few lines of code, and a test or two.
|
|
26
|
+
* [Help wanted issues](https://github.com/Odac/Odac/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) - issues which should be a bit more involved than `good first issue` issues.
|
|
27
27
|
|
|
28
28
|
### Development Workflow
|
|
29
29
|
|