forked from phcode-dev/staging.phcode.dev
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathextensionDevelopment.js
More file actions
1 lines (1 loc) · 2.25 KB
/
Copy pathextensionDevelopment.js
File metadata and controls
1 lines (1 loc) · 2.25 KB
1
define(function(require,exports,module){const ProjectManager=brackets.getModule("project/ProjectManager"),Commands=brackets.getModule("command/Commands"),CommandManager=brackets.getModule("command/CommandManager"),Strings=brackets.getModule("strings"),StringUtils=brackets.getModule("utils/StringUtils"),DocumentManager=brackets.getModule("document/DocumentManager"),DefaultDialogs=brackets.getModule("widgets/DefaultDialogs"),Dialogs=brackets.getModule("widgets/Dialogs"),UrlParams=brackets.getModule("utils/UrlParams").UrlParams,FileSystem=brackets.getModule("filesystem/FileSystem");function _showError(message,title=Strings.ERROR_LOADING_EXTENSION){Dialogs.showModalDialog(DefaultDialogs.DIALOG_ID_ERROR,title,message)}function _validatePackageJson(docText){try{let packageJson=JSON.parse(docText),requiredFields=["name","title","description","homepage","version","author","license","engines"],missingFields=[];for(let requiredField of requiredFields)packageJson[requiredField]||missingFields.push(requiredField);return packageJson.engines&&!packageJson.engines.brackets&&missingFields.push('engines:{"brackets": ">=2.0.0"}'),!missingFields.length||(_showError(StringUtils.format(Strings.ERROR_INVALID_EXTENSION_PACKAGE_FIELDS,missingFields)),!1)}catch(e){return console.log("Cannot load extension",Strings.ERROR_INVALID_EXTENSION_PACKAGE),_showError(Strings.ERROR_INVALID_EXTENSION_PACKAGE),!1}}function loadCurrentExtension(){const projectRoot=ProjectManager.getProjectRoot().fullPath,file=FileSystem.getFileForPath(projectRoot+"package.json");DocumentManager.getDocumentText(file).done(function(docText){console.log(docText),_validatePackageJson(docText)&&CommandManager.execute(Commands.APP_RELOAD,!1,projectRoot)}).fail(err=>{console.log("No extension package.json in ",file.fullPath,err),Dialogs.showModalDialog(DefaultDialogs.DIALOG_ID_ERROR,Strings.ERROR_LOADING_EXTENSION,Strings.ERROR_NO_EXTENSION_PACKAGE)})}function unloadCurrentExtension(){CommandManager.execute(Commands.APP_RELOAD,!1,[])}function isProjectLoadedAsExtension(){const params=new UrlParams;return params.parse(),!!params.get("loadDevExtensionPath")}exports.loadCurrentExtension=loadCurrentExtension,exports.unloadCurrentExtension=unloadCurrentExtension,exports.isProjectLoadedAsExtension=isProjectLoadedAsExtension});