aiplang 2.0.0 → 2.1.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.
Files changed (53) hide show
  1. package/bin/aiplang.js +7 -7
  2. package/package.json +7 -5
  3. package/server/node_modules/.package-lock.json +9 -0
  4. package/server/node_modules/nodemailer/.gitattributes +6 -0
  5. package/server/node_modules/nodemailer/.ncurc.js +9 -0
  6. package/server/node_modules/nodemailer/.prettierignore +8 -0
  7. package/server/node_modules/nodemailer/.prettierrc +12 -0
  8. package/server/node_modules/nodemailer/.prettierrc.js +10 -0
  9. package/server/node_modules/nodemailer/.release-please-config.json +9 -0
  10. package/server/node_modules/nodemailer/CHANGELOG.md +976 -0
  11. package/server/node_modules/nodemailer/CODE_OF_CONDUCT.md +76 -0
  12. package/server/node_modules/nodemailer/LICENSE +16 -0
  13. package/server/node_modules/nodemailer/README.md +86 -0
  14. package/server/node_modules/nodemailer/SECURITY.txt +22 -0
  15. package/server/node_modules/nodemailer/eslint.config.js +88 -0
  16. package/server/node_modules/nodemailer/lib/addressparser/index.js +382 -0
  17. package/server/node_modules/nodemailer/lib/base64/index.js +140 -0
  18. package/server/node_modules/nodemailer/lib/dkim/index.js +245 -0
  19. package/server/node_modules/nodemailer/lib/dkim/message-parser.js +154 -0
  20. package/server/node_modules/nodemailer/lib/dkim/relaxed-body.js +154 -0
  21. package/server/node_modules/nodemailer/lib/dkim/sign.js +116 -0
  22. package/server/node_modules/nodemailer/lib/errors.js +58 -0
  23. package/server/node_modules/nodemailer/lib/fetch/cookies.js +276 -0
  24. package/server/node_modules/nodemailer/lib/fetch/index.js +278 -0
  25. package/server/node_modules/nodemailer/lib/json-transport/index.js +82 -0
  26. package/server/node_modules/nodemailer/lib/mail-composer/index.js +599 -0
  27. package/server/node_modules/nodemailer/lib/mailer/index.js +446 -0
  28. package/server/node_modules/nodemailer/lib/mailer/mail-message.js +312 -0
  29. package/server/node_modules/nodemailer/lib/mime-funcs/index.js +610 -0
  30. package/server/node_modules/nodemailer/lib/mime-funcs/mime-types.js +2109 -0
  31. package/server/node_modules/nodemailer/lib/mime-node/index.js +1334 -0
  32. package/server/node_modules/nodemailer/lib/mime-node/last-newline.js +33 -0
  33. package/server/node_modules/nodemailer/lib/mime-node/le-unix.js +40 -0
  34. package/server/node_modules/nodemailer/lib/mime-node/le-windows.js +49 -0
  35. package/server/node_modules/nodemailer/lib/nodemailer.js +151 -0
  36. package/server/node_modules/nodemailer/lib/punycode/index.js +460 -0
  37. package/server/node_modules/nodemailer/lib/qp/index.js +230 -0
  38. package/server/node_modules/nodemailer/lib/sendmail-transport/index.js +205 -0
  39. package/server/node_modules/nodemailer/lib/ses-transport/index.js +223 -0
  40. package/server/node_modules/nodemailer/lib/shared/index.js +698 -0
  41. package/server/node_modules/nodemailer/lib/smtp-connection/data-stream.js +105 -0
  42. package/server/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js +144 -0
  43. package/server/node_modules/nodemailer/lib/smtp-connection/index.js +1903 -0
  44. package/server/node_modules/nodemailer/lib/smtp-pool/index.js +641 -0
  45. package/server/node_modules/nodemailer/lib/smtp-pool/pool-resource.js +256 -0
  46. package/server/node_modules/nodemailer/lib/smtp-transport/index.js +402 -0
  47. package/server/node_modules/nodemailer/lib/stream-transport/index.js +135 -0
  48. package/server/node_modules/nodemailer/lib/well-known/index.js +47 -0
  49. package/server/node_modules/nodemailer/lib/well-known/services.json +619 -0
  50. package/server/node_modules/nodemailer/lib/xoauth2/index.js +436 -0
  51. package/server/node_modules/nodemailer/package.json +48 -0
  52. package/server/server.js +686 -865
  53. /package/{FLUX-PROJECT-KNOWLEDGE.md → aiplang-knowledge.md} +0 -0
package/bin/aiplang.js CHANGED
@@ -5,7 +5,7 @@ const fs = require('fs')
5
5
  const path = require('path')
6
6
  const http = require('http')
7
7
 
8
- const VERSION = '2.0.0'
8
+ const VERSION = '2.1.0'
9
9
  const RUNTIME_DIR = path.join(__dirname, '..', 'runtime')
10
10
  const cmd = process.argv[2]
11
11
  const args = process.argv.slice(3)
@@ -101,7 +101,7 @@ foot{© ${y} ${n}}`,
101
101
  if (cmd==='init') {
102
102
  const tplIdx = args.indexOf('--template')
103
103
  const tplName = tplIdx!==-1 ? args[tplIdx+1] : 'default'
104
- const name = args.find(a=>!a.startsWith('--')&&a!==tplName)||'flux-app'
104
+ const name = args.find(a=>!a.startsWith('--')&&a!==tplName)||'aiplang-app'
105
105
  const dir = path.resolve(name), year = new Date().getFullYear()
106
106
  if (fs.existsSync(dir)) { console.error(`\n ✗ Directory "${name}" already exists.\n`); process.exit(1) }
107
107
  fs.mkdirSync(path.join(dir,'pages'), {recursive:true})
@@ -184,7 +184,7 @@ if (cmd==='serve'||cmd==='dev') {
184
184
  })
185
185
  },500)
186
186
  require('http').createServer((req,res)=>{
187
- if(req.url.split('?')[0]==='/__flux_reload'){
187
+ if(req.url.split('?')[0]==='/__aiplang_reload'){
188
188
  res.writeHead(200,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Access-Control-Allow-Origin':'*'})
189
189
  res.write('data: connected\n\n');clients.push(res)
190
190
  req.on('close',()=>{clients=clients.filter(c=>c!==res)});return
@@ -196,7 +196,7 @@ if (cmd==='serve'||cmd==='dev') {
196
196
  if(!fp){res.writeHead(404);res.end('Not found');return}
197
197
  let content=fs.readFileSync(fp)
198
198
  if(path.extname(fp)==='.html'){
199
- const inject=`\n<script>const __es=new EventSource('/__flux_reload');__es.onmessage=e=>{if(e.data==='reload')location.reload()}</script>`
199
+ const inject=`\n<script>const __es=new EventSource('/__aiplang_reload');__es.onmessage=e=>{if(e.data==='reload')location.reload()}</script>`
200
200
  content=content.toString().replace('</body>',inject+'</body>')
201
201
  }
202
202
  res.writeHead(200,{'Content-Type':MIME[path.extname(fp)]||'application/octet-stream','Access-Control-Allow-Origin':'*'})
@@ -207,8 +207,8 @@ if (cmd==='serve'||cmd==='dev') {
207
207
 
208
208
  // ── Dev server (full-stack) ──────────────────────────────────────
209
209
  if (cmd === 'start' || cmd === 'run') {
210
- const fluxFile = args[0]
211
- if (!fluxFile || !fs.existsSync(fluxFile)) {
210
+ const aipFile = args[0]
211
+ if (!aipFile || !fs.existsSync(fluxFile)) {
212
212
  console.error(`\n ✗ Usage: aiplang start <app.flux>\n`)
213
213
  process.exit(1)
214
214
  }
@@ -220,7 +220,7 @@ if (cmd === 'start' || cmd === 'run') {
220
220
  process.exit(1)
221
221
  }
222
222
  console.log(`\n aiplang full-stack server\n`)
223
- require('child_process').spawn(process.execPath, [serverPath, fluxFile, port], {
223
+ require('child_process').spawn(process.execPath, [serverPath, aipFile, port], {
224
224
  stdio: 'inherit', env: { ...process.env, PORT: port }
225
225
  })
226
226
  return
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "aiplang",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "AI-first full-stack language. Frontend + Backend + DB + Auth in one file. Competes with Laravel.",
5
5
  "keywords": [
6
- "flux",
6
+ "aiplang",
7
7
  "ai",
8
8
  "web",
9
9
  "language",
10
10
  "compiler",
11
11
  "ssg",
12
12
  "reactive",
13
- "claude"
13
+ "claude",
14
+ "full-stack"
14
15
  ],
15
16
  "author": "isacamartin",
16
17
  "license": "MIT",
@@ -31,7 +32,7 @@
31
32
  "runtime/",
32
33
  "server/",
33
34
  "README.md",
34
- "FLUX-PROJECT-KNOWLEDGE.md"
35
+ "aiplang-knowledge.md"
35
36
  ],
36
37
  "engines": {
37
38
  "node": ">=16"
@@ -39,6 +40,7 @@
39
40
  "dependencies": {
40
41
  "bcryptjs": "^2.4.3",
41
42
  "jsonwebtoken": "^9.0.2",
42
- "sql.js": "^1.10.3"
43
+ "sql.js": "^1.10.3",
44
+ "nodemailer": "^6.9.0"
43
45
  }
44
46
  }
@@ -619,6 +619,15 @@
619
619
  "node": ">= 0.6"
620
620
  }
621
621
  },
622
+ "node_modules/nodemailer": {
623
+ "version": "8.0.3",
624
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.3.tgz",
625
+ "integrity": "sha512-JQNBqvK+bj3NMhUFR3wmCl3SYcOeMotDiwDBvIoCuQdF0PvlIY0BH+FJ2CG7u4cXKPChplE78oowlH/Otsc4ZQ==",
626
+ "license": "MIT-0",
627
+ "engines": {
628
+ "node": ">=6.0.0"
629
+ }
630
+ },
622
631
  "node_modules/object-inspect": {
623
632
  "version": "1.13.4",
624
633
  "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
@@ -0,0 +1,6 @@
1
+ *.js text eol=lf
2
+ *.txt text eol=lf
3
+ *.html text eol=lf
4
+ *.htm text eol=lf
5
+ *.ics -text
6
+ *.bin -text
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ upgrade: true,
5
+ reject: [
6
+ // API changes break existing tests
7
+ 'proxy'
8
+ ]
9
+ };
@@ -0,0 +1,8 @@
1
+ node_modules
2
+ coverage
3
+ *.min.js
4
+ dist
5
+ build
6
+ .nyc_output
7
+ package-lock.json
8
+ CHANGELOG.md
@@ -0,0 +1,12 @@
1
+ {
2
+ "printWidth": 140,
3
+ "tabWidth": 4,
4
+ "useTabs": false,
5
+ "semi": true,
6
+ "singleQuote": true,
7
+ "quoteProps": "as-needed",
8
+ "trailingComma": "none",
9
+ "bracketSpacing": true,
10
+ "arrowParens": "avoid",
11
+ "endOfLine": "lf"
12
+ }
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ printWidth: 160,
5
+ tabWidth: 4,
6
+ singleQuote: true,
7
+ endOfLine: 'lf',
8
+ trailingComma: 'none',
9
+ arrowParens: 'avoid'
10
+ };
@@ -0,0 +1,9 @@
1
+ {
2
+ "packages": {
3
+ ".": {
4
+ "release-type": "node",
5
+ "package-name": "nodemailer",
6
+ "pull-request-title-pattern": "chore${scope}: release ${version} [skip-ci]"
7
+ }
8
+ }
9
+ }