Skip to content

Instantly share code, notes, and snippets.

@peterflynn
Last active December 21, 2015 14:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterflynn/6323175 to your computer and use it in GitHub Desktop.
Save peterflynn/6323175 to your computer and use it in GitHub Desktop.
Various require() use cases with proposed new Brackets module loader (https://github.com/adobe/brackets/wiki/Extension-API-Research)
/*jslint vars: true, plusplus: true, devel: true, nomen: true, indent: 4 */
/*global exports, require */
(function () {
"use strict";
var CommandManager = require("command/CommandManager"),
Menus = require("command/Menus");
function handleCoreCommand() {
// ...
}
function usefulCoreAPI() {
// ...
}
// Register command
var COMMAND_ID = "brackets.foo";
CommandManager.register("Foo", COMMAND_ID, handleCoreCommand);
// Create menu item
Menus.getMenu(Menus.AppMenuBar.FILE_MENU).addMenuItem(COMMAND_ID);
// Expose an API - usable by other core modules & any extensions
exports.usefulCoreAPI = usefulCoreAPI;
}());
/*jshint globalstrict: true, vars: true, plusplus: true, devel: true, nomen: true, indent: 4 */
/*global exports, require */
"use strict";
var CommandManager = require("command/CommandManager"),
Menus = require("command/Menus");
function handleCoreCommand() {
// ...
}
function usefulCoreAPI() {
// ...
}
// Register command
var COMMAND_ID = "brackets.foo";
CommandManager.register("Foo", COMMAND_ID, handleCoreCommand);
// Create menu item
Menus.getMenu(Menus.AppMenuBar.FILE_MENU).addMenuItem(COMMAND_ID);
// Expose an API - usable by other core modules & any extensions
exports.usefulCoreAPI = usefulCoreAPI;
{
"name": "pflynn.bar",
"title": "Bar Extension",
"author": "Peter Flynn",
"version": "1.0.0",
"engines": { "brackets": ">= 0.30" },
"peerDependencies": {
"gruehle.someotherextension": "1.x"
},
"description": "Does something really awesome called 'Foo'"
}
/*jslint vars: true, plusplus: true, devel: true, nomen: true, indent: 4 */
/*global exports, require */
(function () {
"use strict";
// Load core modules
var CommandManager = require("command/CommandManager"),
Menus = require("command/Menus");
// Other modules within same extension
var MyUtils = require("./utils/MyUtils");
// Load modules from other extension
// Only works if dependency is declared in package.json!
var BazService = require("gruehle.someotherextension/utils/BazService");
function handleExtensionCommand() {
// ...
}
function barService() {
// ...
}
// Register command
var COMMAND_ID = "pflynn.bar";
CommandManager.register("Bar", COMMAND_ID, handleExtensionCommand);
// Create menu item
Menus.getMenu(Menus.AppMenuBar.FILE_MENU).addMenuItem(COMMAND_ID);
// Expose an API - usable by other extensions
exports.barService = barService;
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment