0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-01-06 20:40:08 -05:00
logto/packages/connectors
2023-04-01 20:53:44 +08:00
..
connector-alipay-native refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-alipay-web refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-aliyun-dm refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-aliyun-sms refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-apple refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-aws-ses refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-azuread refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-discord refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-facebook refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-feishu-web refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-github refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-google refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-kakao refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-logto-email refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-logto-sms refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-logto-social-demo refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-mock-email refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-mock-email-alternative refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-mock-sms refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-mock-social refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-naver refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-oauth2 refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-oidc refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-saml refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-sendgrid-email refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-smtp refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-tencent-sms refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-twilio-sms refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-wechat-native refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
connector-wechat-web refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
templates refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
.gitignore refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00
README.md refactor: leverage pnpmfile for dependency installation 2023-04-01 20:53:44 +08:00

Logto connectors directory

Template syncing

Since all connectors have a same pattern for package.json, here we leverage several techniques to avoid annoying copy-pastes:

When pnpm i

  • The "pnpm:devPreinstall" script in the project root executes templates/sync-preset.js that:
    • Check every connectors's package.json to see if there's any unexpected keys
    • Sync templates/package.json by REPLACING every template key (except dependency keys) in the current package.json with the value from the template package.json
    • Copies all config files to every connector directory
  • The hook in .pnpmfile.cjs of the project root merges dependency fields for every connector
    • Also we can update arbitrary fields in this hook, we still need to keep non-dependency fields in the connector's package.json since the hook only takes affect during pnpm i.

Caution Workspace dependencies should be defined in connector's package.json (not template) in order to let PNPM correctly resolves the workspace dependency tree;

Add a new custom field

Head to templates/sync-preset.js and update allowedCustomKeys.