{"id":22382262,"url":"https://github.com/googleinterns/filesystem-in-appsscript","last_synced_at":"2025-08-01T09:39:52.492Z","repository":{"id":103689157,"uuid":"267486957","full_name":"googleinterns/filesystem-in-appsscript","owner":"googleinterns","description":null,"archived":false,"fork":false,"pushed_at":"2020-07-24T08:10:47.000Z","size":510,"stargazers_count":5,"open_issues_count":11,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T18:50:40.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googleinterns.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/code-of-conduct.md","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}},"created_at":"2020-05-28T03:46:07.000Z","updated_at":"2023-04-15T11:20:40.000Z","dependencies_parsed_at":"2023-07-06T21:15:40.065Z","dependency_job_id":null,"html_url":"https://github.com/googleinterns/filesystem-in-appsscript","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/googleinterns/filesystem-in-appsscript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Ffilesystem-in-appsscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Ffilesystem-in-appsscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Ffilesystem-in-appsscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Ffilesystem-in-appsscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googleinterns","download_url":"https://codeload.github.com/googleinterns/filesystem-in-appsscript/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleinterns%2Ffilesystem-in-appsscript/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267983365,"owners_count":24176058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-12-05T00:12:20.711Z","updated_at":"2025-07-31T03:31:39.176Z","avatar_url":"https://github.com/googleinterns.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Local filesystem emulation in Apps Script\n\nExcel macros can access any file in the local filesystem. There are numerous APIs \nto interact with the filesystem like reading a text file, opening a workbook etc.\nApps Script can access files on Google Drive but not the user's local filesystem. \nAutomatically converting code that uses these APIs is challenging as we cannot \ndetermine which file in local filesystem is mapped to which one on Drive (if any).\n\nGOALS\nAn Apps Script library that emulates the local filesystem using Drive APIs.\nConfiguration where users can add mapping between local filesystem and Google Drive \nfile / folder. Prompt user to select folder / file in case there is no mapping \nprovided and store the selection for use in future runs\n\nSPECIFICATIONS\nHave a configuration (preferably a jSON object) like as shown below\n[\n{originalPath: \"C:\\Data\\xyz.xlsm\", drivePath: \"My Drive/abc.xlsm\"},\n{originalPath: \"C:\\data_files\\\", drivePath: \"My Drive/excel/data/\"},\n]\n\nAdd a way to verify that the configuration is correct, i.e. the drive paths mentioned \nexist and in case the original path represents an Excel file then ensure drive Path \nis an equivalent Sheets file.\n\nLanguage needed: Javascript\nSpecial Resources: None\n\n\n\n## Source Code Headers\n\nEvery file containing source code must include copyright and license\ninformation. This includes any JS/CSS files that you might be serving out to\nbrowsers. (This is to help well-intentioned people avoid accidental copying that\ndoesn't comply with the license.)\n\nApache header:\n\n    Copyright 2020 Google LLC\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        https://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleinterns%2Ffilesystem-in-appsscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleinterns%2Ffilesystem-in-appsscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleinterns%2Ffilesystem-in-appsscript/lists"}