Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
823 changes: 404 additions & 419 deletions .claude/skills/backend-developer/di-container.md

Large diffs are not rendered by default.

847 changes: 421 additions & 426 deletions .claude/skills/backend-developer/event-publisher.md

Large diffs are not rendered by default.

387 changes: 197 additions & 190 deletions .claude/skills/backend-developer/permissions.md

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions .claude/skills/skills-generator/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,16 @@ The generator script at `scripts/generateSkills/` does three things:

### Key Files

| File | Purpose |
|------|---------|
| `src/bin.ts` | CLI entry point |
| `src/pipeline.ts` | Orchestrates discover → resolve → write |
| `src/discovery.ts` | Scans webiny barrel files for matching exports |
| `src/source-resolver.ts` | ts-morph utilities for following re-exports |
| `src/config.ts` | Category map, description builders |
| `src/plugins/` | Plugin per abstraction type (event-handler, use-case) |
| `src/name-utils.ts` | PascalCase/kebab-case converters |
| `src/types.ts` | TypeScript interfaces |
| File | Purpose |
| ------------------------ | ----------------------------------------------------- |
| `src/bin.ts` | CLI entry point |
| `src/pipeline.ts` | Orchestrates discover → resolve → write |
| `src/discovery.ts` | Scans webiny barrel files for matching exports |
| `src/source-resolver.ts` | ts-morph utilities for following re-exports |
| `src/config.ts` | Category map, description builders |
| `src/plugins/` | Plugin per abstraction type (event-handler, use-case) |
| `src/name-utils.ts` | PascalCase/kebab-case converters |
| `src/types.ts` | TypeScript interfaces |

### Plugin Interface

Expand Down
26 changes: 13 additions & 13 deletions .claude/skills/webiny-skill-creator/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,19 +197,19 @@ When asked to create a skill for a specific feature:

The following skills should exist in `webiny/my-skills/`:

| Skill Folder | Covers |
| -------------------------------- | --------------------------------------------------------- |
| `project-structure/SKILL.md` | Project layout, webiny.config.tsx, extension registration |
| `content-models/SKILL.md` | ModelFactory, fields, validators, layout |
| `custom-graphql-api/SKILL.md` | GraphQLSchemaFactory, resolvers, DI |
| `lifecycle-events/SKILL.md` | CMS entry hooks, security events |
| `admin-ui-extensions/SKILL.md` | White-labeling, custom columns, forms, Lexical |
| `infrastructure-extensions/SKILL.md` | Pulumi handlers, declarative infra components |
| `cli-extensions/SKILL.md` | CliCommandFactory, custom CLI commands |
| `dependency-injection/SKILL.md` | Universal DI pattern, injectable services |
| `webiny-sdk/SKILL.md` | External app integration, Result pattern |
| `website-builder/SKILL.md` | Editor components, theming, CMS integration |
| `local-development/SKILL.md` | Deploy, watch, environments, debugging |
| Skill Folder | Covers |
| ------------------------------------ | --------------------------------------------------------- |
| `project-structure/SKILL.md` | Project layout, webiny.config.tsx, extension registration |
| `content-models/SKILL.md` | ModelFactory, fields, validators, layout |
| `custom-graphql-api/SKILL.md` | GraphQLSchemaFactory, resolvers, DI |
| `lifecycle-events/SKILL.md` | CMS entry hooks, security events |
| `admin-ui-extensions/SKILL.md` | White-labeling, custom columns, forms, Lexical |
| `infrastructure-extensions/SKILL.md` | Pulumi handlers, declarative infra components |
| `cli-extensions/SKILL.md` | CliCommandFactory, custom CLI commands |
| `dependency-injection/SKILL.md` | Universal DI pattern, injectable services |
| `webiny-sdk/SKILL.md` | External app integration, Result pattern |
| `website-builder/SKILL.md` | Editor components, theming, CMS integration |
| `local-development/SKILL.md` | Deploy, watch, environments, debugging |

