You've already forked MenuGraphr
mirror of
https://github.com/FullScreenShenanigans/MenuGraphr.git
synced 2026-04-28 13:02:13 -07:00
Updated TS to two-step builds (source & combined)
This commit is contained in:
+1
-3
@@ -1,7 +1,5 @@
|
||||
Distribution
|
||||
Distribution/**
|
||||
Build/**
|
||||
Source/**/*.js
|
||||
Source/**/*.md
|
||||
Source/**/*.txt
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
|
||||
+65
-40
@@ -4,53 +4,82 @@ module.exports = function (grunt) {
|
||||
"meta": {
|
||||
"paths": {
|
||||
"source": "Source",
|
||||
"build": "Build",
|
||||
"dist": "Distribution"
|
||||
}
|
||||
},
|
||||
"tslint": {
|
||||
"options": {
|
||||
"configuration": grunt.file.readJSON("tslint.json")
|
||||
},
|
||||
"files": {
|
||||
"src": ["<%= meta.paths.source %>/<%= pkg.name %>.ts"]
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
"base": {
|
||||
"src": "<%= meta.paths.source %>/<%= pkg.name %>.ts",
|
||||
"dest": "<%= meta.paths.source %>/<%= pkg.name %>.js"
|
||||
}
|
||||
},
|
||||
"clean": ["<%= meta.paths.dist %>"],
|
||||
"copy": {
|
||||
"default": {
|
||||
"options": {
|
||||
"configuration": grunt.file.readJSON("tslint.json")
|
||||
},
|
||||
"files": {
|
||||
"src": ["<%= meta.paths.source %>/*.ts"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"clean": {
|
||||
"prebuild": [
|
||||
"<%= meta.paths.dist %>",
|
||||
"<%= meta.paths.build %>"
|
||||
],
|
||||
"postbuild": [
|
||||
"<%= meta.paths.dist %>/<%= pkg.name %>.js",
|
||||
"<%= meta.paths.build %>"
|
||||
]
|
||||
},
|
||||
"copy": {
|
||||
"prebuild": {
|
||||
"files": [{
|
||||
"src": "<%= meta.paths.source %>/<%= pkg.name %>.js",
|
||||
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.js"
|
||||
"src": "<%= meta.paths.source %>/*.ts",
|
||||
"dest": "<%= meta.paths.build %>/",
|
||||
"expand": true,
|
||||
"flatten": true
|
||||
}, {
|
||||
"src": "<%= meta.paths.source %>/<%= pkg.name %>.ts",
|
||||
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts"
|
||||
}, {
|
||||
"src": "<%= meta.paths.source %>/<%= pkg.name %>.d.ts",
|
||||
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.d.ts"
|
||||
"dest": "<%= meta.paths.build %>/",
|
||||
"expand": true,
|
||||
"flatten": true,
|
||||
"rename": function (dest, src) {
|
||||
return dest + "/<%= pkg.name %>-<%= pkg.version %>.ts";
|
||||
}
|
||||
}, {
|
||||
"src": "<%= meta.paths.source %>/References/*.ts",
|
||||
"dest": "<%= meta.paths.build %>",
|
||||
"expand": true,
|
||||
"flatten": true
|
||||
}, {
|
||||
"src": "<%= meta.paths.source %>/References/*.?s",
|
||||
"dest": "<%= meta.paths.dist %>/",
|
||||
"expand": true,
|
||||
"flatten": true
|
||||
}, {
|
||||
"src": "README.md",
|
||||
"dest": "<%= meta.paths.dist %>/"
|
||||
}, {
|
||||
"src": "README.md",
|
||||
"dest": "<%= meta.paths.source %>/"
|
||||
}, {
|
||||
"src": "LICENSE.txt",
|
||||
"dest": "<%= meta.paths.dist %>/"
|
||||
}, {
|
||||
"src": "LICENSE.txt",
|
||||
"dest": "<%= meta.paths.source %>/"
|
||||
}]
|
||||
},
|
||||
"distribution": {
|
||||
"files": [{
|
||||
"src": "<%= meta.paths.source %>/<%= pkg.name %>.js",
|
||||
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.js"
|
||||
}]
|
||||
}
|
||||
},
|
||||
"preprocess": {
|
||||
"default": {
|
||||
"src": "<%= meta.paths.build %>/<%= pkg.name %>.ts",
|
||||
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts"
|
||||
}
|
||||
},
|
||||
"typescript": {
|
||||
"source": {
|
||||
"src": "<%= meta.paths.source %>/*.ts"
|
||||
},
|
||||
"distribution": {
|
||||
"src": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts"
|
||||
}
|
||||
},
|
||||
"uglify": {
|
||||
@@ -58,31 +87,27 @@ module.exports = function (grunt) {
|
||||
"compress": true,
|
||||
"sourceMap": true
|
||||
},
|
||||
"dist": {
|
||||
"default": {
|
||||
"files": {
|
||||
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.min.js": ["<%= meta.paths.source %>/<%= pkg.name %>.js"],
|
||||
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.min.js": [
|
||||
"<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"preprocess": {
|
||||
"dist": {
|
||||
"src": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts",
|
||||
"dest": "<%= meta.paths.dist %>/<%= pkg.name %>-<%= pkg.version %>.ts"
|
||||
}
|
||||
},
|
||||
"mocha_phantomjs": {
|
||||
"all": ["Tests/*.html"]
|
||||
"default": ["Tests/*.html"]
|
||||
}
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks("grunt-tslint");
|
||||
grunt.loadNpmTasks("grunt-contrib-clean");
|
||||
grunt.loadNpmTasks("grunt-contrib-copy");
|
||||
grunt.loadNpmTasks("grunt-preprocess");
|
||||
grunt.loadNpmTasks("grunt-typescript");
|
||||
grunt.loadNpmTasks("grunt-contrib-uglify");
|
||||
grunt.loadNpmTasks("grunt-mocha-phantomjs");
|
||||
grunt.loadNpmTasks("grunt-preprocess");
|
||||
grunt.loadNpmTasks("grunt-tslint");
|
||||
grunt.loadNpmTasks("grunt-typescript");
|
||||
grunt.registerTask("default", [
|
||||
"tslint", "typescript", "clean", "copy", "uglify", "preprocess", "mocha_phantomjs"
|
||||
"tslint", "clean", "copy:prebuild", "preprocess", "typescript:source", "copy:distribution", "typescript:distribution", "clean:postbuild", "uglify", "mocha_phantomjs"
|
||||
]);
|
||||
};
|
||||
Vendored
+55
-28
@@ -1,14 +1,13 @@
|
||||
declare module MenuGraphr {
|
||||
export interface IGameStartr extends EightBittr.IEightBittr {
|
||||
GroupHolder: GroupHoldr.IGroupHoldr;
|
||||
ItemsHolder: ItemsHoldr.IItemsHoldr;
|
||||
MapScreener: MapScreenr.IMapScreenr;
|
||||
ObjectMaker: ObjectMakr.IObjectMakr;
|
||||
TimeHandler: TimeHandlr.ITimeHandlr;
|
||||
addThing(thing: IThing | string | any[], left?: number, top?: number): IThing;
|
||||
killNormal(thing: IThing): void;
|
||||
setHeight(thing: IThing, height: number);
|
||||
setWidth(thing: IThing, width: number);
|
||||
setHeight(thing: IThing, height: number): void;
|
||||
setWidth(thing: IThing, width: number): void;
|
||||
}
|
||||
|
||||
export interface IThing extends EightBittr.IThing {
|
||||
@@ -23,8 +22,10 @@ declare module MenuGraphr {
|
||||
|
||||
export interface IMenu extends IThing, IMenuSchema {
|
||||
children: IThing[];
|
||||
height: number;
|
||||
progress?: IMenuProgress;
|
||||
textX?: number;
|
||||
width: number;
|
||||
}
|
||||
|
||||
export interface IMenuProgress {
|
||||
@@ -33,21 +34,44 @@ declare module MenuGraphr {
|
||||
working?: boolean;
|
||||
}
|
||||
|
||||
export interface IListMenu extends IMenu {
|
||||
export interface IListMenu extends IListMenuSchema, IMenu {
|
||||
arrow: IThing;
|
||||
arrowXOffset?: number;
|
||||
arrowYOffset?: number;
|
||||
grid: any[][];
|
||||
grid: IGridCell[][];
|
||||
gridColumns: number;
|
||||
gridRows: number;
|
||||
height: number;
|
||||
options: any[];
|
||||
optionChildren: any;
|
||||
progress: IListMenuProgress;
|
||||
scrollingAmount?: number;
|
||||
scrollingAmountReal?: number;
|
||||
scrollingItems?: number;
|
||||
|
||||
/**
|
||||
* How many rows the menu has visually scrolled.
|
||||
*/
|
||||
scrollingVisualOffset?: number;
|
||||
|
||||
/**
|
||||
* Whether the list should be a single column, rather than auto-flow.
|
||||
*/
|
||||
singleColumnList: boolean;
|
||||
|
||||
selectedIndex: number[];
|
||||
textColumnWidth: number;
|
||||
width: number;
|
||||
}
|
||||
|
||||
export interface IGridCell {
|
||||
column: IGridCell[];
|
||||
columnNumber: number;
|
||||
index: number;
|
||||
rowNumber: number;
|
||||
// These two will likely need to be confirmed...
|
||||
schema: (string | IMenuWordCommand)[];
|
||||
text: (string | IMenuWordCommand)[];
|
||||
title: string;
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
|
||||
export interface IListMenuOptions {
|
||||
@@ -74,6 +98,7 @@ declare module MenuGraphr {
|
||||
deleteOnFinish?: boolean;
|
||||
finishAutomatically?: boolean;
|
||||
finishAutomaticSpeed?: number;
|
||||
height?: number;
|
||||
ignoreA?: boolean;
|
||||
ignoreB?: boolean;
|
||||
ignoreProgressB?: boolean;
|
||||
@@ -101,12 +126,18 @@ declare module MenuGraphr {
|
||||
textWidthMultiplier?: number;
|
||||
textXOffset?: number;
|
||||
textYOffset?: number;
|
||||
width?: number;
|
||||
}
|
||||
|
||||
export interface IMenuSchema extends IMenuBase {
|
||||
position?: IMenuSchemaPosition;
|
||||
}
|
||||
|
||||
export interface IListMenuSchema extends IMenuSchema {
|
||||
scrollingItems?: number;
|
||||
scrollingItemsComputed?: boolean | number;
|
||||
}
|
||||
|
||||
export interface IMenuSchemaSize {
|
||||
width?: number;
|
||||
height?: number;
|
||||
@@ -127,8 +158,9 @@ declare module MenuGraphr {
|
||||
}
|
||||
|
||||
export interface IMenuChildSchema extends IMenuSchema {
|
||||
name?: string;
|
||||
type: string;
|
||||
words?: (string | IMenuWordCommand)[];
|
||||
words?: MenuDialogRaw;
|
||||
}
|
||||
|
||||
export interface IMenuChildMenuSchema extends IMenuChildSchema {
|
||||
@@ -143,7 +175,7 @@ declare module MenuGraphr {
|
||||
}
|
||||
|
||||
export interface IMenuThingSchema extends IMenuChildSchema {
|
||||
args: any;
|
||||
args?: any;
|
||||
position?: IMenuSchemaPosition;
|
||||
size?: IMenuSchemaSize;
|
||||
thing: string;
|
||||
@@ -154,7 +186,7 @@ declare module MenuGraphr {
|
||||
word?: string;
|
||||
}
|
||||
|
||||
export type MenuDialogRaw = string | (string | string[] | (string | string[])[] | IMenuWordCommand)[]
|
||||
export type MenuDialogRaw = string | (string | string[] | (string | string[])[] | IMenuWordFiltered)[]
|
||||
|
||||
export interface IMenuWordCommand extends IMenuWordFiltered {
|
||||
applyUnitsize?: boolean;
|
||||
@@ -163,7 +195,7 @@ declare module MenuGraphr {
|
||||
value: any;
|
||||
}
|
||||
|
||||
export interface IMenuWordPadLeftCommand extends IMenuWordCommand {
|
||||
export interface IMenuWordPadLeftCommand extends IMenuWordFiltered {
|
||||
alignRight?: boolean;
|
||||
}
|
||||
|
||||
@@ -182,6 +214,14 @@ declare module MenuGraphr {
|
||||
paddingY: number;
|
||||
}
|
||||
|
||||
export interface IReplacements {
|
||||
[i: string]: string[] | IReplacerFunction;
|
||||
}
|
||||
|
||||
export interface IReplacerFunction {
|
||||
(GameStarter: IGameStartr): string[];
|
||||
}
|
||||
|
||||
export interface IMenuGraphrSettings {
|
||||
GameStarter: IGameStartr;
|
||||
schemas?: {
|
||||
@@ -190,14 +230,8 @@ declare module MenuGraphr {
|
||||
aliases?: {
|
||||
[i: string]: string;
|
||||
};
|
||||
replacements?: {
|
||||
[i: string]: string;
|
||||
};
|
||||
replacements?: IReplacements;
|
||||
replacerKey?: string;
|
||||
replaceFromItemsHolder?: boolean;
|
||||
replacementStatistics?: {
|
||||
[i: string]: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IMenuGraphr {
|
||||
@@ -205,9 +239,9 @@ declare module MenuGraphr {
|
||||
getMenu(name: string): IMenu;
|
||||
getExistingMenu(name: string): IMenu;
|
||||
getAliases(): { [i: string]: string };
|
||||
getReplacements(): { [i: string]: string };
|
||||
getReplacements(): IReplacements;
|
||||
createMenu(name: string, attributes?: IMenuSchema): IMenu;
|
||||
createChild(name: string, schema: IMenuChildSchema): void;
|
||||
createMenuChild(name: string, schema: IMenuChildSchema): void;
|
||||
createMenuWord(name: string, schema: IMenuWordSchema): void;
|
||||
createMenuThing(name: string, schema: IMenuThingSchema): IThing;
|
||||
hideMenu(name: string): void;
|
||||
@@ -223,13 +257,6 @@ declare module MenuGraphr {
|
||||
skipAdd?: boolean): void;
|
||||
addMenuDialog(name: string, dialogRaw: MenuDialogRaw, onCompletion?: () => any): void;
|
||||
addMenuText(name: string, words: (string[] | IMenuWordCommand)[], onCompletion?: (...args: any[]) => void): void;
|
||||
addMenuWords(
|
||||
name: string,
|
||||
words: (string[] | IMenuWordCommand)[],
|
||||
i: number,
|
||||
x: number,
|
||||
y: number,
|
||||
onCompletion?: (...args: any[]) => void): IThing[];
|
||||
continueMenu(name: string): void;
|
||||
addMenuList(name: string, settings: IListMenuOptions): void;
|
||||
activateMenuList(name: string): void;
|
||||
|
||||
+209
-210
File diff suppressed because it is too large
Load Diff
+4
-4
@@ -22,11 +22,11 @@
|
||||
"grunt-contrib-copy": "~0.8.X",
|
||||
"grunt-contrib-uglify": "~0.8.X",
|
||||
"grunt-mocha-phantomjs": "~2.X",
|
||||
"grunt-tslint": "~2.4.X",
|
||||
"grunt-typescript": "~0.7.X",
|
||||
"grunt-tslint": "~3.0.X",
|
||||
"grunt-typescript": "~0.8.X",
|
||||
"mocha": "~2.2.X",
|
||||
"grunt-preprocess": "~4.1.X",
|
||||
"tslint": "~2.4.X",
|
||||
"typescript": "~1.6.X"
|
||||
"tslint": "~3.2.X",
|
||||
"typescript": "~1.7.X"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user