{"id":32971962,"url":"https://github.com/exiahuang/xysfdx","last_synced_at":"2026-05-17T11:11:06.706Z","repository":{"id":151724510,"uuid":"230099595","full_name":"exiahuang/xysfdx","owner":"exiahuang","description":"xysfdx is a Rapid development tool for Salesforce SFDX Development. Support Docker, WSL, Dataloader! Metadata diff with server, retrieve standard sobject. ","archived":false,"fork":false,"pushed_at":"2025-02-08T07:37:41.000Z","size":391,"stargazers_count":11,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-16T16:03:33.031Z","etag":null,"topics":["dataloader","docker","salesforce","sfdc","sfdx-cli","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=ExiaHuang.xysfdx","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exiahuang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-25T12:25:05.000Z","updated_at":"2025-06-06T02:14:08.000Z","dependencies_parsed_at":"2023-07-11T09:32:59.481Z","dependency_job_id":"e878b697-d841-45f9-a494-181dbca46ccd","html_url":"https://github.com/exiahuang/xysfdx","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/exiahuang/xysfdx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exiahuang%2Fxysfdx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exiahuang%2Fxysfdx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exiahuang%2Fxysfdx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exiahuang%2Fxysfdx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exiahuang","download_url":"https://codeload.github.com/exiahuang/xysfdx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exiahuang%2Fxysfdx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33136156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataloader","docker","salesforce","sfdc","sfdx-cli","vscode","vscode-extension"],"created_at":"2025-11-13T05:00:32.333Z","updated_at":"2026-05-17T11:11:06.689Z","avatar_url":"https://github.com/exiahuang.png","language":"TypeScript","funding_links":[],"categories":["Table of Contents"],"sub_categories":["Plugins for Salesforce"],"readme":"# xysfdx README\n\n[xysfdx](https://github.com/exiahuang/xysfdx) is a Rapid development tool for Salesforce SFDX Development. Metadata diff with server, retrieve standard sobject.\n\n## Features\n\n-   Less than 100k\n-   Support [Dataloader v40.0.0~v47.0.0](https://github.com/exiahuang/dataloader) Export/ExportAll/Insert/Update/Upsert/Delete.\n-   Support Docker to develope sfdx . Use [exiasfdc/sfdx](https://hub.docker.com/r/exiasfdc/sfdx) docker image, no need to config, just run it.\n-   Support using WSL/git bash/Msys2/MingW64/MingW32 to develope sfdx .\n-   Authenticated with oauth2.\n-   Retrieve Metadata by select.\n-   Metadata diff with server(any sfdc organization).\n-   Retrieve standard sobject.\n-   Open sfdc link easily.\n-   Open console easily.\n-   Option Features\n    -   support Username-Password OAuth Authentication .\n    -   auto run `.apex` file after save.\n    -   auto save to sfdc server\n    -   deploy to any sfdc organization\n    -   pretty code: pretty `.cmp`, `.page`, `.component`, `.trigger`, `.cls` file\n    -   support base git command.\n    -   support [exiahuang/sfdc-cli](https://github.com/exiahuang/sfdc-cli).\n\t\n\n## Shortkey\n\nshortkey: `ctrl+shift+j`\n\n## Requirements\n\n[Salesforce Cli](https://developer.salesforce.com/ja/tools/sfdxcli)\n\n## Usage\n\n## Create a project\n\n`force:project:create`\n\n![xycode-sfdx-init-project](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xycode-sfdx-init-project.gif)\n\n## Retrieve metadata\n\n`force:source:retrieve:metadata`\n\n![xycode-sfdx-retrieve-meta](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xycode-sfdx-retrieve-meta.gif)\n\n## Diff metadata\n\n`force:source:diff:metadata`\n\nYou can diff with **any sfdc organization**.\n\n### diff source\n\n![xycode-sfdx-diff-meta](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xycode-sfdx-diff-meta.gif)\n\n### diff profile\n\n![xycode-sfdx-diff-profile-meta](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xycode-sfdx-diff-profile-meta.gif)\n\n## Authentication\n\n`force:auth:web:login`\n`force:auth:web:login:setdefaultusername`\n\n## Deploy metadata\n\n-   `force:source:deploy:metadata`\n-   `force:source:deploy:current_file`\n\n## Dataloader\n\n-   support v40.0.0~v47.0.0\n-   support CSV Export/ExportAll/Insert/Update/Upsert/Delete\n\n![xysfdx-dataloader](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-dataloader.gif)\n\n\u003e If you use docker, you can only select csv/sdl file in current workspace.\n\n\u003e TIPS: How to create sdl file ? I always use [SalesforceXyTools For Chrome](https://chrome.google.com/webstore/detail/salesforce-xytools/ehklfkbacogbanjgekccnbfdgjechlmf) to create it.\n\n\n## Option Features\n\n### How to config option features\n\nYou can also open the Settings editor from the Command Palette (`Ctrl+Shift+P`) with Preferences: Open Settings or use the keyboard shortcut (`Ctrl+,`).\n\nsearch `xysfdx`\n\n![xysfdx-setting](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-setting.png)\n\n### Build-in Option Features\n\n`xysfdx.optionFeatures` config:\n\n-   use_advanced_command: show advanced command\n-   auto_run_apex_anonymous: run `.apex` file after save it\n-   auto_save_to_sfdc: auto deploy to `.trigger`, `.cls`, `.component`, `.page` file to sfdc\n-   pretty_vf_page: pretty `.cmp`, `.page`, `.component` file\n-   pretty_apex_anonymous: pretty `.apex` file\n-   pretty_apex: pretty `.trigger`, `.cls` file\n\nconfig:\n\n```json\n{\n    \"xysfdx.optionFeatures\": [\n        // show advanced command\n        //\"use_advanced_command\",\n\n        // auto deploy to `.trigger`, `.cls`, `.component`, `.page` file to sfdc\n        // \"auto_save_to_sfdc\",\n\n        // pretty `.cmp`, `.page`, `.component` file\n        // \"pretty_vf_page\",\n\n        // pretty `.trigger`, `.cls` file\n        // \"pretty_apex\",\n\n        // run `.apex` file after save it, default active\n        \"auto_run_apex_anonymous\",\n\n        // pretty `.apex` file\n        \"pretty_apex_anonymous\",\n\t\t\n\t\t// use git \n        \"git\",\n\t\t\n\t\t// use sfdc-cli, read more: https://github.com/exiahuang/sfdc-cli\n        \"xytools\",\n        \"xytools.auto_save_to_server\",\n        \"xytools.auto_run_apex_anonymous\",\n\t\t\n    ]\n}\n```\n\n### show advanced command\n\n-   `Advanced:force:source:deploy:current_file`: Select Authenticated server and deploy file\n-   `Advanced:force:source:retrieve:current_file`: Select Authenticated server and retrieve file\n\n### auto run apex anonymous code\n\n`auto_run_apex_anonymous`\n\n![xycode-sfdx-run-apex-anonymous](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xycode-sfdx-run-apex-anonymous.gif)\n\n### auto save to sfdc server\n\n`auto_save_to_sfdc`\n\n![xysfdx-auto-save-to-sfdc](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-auto-save-to-sfdc.gif)\n\n### pretty code\n\n-   pretty_apex: pretty `.cmp`, `.page`, `.component` file\n-   pretty_vf_page: pretty `.trigger`, `.cls` file\n-   pretty_apex_anonymous : pretty `.apex` file\n\n\u003e you need to install `java` and prettier and prettier-plugin-apex\n\u003e npm install --global prettier prettier-plugin-apex\n\u003e sudo apt install openjdk-8-jdk\n\u003e read more about [prettier-plugin-apex](https://github.com/dangmai/prettier-plugin-apex)\n\n![xysfdx-pretty_apex](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-pretty_apex.gif)\n\n\n### use git\n\nset `git` option features, then use the base git command.\n\n[git config json](https://github.com/exiahuang/xysfdx/blob/master/src/conf/xysfdx.git.json)\n\n### use sfdc-cli\n\nset `xytools` option features, then use the `sfdc-cli` command.\n\n- \"xytools\" : use the `sfdc-cli` command\n- \"xytools.auto_save_to_server\": after save apex/trigger/page/component, it will auto save to sfdc server.\n- \"xytools.auto_run_apex_anonymous\": run .apex file after save.\n\n\u003e please do not use `xytools.auto_save_to_server` and `auto_save_to_server` in the same time\n\u003e please do not use `xytools.auto_run_apex_anonymous` and `auto_run_apex_anonymous` in the same time\n\nread more about `sfdc-cli`:\n\n- [sfdc-cli](https://github.com/exiahuang/sfdc-cli) is a sfdc development kit.\n- sfdc-cli is from [exiahuang/SalesforceXyTools](https://github.com/exiahuang/SalesforceXyTools)\n\n\n## For Docker user\n\n### vscode config\n\n```json\n{\n    \"xysfdx.shellMode\": \"docker\",\n    \"xysfdx.shellPath\": \"\",\n    \"xysfdx.dockerContainer\": \"${lowercaseWorkspaceName}_sfdx_1\",\n    \"xysfdx.dockerAppRoot\": \"/app/sfdx\"\n}\n```\n\n### How to use docker ?\n\n1. pull images : `docker: pull image exiasfdc/sfdx`\n\n![xysfdx-docker-image](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-docker-image.gif)\n\n2. create container : `docker: create sfdx container`\n\n![xysfdx-docker-container](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-docker-container.gif)\n\n3. use docker shell : `docker: attach docker shell`\n\n![xysfdx-docker-bash](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-docker-bash.gif)\n\nthen , use the `xysfdx` to develope sfdx.\n\n### attention\n\n-   can not use `force:auth:web:login` or `force:auth:web:login:setdefaultusername`\n-   use `xy:auth:username:login` to auth\n\n## For Windows user\n\nuse wsl/git bash/Msys2 bash to develope sfdx.\n\n### Open cmd/wsl/bash\n\n![xysfdx-open-wsl.png](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-open-wsl.png)\n\n![xysfdx-open-wsl](https://raw.githubusercontent.com/exiahuang/xycode-doc/gh-pages/images/xysfdx-open-wsl.gif)\n\n### use wsl\n\nopen `wslmode`\n\n```json\n{\n    \"xysfdx.shellMode\": \"wsl\",\n    \"xysfdx.shellPath\": \"C:\\\\Windows\\\\System32\\\\bash.exe\"\n}\n```\n\n### use msys2 bash\n\n```json\n{\n    \"xysfdx.shellMode\": \"bash\",\n    \"xysfdx.shellPath\": \"C:\\\\msys64\\\\usr\\\\bin\\\\bash.exe\"\n}\n```\n\n### use git bash\n\n```json\n{\n    \"xysfdx.shellMode\": \"bash\",\n    \"xysfdx.shellPath\": \"C:\\\\Program Files\\\\Git\\\\usr\\\\bin\\\\bash.exe\"\n}\n```\n\n**Enjoy it!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexiahuang%2Fxysfdx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexiahuang%2Fxysfdx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexiahuang%2Fxysfdx/lists"}