### When to Add New Skills

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pullRequests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ jobs:
run: yarn --immutable
working-directory: ${{ github.base_ref }}
- name: Check code formatting
run: yarn prettier:check
run: yarn format:check
working-directory: ${{ github.base_ref }}
- name: Check dependencies
run: yarn adio
Expand Down
38 changes: 19 additions & 19 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# and run "github-actions-wac build" (or "ghawac build") to regenerate this file.
# For more information, run "github-actions-wac --help".
name: Push
'on':
"on":
push:
branches:
- dev
Expand Down Expand Up @@ -33,7 +33,7 @@ jobs:
vars.RANDOM_CACHE_KEY_SUFFIX }}" >> $GITHUB_OUTPUT
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
build:
name: Build
Expand Down Expand Up @@ -65,7 +65,7 @@ jobs:
path: v6/.webiny/cached-packages
key: ${{ needs.constants.outputs.run-cache-key }}
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
codeAnalysis:
name: Static code analysis
Expand All @@ -91,7 +91,7 @@ jobs:
run: yarn --immutable
working-directory: v6
- name: Check code formatting
run: yarn prettier:check
run: yarn format:check
working-directory: v6
- name: Check dependencies
run: yarn adio
Expand All @@ -107,7 +107,7 @@ jobs:
working-directory: v6
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
staticCodeAnalysisVerifyDependencies:
needs:
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
working-directory: v6
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
staticCodeAnalysisTs:
name: Static code analysis (TypeScript)
Expand All @@ -163,7 +163,7 @@ jobs:
run: yarn cy:ts
working-directory: v6
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
vitest-constants:
needs:
Expand All @@ -187,7 +187,7 @@ jobs:
'[""]')" >> "$GITHUB_OUTPUT"
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
vitest-run:
needs:
Expand All @@ -204,7 +204,7 @@ jobs:
testCommand: ${{ fromJSON(needs.vitest-constants.outputs.vitest-test-commands) }}
runs-on: ${{ matrix.os }}
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
AWS_REGION: eu-central-1
steps:
Expand Down Expand Up @@ -253,7 +253,7 @@ jobs:
'["ddb"]')" >> "$GITHUB_OUTPUT"
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
vitest-ddb-run:
needs:
Expand All @@ -272,7 +272,7 @@ jobs:
}}
runs-on: ${{ matrix.os }}
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
AWS_REGION: eu-central-1
WEBINY_STORAGE: ddb
Expand Down Expand Up @@ -329,7 +329,7 @@ jobs:
'["ddb-os,ddb"]')" >> "$GITHUB_OUTPUT"
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
vitest-ddb-os-run:
needs:
Expand All @@ -349,7 +349,7 @@ jobs:
}}
runs-on: ${{ matrix.os }}
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
AWS_REGION: eu-central-1
WEBINY_STORAGE: ddb-os,ddb
Expand Down Expand Up @@ -413,7 +413,7 @@ jobs:
github.run_id }}_ddb" >> $GITHUB_OUTPUT
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
e2eTests-ddb-setup:
needs:
Expand All @@ -426,8 +426,8 @@ jobs:
cypress-config: ${{ steps.save-cypress-config.outputs.cypress-config }}
environment: next
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: 'false'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: "false"
CYPRESS_MAILOSAUR_API_KEY: ${{ secrets.CYPRESS_MAILOSAUR_API_KEY }}
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
PULUMI_SECRETS_PROVIDER: ${{ secrets.PULUMI_SECRETS_PROVIDER }}
Expand Down Expand Up @@ -558,7 +558,7 @@ jobs:
github.run_id }}_ddb-os" >> $GITHUB_OUTPUT
runs-on: ubuntu-latest
env:
NODE_OPTIONS: '--max_old_space_size=4096'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: false
e2eTests-ddb-os-setup:
needs:
Expand All @@ -571,8 +571,8 @@ jobs:
cypress-config: ${{ steps.save-cypress-config.outputs.cypress-config }}
environment: next
env:
NODE_OPTIONS: '--max_old_space_size=4096'
YARN_ENABLE_IMMUTABLE_INSTALLS: 'false'
NODE_OPTIONS: "--max_old_space_size=4096"
YARN_ENABLE_IMMUTABLE_INSTALLS: "false"
CYPRESS_MAILOSAUR_API_KEY: ${{ secrets.CYPRESS_MAILOSAUR_API_KEY }}
PULUMI_CONFIG_PASSPHRASE: ${{ secrets.PULUMI_CONFIG_PASSPHRASE }}
PULUMI_SECRETS_PROVIDER: ${{ secrets.PULUMI_SECRETS_PROVIDER }}
Expand Down
28 changes: 2 additions & 26 deletions .github/workflows/wac/pullRequests.wac.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,30 +141,6 @@ export const pullRequests = createWorkflow({
}
]
}),
// autoFormat: createJob({
// name: "Auto-format code",
// if: "github.event.pull_request.head.repo.fork == false",
// checkout: { path: DIR_WEBINY_JS },
// steps: [
// ...yarnCacheSteps,
// ...withCommonParams(
// [
// { name: "Install dependencies", run: "yarn --immutable" },
// { name: "Run Prettier", run: "yarn prettier:fix" },
// ],
// { "working-directory": DIR_WEBINY_JS }
// ),
// {
// name: "Commit and push changes",
// uses: "stefanzweifel/git-auto-commit-action@v5",
// with: {
// "commit_message": "chore: auto-format code",
// "file_pattern": "*.js *.jsx *.ts *.tsx *.json *.scss *.yml",
// "repository": DIR_WEBINY_JS
// }
// }
// ]
// }),
constants: createJob({
name: "Create constants",
outputs: {
Expand Down Expand Up @@ -250,7 +226,7 @@ export const pullRequests = createWorkflow({
...withCommonParams(
[
{ name: "Install dependencies", run: "yarn --immutable" },
{ name: "Check code formatting", run: "yarn prettier:check" },
{ name: "Check code formatting", run: "yarn format:check" },
{ name: "Check dependencies", run: "yarn adio" },
{ name: "Check TS configs", run: "yarn check-ts-configs" },
{ name: "ESLint", run: "yarn eslint" },
Expand Down Expand Up @@ -319,7 +295,7 @@ export const pullRequests = createWorkflow({
// // Run deterministic fixes as real shell commands so changes definitely land on disk.
// {
// name: "Fix code formatting",
// run: "yarn prettier:fix",
// run: "yarn format:fix",
// "working-directory": DIR_WEBINY_JS,
// "continue-on-error": true
// },
Expand Down
18 changes: 13 additions & 5 deletions .github/workflows/wac/push.wac.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,18 @@ const ddbOsStorageOps = new DdbOsStorageOps();
const DIR_WEBINY_JS = "v6";
const DIR_TEST_PROJECT = "new-webiny-project";

const installBuildSteps = createInstallBuildSteps({ workingDirectory: DIR_WEBINY_JS });
const yarnCacheSteps = createYarnCacheSteps({ workingDirectory: DIR_WEBINY_JS });
const globalBuildCacheSteps = createGlobalBuildCacheSteps({ workingDirectory: DIR_WEBINY_JS });
const runBuildCacheSteps = createRunBuildCacheSteps({ workingDirectory: DIR_WEBINY_JS });
const installBuildSteps = createInstallBuildSteps({
workingDirectory: DIR_WEBINY_JS
});
const yarnCacheSteps = createYarnCacheSteps({
workingDirectory: DIR_WEBINY_JS
});
const globalBuildCacheSteps = createGlobalBuildCacheSteps({
workingDirectory: DIR_WEBINY_JS
});
const runBuildCacheSteps = createRunBuildCacheSteps({
workingDirectory: DIR_WEBINY_JS
});

const createE2EJobs = (storageOps: AbstractStorageOps) => {
const jobNames = {
Expand Down Expand Up @@ -348,7 +356,7 @@ export const push = createWorkflow({
...withCommonParams(
[
{ name: "Install dependencies", run: "yarn --immutable" },
{ name: "Check code formatting", run: "yarn prettier:check" },
{ name: "Check code formatting", run: "yarn format:check" },
{ name: "Check dependencies", run: "yarn adio" },
{ name: "Check TS configs", run: "yarn check-ts-configs" },
{ name: "ESLint", run: "yarn eslint" },
Expand Down
54 changes: 54 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"printWidth": 100,
"trailingComma": "none",
"tabWidth": 2,
"arrowParens": "avoid",
"endOfLine": "lf",
"useTabs": false,
"semi": true,
"singleQuote": false,
"jsxSingleQuote": false,
"bracketSpacing": true,
"bracketSameLine": false,
"proseWrap": "preserve",
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": false,
"singleAttributePerLine": false,
"embeddedLanguageFormatting": "auto",
"quoteProps": "as-needed",
"requirePragma": false,
"insertPragma": false,
"rangeStart": 0,
"rangeEnd": null,
"sortPackageJson": false,
"ignorePatterns": [
".nx/",
".webiny/",
".verdaccio/",
"docs/",
"**/build/",
"**/dist/",
"**/.out/",
"**/.pulumi/",
".webiny/**",
"packages/admin-ui/scripts/importFromFigma/exports/Alias tokens.json",
"packages/project-aws/_templates/appTemplates/",
"lerna.json",
"coverage/**",
"packages/cli/files/**/*.json",
"packages/create-webiny-project/utils/binaries/**",
".github/workflows/**/*.yml",
"./nextjs/",
"packages/admin-ui/storybook-static/**",
"**/*.hbs"
],
"overrides": [
{
"files": ["*.js", "*.ts", "*.tsx"],
"options": {
"tabWidth": 4
}
}
]
}
19 changes: 0 additions & 19 deletions .prettierignore

This file was deleted.

Loading
Loading