Skip to content

Instantly share code, notes, and snippets.

@ziadkh0
Last active December 19, 2015 23:49
Show Gist options
  • Save ziadkh0/6037092 to your computer and use it in GitHub Desktop.
Save ziadkh0/6037092 to your computer and use it in GitHub Desktop.
{
// The name of this extension MUST BE *UNIQUE*.
// @type {String}
"name": "name_of_extension",
// The discription of this extension.
// @type {String}
"description": "An example extension",
// The version of this extension.
// @type {String}
"version": "1.0.0",
// The version ok Koala required for this extension
// @type {String}
// @optional
// @default "*" (any)
"koala_version": ">=1.5.0",
// A version of the properties for displaying.
// @optional
"display_name": "MyExtension",
// The author info.
// @type {Array.<Object>|Object}
// @optional
"maintainers": {
"name": "",
"email": "",
"web": "",
"project": "http://github.com/..."
},
// The compilers defined by this package.
// @type {Array.<Compiler>|Compiler}
// @optional
"compilers": {
// Compiler name MUST BE *UNIQUE*.
// @type {String}
"name": "my",
// Version of the compiler *being used internally*.
// @type {String}
"compiler_version": "1.2.3",
// The relative path to the compiler class, relative to this file.
// @type {String}
"class_path": "MyCompiler.js",
// The file types used by this compiler.
// @type {Array.<FileType>|FileType}
// @optional
"file_types": {
// File type name MUST BE *UNIQUE*.
// @type {String}
"name": "my",
// The extensions this type *uses*.
// @type {Array.<String>|String}
// @note *NB:* All extensions do *NOT* start with a dot (e.g. '.txt' should be 'txt').
"extensions": ["my", "me"],
// The icons to use.
// @type {Array.<String>|String}
// @optional
// @default: "`name`.png"
"icons": ["my.png"]
},
// The output extensions that this compiler generates.
// @type {Array.<String>|String}
// @note Should have the *same number* of elements as `fileTypes`.
// @note *NB:* All extensions do *NOT* start with a dot (e.g. '.txt' should be 'txt').
"output_extensions": "txt",
// Specifies if this compiler uses the system command.
// @type {boolean}
// @optional
// @default false
"use_system_command": false,
// The list of options for this compiler.
// @type {Array.<Object>|Object}
// @optional
"options": {
// The type of this option
// @type {Enum.<String>}
// @values ["single", "multiple"]
"type": "single",
// The name of this option
// @type {String}
"name": "lineComments",
// The displayed name of this option.
// @type {String}
// @optional
// @default `name`
"display": "line comments",
// The possible values of this option.
// @type {Array.<(Object|String)>}
// @warn **ONLY APPLICABLE** if `type` is "multiple", otherwise it will be ignored.
"values": {
// The value
// @type {String}
"value": "",
// The displayed value
// @type {String}
// @optional
// @default `value`
"display": "normal"
},
// The default value of this option.
// @type {boolean|String}
// @note Use 'boolean' if `type` is "single", use 'String' if `type` is "multiple".
"default": false
}
}
}
@ziadkh0
Copy link
Author

ziadkh0 commented Jul 20, 2013

@oklai
What do think about this package format?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment