Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- .woodpecker.yaml: image paths -> library/autojanet-{agent,dispatcher}
- .woodpecker.yaml: secret names RS_HARBOR_USER / RS_HARBOR_PASS (global)
- container/Dockerfile: restore COPY skills/, skills/ populated from opencode config
- skills/: 84 opencode skills bundled into image
- k8s/manifests: update image refs to library/
46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# JavaScript Language Prompt Snippet
|
|
|
|
## Key Concepts
|
|
|
|
- **Closures**: Functions that capture variables from their enclosing lexical scope
|
|
- **Prototypes**: Prototype chain-based inheritance underlying all JavaScript objects
|
|
- **Promises**: Asynchronous value containers enabling `.then()` chaining and `async/await`
|
|
- **Event Loop**: Single-threaded concurrency model with microtask and macrotask queues
|
|
- **Destructuring**: Extract values from objects and arrays into distinct variables
|
|
- **Spread/Rest Operators**: `...` for expanding iterables or collecting remaining arguments
|
|
- **Proxies**: Meta-programming construct to intercept and customize object operations
|
|
- **Generators**: Functions using `function*` and `yield` for lazy iteration
|
|
- **Symbol**: Unique, immutable primitive used for non-string property keys
|
|
- **WeakMap/WeakSet**: Collections with weakly-held keys allowing garbage collection
|
|
- **Modules (ESM vs CJS)**: ES Modules use `import/export`; CommonJS uses `require/module.exports`
|
|
|
|
## Import Patterns
|
|
|
|
- `import { X } from 'module'` — ESM named import
|
|
- `const X = require('module')` — CommonJS require
|
|
- `import('module')` — dynamic import returning a Promise (code splitting)
|
|
- `export default X` / `export { X }` — ESM export forms
|
|
|
|
## File Patterns
|
|
|
|
- `index.js` — barrel file or directory entry point
|
|
- `.mjs` — explicitly ES Module files
|
|
- `.cjs` — explicitly CommonJS files
|
|
- `package.json` `"type"` field — sets default module system (`"module"` or `"commonjs"`)
|
|
|
|
## Common Frameworks
|
|
|
|
- **React** — Declarative UI with virtual DOM and component model
|
|
- **Vue** — Progressive framework with reactivity system and single-file components
|
|
- **Express** — Minimal and flexible Node.js web application framework
|
|
- **Next.js** — React framework for production with hybrid rendering
|
|
- **Svelte** — Compile-time framework that shifts work from runtime to build step
|
|
|
|
## Example Language Notes
|
|
|
|
> Closure captures outer `config` variable, providing encapsulated state without class
|
|
> overhead. The returned object's methods share access to the same `config` reference,
|
|
> forming a module pattern that was standard before ES Modules.
|
|
>
|
|
> When encountering `.mjs` vs `.cjs` extensions, the module system is determined by
|
|
> extension regardless of the `package.json` type field — useful in mixed codebases.
|