Browse Source

Merge branch 'pr/1706'

pull/1636/merge
Ramiro Saenz 7 years ago
parent
commit
b0ca419dc7
  1. 1
      .gitignore
  2. 82
      .sencha/app/Boot.js
  3. 17
      .sencha/app/Microloader.js
  4. 4
      .sencha/app/app.defaults.json
  5. 33
      .sencha/app/build-impl.xml
  6. 74
      .sencha/app/defaults.properties
  7. 65
      .sencha/app/init-impl.xml
  8. 115
      .sencha/app/js-impl.xml
  9. 4
      .sencha/app/native.defaults.properties
  10. 4
      .sencha/app/package.defaults.properties
  11. 62
      .sencha/app/page-impl.xml
  12. 29
      .sencha/app/refresh-impl.xml
  13. 205
      .sencha/app/sass-impl.xml
  14. 3
      .sencha/app/sencha.cfg
  15. 35
      .sencha/app/slice-impl.xml
  16. 59
      .sencha/app/watch-impl.xml
  17. 2
      app/package.json
  18. 2
      electron/main.js
  19. 2769
      package-lock.json
  20. 16
      package.json
  21. 7
      workspace.json

1
.gitignore vendored

@ -25,6 +25,7 @@ Thumbs.db
bootstrap.js bootstrap.js
bootstrap.css bootstrap.css
bootstrap.json bootstrap.json
bootstrap.jsonp
# Electron # Electron
node_modules/ node_modules/

82
.sencha/app/Boot.js

@ -537,9 +537,33 @@ Ext.Boot = Ext.Boot || (function (emptyFn) {
init: function () { init: function () {
var scriptEls = doc.getElementsByTagName('script'), var scriptEls = doc.getElementsByTagName('script'),
script = scriptEls[0],
len = scriptEls.length, len = scriptEls.length,
re = /\/ext(\-[a-z\-]+)?\.js$/, re = /\/ext(\-[a-z\-]+)?\.js$/,
entry, script, src, state, baseUrl, key, n, origin; entry, src, state, baseUrl, key, n, origin;
// No check for script definedness because there always should be at least one
Boot.hasReadyState = ("readyState" in script);
Boot.hasAsync = ("async" in script);
Boot.hasDefer = ("defer" in script);
Boot.hasOnLoad = ("onload" in script);
// Feature detecting IE
Boot.isIE8 = Boot.hasReadyState && !Boot.hasAsync && Boot.hasDefer && !Boot.hasOnLoad;
Boot.isIE9 = Boot.hasReadyState && !Boot.hasAsync && Boot.hasDefer && Boot.hasOnLoad;
Boot.isIE10p = Boot.hasReadyState && Boot.hasAsync && Boot.hasDefer && Boot.hasOnLoad;
if (Boot.isIE8) {
Boot.isIE10 = false;
Boot.isIE10m = true;
}
else {
Boot.isIE10 = (new Function('/*@cc_on return @_jscript_version @*/')()) === 10;
Boot.isIE10m = Boot.isIE10 || Boot.isIE9 || Boot.isIE8;
}
// IE11 does not support conditional compilation so we detect it by exclusion
Boot.isIE11 = Boot.isIE10p && !Boot.isIE10;
// Since we are loading after other scripts, and we needed to gather them // Since we are loading after other scripts, and we needed to gather them
// anyway, we track them in _scripts so we don't have to ask for them all // anyway, we track them in _scripts so we don't have to ask for them all
@ -552,12 +576,8 @@ Ext.Boot = Ext.Boot || (function (emptyFn) {
state = script.readyState || null; state = script.readyState || null;
// If we find a script file called "ext-*.js", then the base path is that file's base path. // If we find a script file called "ext-*.js", then the base path is that file's base path.
if (!baseUrl) { if (!baseUrl && re.test(src)) {
if (re.test(src)) { baseUrl = src;
Boot.hasReadyState = ("readyState" in script);
Boot.hasAsync = ("async" in script) || !Boot.hasReadyState;
baseUrl = src;
}
} }
if (!Boot.scripts[key = Boot.canonicalUrl(src)]) { if (!Boot.scripts[key = Boot.canonicalUrl(src)]) {
@ -578,8 +598,6 @@ Ext.Boot = Ext.Boot || (function (emptyFn) {
if (!baseUrl) { if (!baseUrl) {
script = scriptEls[scriptEls.length - 1]; script = scriptEls[scriptEls.length - 1];
baseUrl = script.src; baseUrl = script.src;
Boot.hasReadyState = ('readyState' in script);
Boot.hasAsync = ("async" in script) || !Boot.hasReadyState;
} }
Boot.baseUrl = baseUrl.substring(0, baseUrl.lastIndexOf('/') + 1); Boot.baseUrl = baseUrl.substring(0, baseUrl.lastIndexOf('/') + 1);
@ -1394,27 +1412,36 @@ Ext.Boot = Ext.Boot || (function (emptyFn) {
createLoadElement: function(callback) { createLoadElement: function(callback) {
var me = this, var me = this,
el = me.getElement(), el = me.getElement();
readyStateChange = function(){
me.preserve = true;
el.onerror = function() {
me.error = true;
if (callback) {
callback();
callback = null;
}
};
if (Boot.isIE10m) {
el.onreadystatechange = function() {
if (this.readyState === 'loaded' || this.readyState === 'complete') { if (this.readyState === 'loaded' || this.readyState === 'complete') {
if(callback) { if (callback) {
callback(); callback();
callback = this.onreadystatechange = this.onerror = null;
} }
} }
},
errorFn = function() {
me.error = true;
if(callback) {
callback();
}
}; };
me.preserve = true;
el.onerror = errorFn;
if(Boot.hasReadyState) {
el.onreadystatechange = readyStateChange;
} else {
el.onload = callback;
} }
else {
el.onload = function() {
callback();
callback = this.onload = this.onerror = null;
};
}
// IE starts loading here // IE starts loading here
el[me.prop] = me.getLoadUrl(); el[me.prop] = me.getLoadUrl();
}, },
@ -1541,8 +1568,11 @@ Ext.Boot = Ext.Boot || (function (emptyFn) {
// for async modes, we have some options // for async modes, we have some options
if (!sync) { if (!sync) {
// if cross domain, just inject the script tag and let the onload // if cross domain, just inject the script tag and let the onload
// events drive the progression // events drive the progression.
if(me.isCrossDomain()) { // IE10 also needs sequential loading because of a bug that makes it
// fire readystate event prematurely:
// https://connect.microsoft.com/IE/feedback/details/729164/ie10-dynamic-script-element-fires-loaded-readystate-prematurely
if (Boot.isIE10 || me.isCrossDomain()) {
return me.loadCrossDomain(); return me.loadCrossDomain();
} }
// for IE, use the readyStateChange allows us to load scripts in parallel // for IE, use the readyStateChange allows us to load scripts in parallel

17
.sencha/app/Microloader.js

@ -51,15 +51,24 @@ Ext.Microloader = Ext.Microloader || (function () {
? manifest ? manifest
: manifest + ".json"; : manifest + ".json";
Boot.fetch(url, function(result){ if (location.href.indexOf('file:/') === 0) {
manifest = Ext.manifest = JSON.parse(result.content); Boot.load(url + 'p');
Microloader.load(manifest); }
}); else {
Boot.fetch(url, function(result){
Microloader.setManifest(JSON.parse(result.content));
});
}
} else { } else {
Microloader.load(manifest); Microloader.load(manifest);
} }
}, },
setManifest: function(cfg) {
manifest = Ext.manifest = cfg;
Microloader.load(manifest);
},
/** /**
* *
* @param manifestDef * @param manifestDef

4
.sencha/app/app.defaults.json

@ -135,7 +135,7 @@
*/ */
"production": { "production": {
"compressor": { "compressor": {
"type": "yui" "type": "cmd"
} }
}, },
@ -170,7 +170,7 @@
* to adjust the base path for all bootstrap objects, or expanded into object form: * to adjust the base path for all bootstrap objects, or expanded into object form:
* *
* "bootstrap": { * "bootstrap": {
* "base": "${app.dir}, * "base": "${app.dir}",
* "manifest": "bootstrap.json", * "manifest": "bootstrap.json",
* "microloader": "bootstrap.js", * "microloader": "bootstrap.js",
* "css": "bootstrap.css" * "css": "bootstrap.css"

33
.sencha/app/build-impl.xml

@ -244,9 +244,15 @@ this file in most cases.
<target name="watch" <target name="watch"
depends="-watch-init,development,init" depends="-watch-init,development,init"
description="Starts Watch to keep your app ready for dev mode"> description="Starts Watch to keep your app ready for dev mode">
<local name="watch.lock.file"/>
<condition property="watch.lock.file" value="${build.id}.watch.lock">
<isset property="build.id"/>
</condition>
<property name="watch.lock.file" value="app.watch.lock"/>
<x-ant-call> <x-ant-call>
<param name="build.id" value="${build.id}"/> <param name="build.id" value="${build.id}"/>
<param name="build.name" value="${build.name}"/> <param name="build.name" value="${build.name}"/>
<param name="watch.lock.file" value="${build.dir}/${watch.lock.file}"/>
<target name="-before-watch"/> <target name="-before-watch"/>
<target name="-watch"/> <target name="-watch"/>
<target name="-after-watch"/> <target name="-after-watch"/>
@ -463,6 +469,33 @@ this file in most cases.
depends="init,-before-publish,-publish,-after-publish" depends="init,-before-publish,-publish,-after-publish"
description="Publish app to Sencha Web Application Manager"/> description="Publish app to Sencha Web Application Manager"/>
<!--
===============================================================
Build Dependencies
uses the compiler to build metadata files for all detected
file-to-file dependencies
===============================================================
-->
<target name="build-dependencies" depends="init, -detect-app-build-properties">
<x-compile refid="${compiler.ref.id}">
<![CDATA[
restore
page
and
meta
-infoType=Dependencies
-basePath=${build.dir}
-tpl={0}
-out=${build.dir}/dependencies.json
and
meta
-infoType=AppManifest
-basePath=${build.dir}
-tpl={0}
-out=${build.dir}/bootsequence.json
]]>
</x-compile>
</target>
<!-- <!--
=============================================================== ===============================================================

74
.sencha/app/defaults.properties

@ -1,7 +1,7 @@
# ============================================================================= # =============================================================================
# This file defines properties used by build-impl.xml and the associated # This file defines properties used by build-impl.xml and the associated
# *-impl.xml files (sass-impl.xml, js-impl.xml, etc.), which are the core of # *-impl.xml files (sass-impl.xml, js-impl.xml, etc.), which are the core of
# the applications build process. # the applications build process.
# #
# This file represents the lowest priority file for defining these properties # This file represents the lowest priority file for defining these properties
# as well as the place to look for documentation and learning what properties # as well as the place to look for documentation and learning what properties
@ -48,7 +48,7 @@
# See "sencha help app build" for details. # See "sencha help app build" for details.
# #
# The corresponding properties files: # The corresponding properties files:
# (production.properties, testing.properties, etc.) provide examples of # (production.properties, testing.properties, etc.) provide examples of
# overriding sets of properties depending on the selected environment # overriding sets of properties depending on the selected environment
# NOTE: this replaces the deprecated args.environment # NOTE: this replaces the deprecated args.environment
app.environment=production app.environment=production
@ -120,6 +120,8 @@ app.output.cache.path=${app.output.cache}
app.output.cache.enable=true app.output.cache.enable=true
app.output.appCache.enable=${app.output.cache.enable} app.output.appCache.enable=${app.output.cache.enable}
app.output.appCache.path=${app.output.cache.path} app.output.appCache.path=${app.output.cache.path}
app.output.progressive=false
app.output.progressive.enable=${app.output.progressive}
build.out.base.path=${app.output.base} build.out.base.path=${app.output.base}
build.out.page.path=${build.out.base.path}/${app.output.page.path} build.out.page.path=${build.out.base.path}/${app.output.page.path}
@ -236,13 +238,13 @@ build.options=logger:${build.options.logger},debug:${build.options.debug},produc
# This property can be modified to change general build options # This property can be modified to change general build options
# such as excluding files from the set. The format expects newlines # such as excluding files from the set. The format expects newlines
# for each argument, for example: # for each argument, for example:
# #
# build.operations=\ # build.operations=\
# exclude\n \ # exclude\n \
# -namespace=Ext\n # -namespace=Ext\n
# #
# NOTE: modifications to build.operations are intended to be # NOTE: modifications to build.operations are intended to be
# placed in an override of the "-after-init" target, where it # placed in an override of the "-after-init" target, where it
# can be calculated based on other # can be calculated based on other
# ant properties # ant properties
# #
@ -268,7 +270,7 @@ build.optimize.enable=\
build.optimize.disable= build.optimize.disable=
build.optimize=${build.optimize.disable} build.optimize=${build.optimize.disable}
# enables / disables removing text references from # enables / disables removing text references from
# package js build files # package js build files
build.remove.references=true build.remove.references=true
@ -280,12 +282,12 @@ build.remove.requirement.nodes=true
# like mixin references # like mixin references
build.optimize.string.references=true build.optimize.string.references=true
# enables / disables yui compression # enables / disables cmd compression
build.compression.yui=${app.output.js.compress} build.compression.cmd=${app.output.js.compress}
# enables / disables closure compression # enables / disables closure compression
build.compression.closure=0 build.compression.closure=0
# enables / disables uglify compression # enables / disables uglify compression
build.compression.ugilfy=0 build.compression.ugilfy=0
@ -296,8 +298,8 @@ build.compile.temp.dir.keep=true
# ------------------------------------------ # ------------------------------------------
# DOC ONLY - Do Not Set # DOC ONLY - Do Not Set
# this variable will be set to the appropriate compressor # this variable will be set to the appropriate compressor
# option, and is calculated in init-impl.xml, but may be overridded in # option, and is calculated in init-impl.xml, but may be overridded in
# app.properties, <environment>.properties, or via command line # app.properties, <environment>.properties, or via command line
# #
# build.compression= # build.compression=
@ -312,8 +314,8 @@ build.compile.temp.dir.keep=true
# markup, or left as a separate resource # markup, or left as a separate resource
build.enable.embedded.microloader=${app.output.microloader.embed} build.enable.embedded.microloader=${app.output.microloader.embed}
# whether to include the page's manifest.json code with the # whether to include the page's manifest.json code with the
# microloader content. Production.properties files should set this to # microloader content. Production.properties files should set this to
# false to have manifest.json exist as a server resource. # false to have manifest.json exist as a server resource.
build.enable.embedded.manifest=${app.output.manifest.embed} build.enable.embedded.manifest=${app.output.manifest.embed}
@ -348,18 +350,18 @@ app.microloader=${app.microloader.dir}/${app.microloader.name}
app.microloader.path=${app.microloader} app.microloader.path=${app.microloader}
# specifies how to embed the microloader code into the output markup # specifies how to embed the microloader code into the output markup
# {0} is replaced with the content of the microloader file specified # {0} is replaced with the content of the microloader file specified
# by app.microloader.path # by app.microloader.path
build.microloader.code.tpl={0} build.microloader.code.tpl={0}
# the template to use when generating a stand-alone json manifest file # the template to use when generating a stand-alone json manifest file
build.microloader.json.tpl.standalone={0} build.microloader.json.tpl.standalone={0}
# the template to use when embedding the manifest json directly next to the # the template to use when embedding the manifest json directly next to the
# microloader in the output microloader content # microloader in the output microloader content
build.microloader.json.tpl.embedded=Ext.blink({0}); build.microloader.json.tpl.embedded=Ext.blink({0});
# the template to use in the output microloader content when supplying # the template to use in the output microloader content when supplying
# the manifest json as a separate server-side resource ('production' builds) # the manifest json as a separate server-side resource ('production' builds)
build.microloader.json.tpl.external=Ext.blink('{'id:''${app.id}'''}'); build.microloader.json.tpl.external=Ext.blink('{'id:''${app.id}'''}');
@ -368,7 +370,7 @@ build.microloader.json.tpl.external=Ext.blink('{'id:''${app.id}'''}');
build.embedded.microloader.tpl=<script id="microloader" data-app="${app.id}" type="text/javascript">{0}</script> build.embedded.microloader.tpl=<script id="microloader" data-app="${app.id}" type="text/javascript">{0}</script>
# the compressor to use when embedding the microloader into a page # the compressor to use when embedding the microloader into a page
# can be -closure or -yui, or leave empty to disable compression # can be -closure or -cmd, or leave empty to disable compression
build.embedded.microloader.compressor= build.embedded.microloader.compressor=
# the path to the microloader content file, if external to the outpout markup # the path to the microloader content file, if external to the outpout markup
@ -383,7 +385,7 @@ build.external.microloader.markup=<script id="microloader" data-app="${app.id}"
# currently unused : is a placeholder for future microloader interactions # currently unused : is a placeholder for future microloader interactions
build.microloader.mode=${build.environment} build.microloader.mode=${build.environment}
# the tag name to use when generating the compiler save set for # the tag name to use when generating the compiler save set for
# the page's js code # the page's js code
build.tag.name=full-page build.tag.name=full-page
@ -485,7 +487,7 @@ enable.ext42.themes=false
enable.touch.themes=false enable.touch.themes=false
# -------------------- # --------------------
# selector count threshold to use when # selector count threshold to use when
# splitting a single css file into multiple # splitting a single css file into multiple
# css files (IE selector limit workaround) # css files (IE selector limit workaround)
# #
@ -497,7 +499,7 @@ build.css.selector.limit=${app.output.css.split}
build.css.preprocess=${app.output.css.preprocess} build.css.preprocess=${app.output.css.preprocess}
# sets the css preprocessor options, in the form: # sets the css preprocessor options, in the form:
# name1:value1,name2:value2,... # name1:value1,name2:value2,...
build.css.preprocessor.opts= build.css.preprocessor.opts=
# enables / disable css compressor (enable.ext42.themes only) # enables / disable css compressor (enable.ext42.themes only)
@ -580,32 +582,32 @@ theme.name=default
# ***************************************************************************** # *****************************************************************************
# the resources directory of the application # the resources directory of the application
# note: this property is currently only used for building ext 4.1 style themes # note: this property is currently only used for building ext 4.1 style themes
# (used by x-build-theme and x-copy-resources in slice-impl.xml) # (used by x-build-theme and x-copy-resources in slice-impl.xml)
app.resources.dir=${app.dir}/resources app.resources.dir=${app.dir}/resources
# the directory containing the slicer widget example page # the directory containing the slicer widget example page
app.example.dir=${app.dir}/sass/example app.example.dir=${app.dir}/sass/example
# this is the directory used for intermediate build artifacts used
# by the slicer for generating theme images
app.example.build.dir=${build.temp.dir}/slicer-temp
# properties to control the recirect css file that is # properties to control the recirect css file that is
# generated for the slicer example page # generated for the slicer example page
app.example.css.name=example.css app.example.css.name=example.css
app.example.css.file=${app.example.dir}/${app.example.css.name} app.example.css.file=${app.example.build.dir}/${app.example.css.name}
# the base path for generating the bootstrap code for the # the base path for generating the bootstrap code for the
# slicer page # slicer page
bootstrap.base.path=${app.example.dir} bootstrap.base.path=${app.example.build.dir}
# the full file name of the slicer page's bootstrap js file # the full file name of the slicer page's bootstrap js file
bootstrap.example.js=${app.example.dir}/bootstrap.js bootstrap.example.js=${app.example.build.dir}/bootstrap.js
# the full file name of the slicer page's bootstrap js file # the full file name of the slicer page's bootstrap js file
bootstrap.example.json.name=bootstrap.json bootstrap.example.json.name=bootstrap.json
bootstrap.example.json=${app.example.dir}/${bootstrap.example.json.name} bootstrap.example.json=${app.example.build.dir}/${bootstrap.example.json.name}
# this is the directory used for intermediate build artifacts used
# by the slicer for generating theme images
app.example.build.dir=${build.temp.dir}/slicer-temp
# the name of the intermediate screenshot file used for image slicing # the name of the intermediate screenshot file used for image slicing
build.capture.png=${app.example.build.dir}/theme-capture.png build.capture.png=${app.example.build.dir}/theme-capture.png
@ -615,8 +617,8 @@ build.capture.json=${app.example.build.dir}/theme-capture.json
# the location of the slicer widget page # the location of the slicer widget page
app.example.theme.html.name=theme.html app.example.theme.html.name=theme.html
app.example.theme.html=${cmd.dir}/ant/build/slicer/${app.example.theme.html.name}
app.example.fashion.html.name=fashion.html app.example.fashion.html.name=fashion.html
app.example.theme.html=${app.example.dir}/${app.example.theme.html.name}
app.example.fashion.html=${app.example.dir}/${app.example.fashion.html.name} app.example.fashion.html=${app.example.dir}/${app.example.fashion.html.name}
# a name prefix used for slicer page temporary artifacts # a name prefix used for slicer page temporary artifacts
@ -644,7 +646,7 @@ build.slice.options=
# ***************************************************************************** # *****************************************************************************
# Packager # Packager
# these properties control features of the native packaging phase of the # these properties control features of the native packaging phase of the
# build process # build process
# ***************************************************************************** # *****************************************************************************
@ -655,13 +657,13 @@ enable.desktop.packager=false
# skips packaging the built application with cordova/phonegap # skips packaging the built application with cordova/phonegap
skip.native-package=false skip.native-package=false
# a property that controls whether a standalone manifest.json file will be # a property that controls whether a standalone manifest.json file will be
# generated for the native packaged application # generated for the native packaged application
enable.standalone.manifest=false enable.standalone.manifest=false
# ***************************************************************************** # *****************************************************************************
# Resolve # Resolve
# these properties control aspects of the dynamic dependency resolver, which # these properties control aspects of the dynamic dependency resolver, which
# uses phantomjs to load the application and extract Ext.Loader class load # uses phantomjs to load the application and extract Ext.Loader class load
# history. # history.
# ***************************************************************************** # *****************************************************************************
@ -691,7 +693,7 @@ build.resolve.mode=references
# the output file for the detected dynamic dependencies # the output file for the detected dynamic dependencies
build.resolve.file=${build.temp.dir}/resolve.json build.resolve.file=${build.temp.dir}/resolve.json
# controls whether unmatched external references in the specified file will # controls whether unmatched external references in the specified file will
# generate build warnings or build failures # generate build warnings or build failures
build.resolve.allow.unmatched=true build.resolve.allow.unmatched=true
@ -704,4 +706,4 @@ build.resolve.allow.unmatched=true
build.trigger.targets=refresh,resources,sass build.trigger.targets=refresh,resources,sass
# the watcher targets to run that monitor for code changes # the watcher targets to run that monitor for code changes
build.watcher.targets=-watch-compiler build.watcher.targets=-watch-fashion,-watch-compiler

65
.sencha/app/init-impl.xml

@ -19,11 +19,13 @@
<script language="javascript"> <script language="javascript">
<![CDATA[ <![CDATA[
var f = new java.io.File(project.getProperty("basedir")); var f = new java.io.File(project.getProperty("basedir"));
var sub = ".sencha/workspace/sencha.cfg"; var sub = ".sencha/workspace/sencha.cfg"
var sub2 = "workspace.json";
for (var p = f; p; p = p.getParentFile()) { for (var p = f; p; p = p.getParentFile()) {
var t = new java.io.File(p, sub); var t = new java.io.File(p, sub);
if (t.exists()) { var t2 = new java.io.File(p, sub2);
if (t.exists() || t2.exists()) {
// we found the workspace folder! // we found the workspace folder!
t = new java.io.File(p, "local.properties"); t = new java.io.File(p, "local.properties");
@ -87,13 +89,20 @@
<!-- <!--
calculate the appropriate build.compression value calculate the appropriate build.compression value
--> -->
<condition property="build.compression" value="-yui"> <condition property="build.compression" value="-cmd">
<or> <or>
<x-is-true value="${build.compression.yui}"/> <x-is-true value="${build.compression.yui}"/>
<equals arg1="yui" arg2="${app.compressor.type}"/> <equals arg1="yui" arg2="${app.compressor.type}"/>
</or> </or>
</condition> </condition>
<condition property="build.compression" value="-cmd">
<or>
<x-is-true value="${build.compression.cmd}"/>
<equals arg1="cmd" arg2="${app.compressor.type}"/>
</or>
</condition>
<condition property="build.compression" value="-closure"> <condition property="build.compression" value="-closure">
<or> <or>
<x-is-true value="${build.compression.closure}"/> <x-is-true value="${build.compression.closure}"/>
@ -144,6 +153,8 @@
<property name="app.sass.fashion" value="false"/> <property name="app.sass.fashion" value="false"/>
<property name="app.sass.rhino" value="false"/> <property name="app.sass.rhino" value="false"/>
<property name="app.sass.dynamic" value="false"/> <property name="app.sass.dynamic" value="false"/>
<property name="app.sass.generated.var" value="${app.sass.save}"/>
</target> </target>
<target name="-after-init"/> <target name="-after-init"/>
@ -219,6 +230,23 @@
</else> </else>
</if> </if>
<if>
<or>
<equals arg1="${app.output.js.filter}" arg2="all"/>
<equals arg1="${app.output.js.filter}" arg2="minimum"/>
</or>
<then>
<property name="enable.used.deps" value="false"/>
</then>
</if>
<if>
<equals arg1="${app.output.js.filter}" arg2="used"/>
<then>
<property name="enable.used.deps" value="true"/>
</then>
</if>
<if> <if>
<equals arg1="${app.toolkit}" arg2="modern"/> <equals arg1="${app.toolkit}" arg2="modern"/>
<then> <then>
@ -239,6 +267,18 @@
</then> </then>
</if> </if>
<if>
<or>
<x-is-false value="${app.output.progressive.enable}"/>
<not>
<isset property="${app.output.progressive.enable}"/>
</not>
</or>
<then>
<property name="${skip.progressive}" value="1"/>
</then>
</if>
<if> <if>
<!--If Deltas are FALSE, deltas do not exist, or caching is disabled then skip delta patching--> <!--If Deltas are FALSE, deltas do not exist, or caching is disabled then skip delta patching-->
<or> <or>
@ -340,6 +380,19 @@
</condition> </condition>
<property name="enable.split.framework" value="false"/> <property name="enable.split.framework" value="false"/>
<if>
<equals arg1="${app.output.js.filter}" arg2="used"/>
<then>
<property name="include.used.package.deps">
include
-usedPackagesDeps
and
</property>
</then>
</if>
<property name="include.used.package.deps">
# no-op
</property>
<x-compile refid="${compiler.ref.id}" <x-compile refid="${compiler.ref.id}"
dir="${app.dir}" dir="${app.dir}"
@ -372,6 +425,7 @@
${build.operations} ${build.operations}
and and
${exclude.boot} ${exclude.boot}
${include.used.package.deps}
save save
page page
]]> ]]>
@ -391,6 +445,7 @@
${build.operations} ${build.operations}
and and
${exclude.boot} ${exclude.boot}
${include.used.package.deps}
save save
page page
]]> ]]>
@ -403,7 +458,9 @@
defaultSassFile="${app.out.scss}" defaultSassFile="${app.out.scss}"
defaultCssFile="${app.out.css}" defaultCssFile="${app.out.css}"
refid="app.web.server" refid="app.web.server"
saveVariablesProp="app.sass.save" saveVariablesProp="app.sass.generated.var"
uiDirProp="app.sass.generated.src"
sassNamespaceProp="app.sass.namespace"
j2eeMode="${use.webxml}"> j2eeMode="${use.webxml}">
<mapping name="~cmd" path="${cmd.dir}"/> <mapping name="~cmd" path="${cmd.dir}"/>
<mapping name="" path="${build.web.root}"/> <mapping name="" path="${build.web.root}"/>

115
.sencha/app/js-impl.xml

@ -10,18 +10,121 @@
splitModePropName="enable.split.mode" splitModePropName="enable.split.mode"
pageModePropName="app.page.mode" pageModePropName="app.page.mode"
hasJsSdkPropName="app.has.js.sdk" hasJsSdkPropName="app.has.js.sdk"
hasCssSdkPropName="app.has.css.sdk"/> hasCssSdkPropName="app.has.css.sdk"
hasUsesPackagesPropName="app.has.uses" />
</target> </target>
<!-- <!--
this is the standard js compile target that builds the output js file(s) this is the standard js compile target that builds the output js file(s)
--> -->
<target name="-compile-js" depends="-detect-app-build-properties"> <target name="-compile-js" depends="-detect-app-build-properties">
<property name="app.output.framework.include"
value="package-sencha-core,framework,toolkit,package-core"/>
<property name="enable.used.deps" value="${app.has.uses}"/>
<if>
<x-is-true value="${enable.used.deps}"/>
<then>
<x-compile refid="${compiler.ref.id}">
# determine the base set of framework files
exclude
-all
and
include
-tag=${app.output.framework.include}
and
save
allframework
</x-compile>
<for param="file">
<fileset dir="${workspace.build.dir}/temp" includes="**/deps.json"/>
<sequential>
<x-compile refid="${compiler.ref.id}">
# now load the transitive set based on the json data
exclude
-all
and
include
-json-data=@{file}
-r
and
save
deps
and
# add any needed deps to the page save set
include
-set=page
and
save
page
</x-compile>
</sequential>
</for>
</then>
<else>
<if>
<equals arg1="${app.output.js.filter}" arg2="all"/>
<then>
<x-compile refid="${compiler.ref.id}">
# if filtering requirements is configured for 'all'
# then just include all js content on the classpath to
# ensure all dependencies are provided for the used packages
include
-all
and
save
page
</x-compile>
</then>
</if>
</else>
</if>
<if> <if>
<x-is-true value="${enable.split.mode}"/> <x-is-true value="${enable.split.mode}"/>
<then> <then>
<property name="app.output.framework.include" <local name="build.js.framework.fwset" />
value="package-sencha-core,framework,toolkit,package-core"/> <local name="build.js.framework.rtl" />
<if>
<or>
<x-is-true value="${app.output.framework.all}" />
<isset property="app.has.uses" />
</or>
<then>
<property name="build.include.all.scss" value="true" />
<property name="build.js.framework.fwset"> </property>
<if>
<x-is-false value="${app.output.framework.rtl}" />
<then>
<property name="build.js.framework.rtl">
<![CDATA[
exclude
-namespace=Ext.rtl
and
]]>
</property>
</then>
<else>
<property name="build.js.framework.rtl"> </property>
</else>
</if>
</then>
<else>
<property name="build.js.framework.fwset">
<![CDATA[
intersect
-set=page,allframework
and
]]>
</property>
<property name="build.js.framework.rtl"> </property>
</else>
</if>
<x-compile refid="${compiler.ref.id}"> <x-compile refid="${compiler.ref.id}">
<![CDATA[ <![CDATA[
@ -40,12 +143,11 @@
save save
allframework allframework
and and
intersect ${build.js.framework.fwset}
-set=page,allframework
and
save save
frameworkdeps frameworkdeps
and and
${build.js.framework.rtl}
include include
-tag=Ext.cmd.derive -tag=Ext.cmd.derive
and and
@ -80,6 +182,7 @@
</x-compile> </x-compile>
</then> </then>
<else> <else>
<local name="framework.include.filter"/>
<x-compile refid="${compiler.ref.id}"> <x-compile refid="${compiler.ref.id}">
<![CDATA[ <![CDATA[
# build an all-classes.js file that contains # build an all-classes.js file that contains

4
.sencha/app/native.defaults.properties

@ -18,8 +18,8 @@ build.options.logger=no
build.options.debug=false build.options.debug=false
# enable yui compression # enable cmd compression
build.compression.yui=1 build.compression.cmd=1
enable.standalone.manifest=true enable.standalone.manifest=true

4
.sencha/app/package.defaults.properties

@ -21,7 +21,7 @@ build.options.logger=no
build.options.debug=false build.options.debug=false
# enable yui compression # enable cmd compression
build.compression.yui=1 build.compression.cmd=1
app.microloader.name=testing.js app.microloader.name=testing.js

62
.sencha/app/page-impl.xml

@ -2,15 +2,22 @@
<macrodef name="x-build-microload-markup"> <macrodef name="x-build-microload-markup">
<sequential> <sequential>
<x-sencha-command dir="${app.dir}" inheritall="true"> <if>
<![CDATA[ <not>
fs <equals arg1="${build.compression}" arg2=""/>
minify </not>
${build.embedded.microloader.compressor} <then>
-from=${build.microloader.path} <x-sencha-command dir="${app.dir}" inheritall="true">
-to=${build.microloader.path} <![CDATA[
]]> fs
</x-sencha-command> minify
${build.embedded.microloader.compressor}
-from=${build.microloader.path}
-to=${build.microloader.path}
]]>
</x-sencha-command>
</then>
</if>
<if> <if>
<x-is-true value="${build.enable.embedded.microloader}"/> <x-is-true value="${build.enable.embedded.microloader}"/>
<then> <then>
@ -55,6 +62,7 @@
# generate json file # generate json file
microload microload
-operation=manifest -operation=manifest
-jsonp=Ext.Microloader.setManifest
-fashion=${use.fashion} -fashion=${use.fashion}
-tpl=${build.microloader.json.tpl.embedded} -tpl=${build.microloader.json.tpl.embedded}
-out=${build.microloader.path} -out=${build.microloader.path}
@ -77,6 +85,7 @@
# generate json file # generate json file
microload microload
-operation=manifest -operation=manifest
-jsonp=Ext.Microloader.setManifest
-fashion=${use.fashion} -fashion=${use.fashion}
-tpl=${build.microloader.json.tpl.standalone} -tpl=${build.microloader.json.tpl.standalone}
-out=${build.out.json.path} -out=${build.out.json.path}
@ -307,11 +316,44 @@
value="&lt;html"/> value="&lt;html"/>
</target> </target>
<target name="-generate-progressive-webapp" depends="-init-compiler">
<if>
<x-is-false value="${skip.progressive}"/>
<then>
<x-compile refid="${compiler.ref.id}">
<![CDATA[
progressive-webapp
-buildDir=${build.out.base.path}
]]>
</x-compile>
</then>
</if>
</target>
<target name="-generate-service-worker" depends="-init-compiler">
<if>
<x-is-false value="${skip.progressive}"/>
<then>
<x-compile refid="${compiler.ref.id}">
<![CDATA[
progressive-webapp
-buildDir=${build.out.base.path}
+serviceWorker
]]>
</x-compile>
</then>
</if>
</target>
<target name="-before-page"/> <target name="-before-page"/>
<target name="-page" <target name="-page"
depends="-copy-app-resources, depends="-copy-app-resources,
-generate-progressive-webapp,
-generate-deltas, -generate-deltas,
-build-output-page, -build-output-page,
-generate-cache-manifest"/> -generate-cache-manifest,
-generate-service-worker"/>
<target name="-after-page"/> <target name="-after-page"/>
</project> </project>

29
.sencha/app/refresh-impl.xml

@ -19,6 +19,9 @@
<not> <not>
<isset property="app.watch.enabled"/> <isset property="app.watch.enabled"/>
</not> </not>
<not>
<isset property="app.uses"/>
</not>
</and> </and>
</condition> </condition>
<property name="manifest.root.excludes" value=""/> <property name="manifest.root.excludes" value=""/>
@ -41,6 +44,9 @@
exclude exclude
-tag=${refresh.file.filter} -tag=${refresh.file.filter}
and and
exclude
-file=Boot.js
and
save save
bootstrap bootstrap
]]> ]]>
@ -52,6 +58,9 @@
include include
-all -all
and and
exclude
-file=Boot.js
and
save save
bootstrap bootstrap
]]> ]]>
@ -63,9 +72,9 @@
to="${build.json.bootstrap.path}" to="${build.json.bootstrap.path}"
property="build.json.bootstrap.rel.path"/> property="build.json.bootstrap.rel.path"/>
<echo file="${app.bootstrap.js}">var Ext = Ext || {}; <x-file-write file="${app.bootstrap.js}">var Ext = Ext || {};
Ext.manifest = Ext.manifest || "${build.json.bootstrap.rel.path}"; Ext.manifest = Ext.manifest || "${build.json.bootstrap.rel.path}";
</echo> </x-file-write>
<x-compile refid="${compiler.ref.id}"> <x-compile refid="${compiler.ref.id}">
<![CDATA[ <![CDATA[
@ -78,6 +87,7 @@ Ext.manifest = Ext.manifest || "${build.json.bootstrap.rel.path}";
and and
microload microload
-operation=manifest -operation=manifest
-jsonp=Ext.Microloader.setManifest
-fashion=${use.fashion} -fashion=${use.fashion}
-bootstrap -bootstrap
+ignoreDisabled +ignoreDisabled
@ -104,13 +114,13 @@ Ext.manifest = Ext.manifest || "${build.json.bootstrap.rel.path}";
by the default development.js microloader by the default development.js microloader
--> -->
<echo file="${build.json.bootstrap.path}"> <x-file-write file="${build.json.bootstrap.path}">
/** /**
* This file is generated by Sencha Cmd and should NOT be edited. It is a * This file is generated by Sencha Cmd and should NOT be edited. It is a
* combination of content from app.json, and all required package's package.json * combination of content from app.json, and all required package's package.json
* files. Customizations should be placed in app.json. * files. Customizations should be placed in app.json.
*/ */
</echo> </x-file-write>
<x-compile refid="${compiler.ref.id}"> <x-compile refid="${compiler.ref.id}">
<![CDATA[ <![CDATA[
microload microload
@ -129,9 +139,14 @@ Ext.manifest = Ext.manifest || "${build.json.bootstrap.rel.path}";
'-detect-app-build-properties' is defined in js-impl.xml '-detect-app-build-properties' is defined in js-impl.xml
--> -->
<target name="-refresh-app" <target name="-refresh-app"
depends="-detect-app-build-properties, depends="-detect-app-build-properties">
-refresh-app-manifest, <if>
-refresh-app-bootstrap"/> <equals arg1="development" arg2="${build.environment}"/>
<then>
<x-ant-call target="-refresh-app-manifest,-refresh-app-bootstrap"/>
</then>
</if>
</target>
<!-- <!--
Refresh app Refresh app

205
.sencha/app/sass-impl.xml

@ -15,7 +15,10 @@
property="image.search.path"/> property="image.search.path"/>
<if> <if>
<x-is-true value="${build.include.all.scss}"/> <or>
<x-is-true value="${app.has.uses}" />
<x-is-true value="${build.include.all.scss}"/>
</or>
<then> <then>
<property name="sass.name.filter"> <property name="sass.name.filter">
include include
@ -107,18 +110,21 @@
<copy file="${app.out.scss.tmp}" tofile="${app.out.scss}" overwrite="true"/> <copy file="${app.out.scss.tmp}" tofile="${app.out.scss}" overwrite="true"/>
</then> </then>
</if> </if>
<!-- <if>
app.out.css.path is relative to the app output index.html file <equals arg1="development" arg2="${build.environment}"/>
--> <then>
<x-get-relative-path <!--
from="${app.dir}" app.out.css.path is relative to the app output index.html file
to="${app.out.css}" -->
property="app.out.css.path" <x-get-relative-path
/> from="${app.dir}"
to="${app.out.css}"
property="app.out.css.path"
/>
<!--update the application's bootstrap.css file to point to the build output--> <!--update the application's bootstrap.css file to point to the build output-->
<echo file="${build.bootstrap.css.path}"> <x-file-write file="${build.bootstrap.css.path}">
<![CDATA[ <![CDATA[
/* /*
* This file is generated by Sencha Cmd and should NOT be edited. It redirects * This file is generated by Sencha Cmd and should NOT be edited. It redirects
@ -127,7 +133,9 @@
*/ */
@import '${app.out.css.path}'; @import '${app.out.css.path}';
]]> ]]>
</echo> </x-file-write>
</then>
</if>
</target> </target>
<!-- <!--
@ -186,73 +194,130 @@
scss file, then running compass with the css, sass, and config options set scss file, then running compass with the css, sass, and config options set
--> -->
<target name="-compass-compile-theme-package" depends="-load-sass-page"> <target name="-compass-compile-theme-package" depends="-load-sass-page">
<x-run-if-true value="${enable.ext42.themes}"> <if>
<local name="compress.uptodate"/> <x-is-true value="${skip.sass.rebuild}"/>
<then>
<x-ant-call target="-compile-sass"/> <x-run-if-true value="${enable.ext42.themes}">
<x-ant-call target="-compile-sass"/>
</x-run-if-true>
</then>
<else>
<x-run-if-true value="${enable.ext42.themes}">
<local name="compress.uptodate"/>
<x-ant-call target="-compile-sass"/>
<if>
<x-is-true value="${app.sass.fashion}"/>
<then>
<if> <if>
<x-is-true value="${app.sass.rhino}"/> <x-is-true value="${app.sass.fashion}"/>
<then> <then>
<x-fashion-compile <if>
file="${app.out.scss}" <x-is-true value="${app.sass.rhino}"/>
toFile="${app.out.css}"/> <then>
</then> <x-fashion-compile
<else> file="${app.out.scss}"
<x-fashion-live-update input="${app.out.scss}" toFile="${app.out.css}"/>
output="${app.out.css}" </then>
refId="app.web.server" <else>
split="${build.css.selector.limit}" <x-fashion-live-update input="${app.out.scss}"
compress="${build.css.compress}" output="${app.out.css}"
compilerRefId="${compiler.ref.id}"/> refId="app.web.server"
split="${build.css.selector.limit}"
compress="${build.css.compress}"
compilerRefId="${compiler.ref.id}"/>
<x-sencha-command> <x-compile refid="${compiler.ref.id}">
fashion <![CDATA[
-compress=${build.css.compress} microload
-split=${build.css.selector.limit} -operation=manifest
-saveFile=${app.dir}/${app.sass.save} -fashion=false
${app.out.scss} -tpl=${build.microloader.json.tpl.standalone}
${app.out.css} -out=${build.out.json.path}
</x-sencha-command> -resourcePath=${build.out.base.path}
-basePath=${build.out.metadata.dir}
]]>
</x-compile>
<x-update-css-array input="${app.out.css}" <x-sencha-command>
compilerRefId="${compiler.ref.id}"/> fashion
</else> -config=${build.out.json.path}
</if> -compress=${build.css.compress}
</then> -split=${build.css.selector.limit}
<else> -saveFile=${app.dir}/${app.sass.generated.var}
<x-compass-compile -slicer=false
rubyPath="${build.ruby.path}" ${app.out.scss}
dir="${compass.working.dir}" ${app.out.css}
trace="${compass.compile.trace}" </x-sencha-command>
boring="${compass.compile.boring}"
force="${compass.compile.force}"
sassdir="${compass.sass.dir}"
cssdir="${compass.css.dir}"
config="${compass.config.file}"/>
<uptodate property="compress.uptodate" <x-update-css-array input="${app.out.css}"
value="true" compilerRefId="${compiler.ref.id}"/>
srcfile="${app.out.scss}.tmp"
targetfile="${app.out.css}"/>
<if> <if>
<x-is-true value="${compress.uptodate}"/> <and>
<!--<x-is-true value="true"/>--> <available file="${build.out.css.dir}/css-vars.js"/>
<then> </and>
<x-compress-css-files dir="${build.out.css.dir}" <then>
prefix="${app.out.base.debug}"
outprefix="${app.out.base}" <if>
preprocess="${build.css.preprocess}" <not>
compress="${build.css.compress}"/> <equals arg1="${build.compression}" arg2=""/>
</not>
<then>
<x-compress-js srcFile="${build.out.css.dir}/css-vars.js"
outFile="${build.out.css.dir}/css-vars.js"/>
</then>
</if>
<if>
<not>
<equals arg1="${build.environment}" arg2="development"/>
</not>
<then>
<concat destfile="${build.out.js.path}" append="true">
<fileset dir="${build.out.css.dir}">
<include name="css-vars.js"/>
</fileset>
</concat>
</then>
</if>
</then>
</if>
</else>
</if>
</then> </then>
<else>
<x-compass-compile
rubyPath="${build.ruby.path}"
dir="${compass.working.dir}"
trace="${compass.compile.trace}"
boring="${compass.compile.boring}"
force="${compass.compile.force}"
sassdir="${compass.sass.dir}"
cssdir="${compass.css.dir}"
config="${compass.config.file}"/>
<uptodate property="compress.uptodate"
value="true"
srcfile="${app.out.scss}.tmp"
targetfile="${app.out.css}"/>
<if>
<x-is-true value="${compress.uptodate}"/>
<!--<x-is-true value="true"/>-->
<then>
<x-compress-css-files dir="${build.out.css.dir}"
prefix="${app.out.base.debug}"
outprefix="${app.out.base}"
preprocess="${build.css.preprocess}"
compress="${build.css.compress}"/>
</then>
</if>
</else>
</if> </if>
</else> </x-run-if-true>
</if> </else>
</x-run-if-true> </if>
</target> </target>
<!-- <!--

3
.sencha/app/sencha.cfg

@ -42,4 +42,5 @@ app.resource.paths=${app.dir}/resources
app.framework.version=5.1.1.451 app.framework.version=5.1.1.451
app.cmd.version=6.1.2.15
app.cmd.version=6.6.0.13

35
.sencha/app/slice-impl.xml

@ -40,6 +40,7 @@
-all -all
and and
sass sass
+skipWatch
+class-name-vars +class-name-vars
+etc +etc
+vars +vars
@ -54,6 +55,7 @@
page page
and and
sass sass
+skipWatch
+ruby +ruby
-output=${app.example.out.ruby} -output=${app.example.out.ruby}
]]> ]]>
@ -68,7 +70,7 @@
</then> </then>
</if> </if>
<x-get-relative-path from="${app.example.dir}" <x-get-relative-path from="${app.example.build.dir}"
to="${app.example.css}" to="${app.example.css}"
property="app.example.css.path"/> property="app.example.css.path"/>
@ -97,12 +99,15 @@
<x-is-true value="${app.sass.rhino}"/> <x-is-true value="${app.sass.rhino}"/>
<then> <then>
<x-fashion-compile <x-fashion-compile
slicer="true"
file="${app.example.build.dir}" file="${app.example.build.dir}"
toFile="${app.example.build.dir}"/> toFile="${app.example.build.dir}"/>
</then> </then>
<else> <else>
<x-sencha-command> <x-sencha-command>
fashion fashion
-config=${app.dir}/app.json
-slicer=true
-compress=${build.css.compress} -compress=${build.css.compress}
-split=${build.css.selector.limit} -split=${build.css.selector.limit}
${app.example.build.dir} ${app.example.build.dir}
@ -127,10 +132,22 @@
<!-- Produces a bootstrap.js file for ext 4.2 slicer pages --> <!-- Produces a bootstrap.js file for ext 4.2 slicer pages -->
<target name="-generate-slicer-bootstrap" unless="framework.isV5"> <target name="-generate-slicer-bootstrap" unless="framework.isV5">
<local name="relpath"/> <local name="relpath"/>
<local name="cmd.dir.normalized"/>
<x-get-relative-path from="${bootstrap.base.path}" <x-get-relative-path from="${bootstrap.base.path}"
to="${framework.packages.dir}" to="${framework.packages.dir}"
property="relpath"/> property="relpath"/>
<script language="javascript">
<![CDATA[
var dir = project.getProperty("cmd.dir") + '';
dir = dir.replace(/\\/g, '/');
if (dir.indexOf('/') !== 0) {
dir = '/' + dir;
}
project.setProperty("cmd.dir.normalized", dir);
]]>
</script>
<x-bootstrap file="${bootstrap.example.js}" <x-bootstrap file="${bootstrap.example.js}"
basedir="${bootstrap.base.path}" basedir="${bootstrap.base.path}"
includeBoot="true" includeBoot="true"
@ -140,7 +157,7 @@
overrideExcludeTags=""> overrideExcludeTags="">
<![CDATA[ <![CDATA[
Ext.Boot.loadSync([ Ext.Boot.loadSync([
"render.js", "${cmd.dir.normalized}/ant/build/slicer/render.js",
"${relpath}/ext-theme-base/sass/example/manifest.js", "${relpath}/ext-theme-base/sass/example/manifest.js",
"${relpath}/ext-theme-base/sass/example/shortcuts.js", "${relpath}/ext-theme-base/sass/example/shortcuts.js",
"custom.js" "custom.js"
@ -182,6 +199,7 @@ Ext.Boot.loadSync([
<![CDATA[ <![CDATA[
slicer-manifest slicer-manifest
-exclude=${manifest.root.excludes} -exclude=${manifest.root.excludes}
-jsonp=Ext.Microloader.setManifest
-removeBootstrapCssEntries=${remove.slicer.css.bootstrap.entries} -removeBootstrapCssEntries=${remove.slicer.css.bootstrap.entries}
+ignoreDisabled +ignoreDisabled
-basePath=${bootstrap.base.path} -basePath=${bootstrap.base.path}
@ -201,12 +219,13 @@ Ext.Boot.loadSync([
<echo>Capture theme image to ${build.capture.png}</echo> <echo>Capture theme image to ${build.capture.png}</echo>
<x-sencha-command> <x-sencha-command>
<![CDATA[ <![CDATA[
theme theme
capture capture
-page=${app.example.theme.html} -base=${app.example.build.dir}
-image=${build.capture.png} -page=${app.example.theme.html}
-manifest=${build.capture.json} -image=${build.capture.png}
]]> -manifest=${build.capture.json}
]]>
</x-sencha-command> </x-sencha-command>
</target> </target>

59
.sencha/app/watch-impl.xml

@ -27,6 +27,24 @@
fork="true"/> fork="true"/>
</target> </target>
<target name="-watch-fashion" if="framework.isV6">
<x-fashion-watch
refName="fashion-watch"
inputFile="${app.out.scss}"
outputFile="${app.out.css}"
split="${build.css.selector.limit}"
compress="${build.css.compress}"
configFile="${build.out.json.path}"
saveFile="${app.dir}/${app.sass.generated.var}"
fork="true"/>
</target>
<target name="-stop-fashion-watch">
<x-fashion-watch
refName="fashion-watch"
stop="true"/>
</target>
<macrodef name="x-run-compass-watch"> <macrodef name="x-run-compass-watch">
<attribute name="directory"/> <attribute name="directory"/>
<sequential> <sequential>
@ -58,18 +76,35 @@
<target name="-before-watch"/> <target name="-before-watch"/>
<target name="-watch" depends="-init-web-server"> <target name="-watch" depends="-init-web-server">
<x-ant-call target="${build.trigger.targets}"/> <local name="skip.sass.rebuild"/>
<x-ant-call target="web-start" unless="skip.web.start"> <condition property="skip.sass.rebuild" value="true">
<param name="enable.background.server" value="true"/> <isset property="framework.isV6"/>
</x-ant-call> </condition>
<x-ant-call target="${build.watcher.targets}"> <property name="skip.sass.rebuild" value="false"/>
<param name="build.id" value="${build.id}"/> <if>
<param name="build.name" value="${build.name}"/> <x-lock-file file="${watch.lock.file}" refId="lock.ref"/>
</x-ant-call> <then>
<x-ant-call target="web-stop" unless="skip.web.start"> <x-ant-call target="${build.trigger.targets}"/>
<param name="enable.background.server" value="true"/> <x-ant-call target="web-start" unless="skip.web.start">
</x-ant-call> <param name="enable.background.server" value="true"/>
<x-ant-call target="-stop-compass-watch"/> </x-ant-call>
<x-ant-call target="${build.watcher.targets}">
<param name="build.id" value="${build.id}"/>
<param name="build.name" value="${build.name}"/>
<param name="skip.sass.rebuild" value="${skip.sass.rebuild}"/>
</x-ant-call>
<x-ant-call target="web-stop" unless="skip.web.start">
<param name="enable.background.server" value="true"/>
</x-ant-call>
<x-ant-call target="-stop-compass-watch"/>
<x-ant-call target="-stop-fashion-watch"/>
<x-unlock-file refId="lock.ref"/>
</then>
<else>
<echo level="error"
message="App watch is already running for this build profile."/>
</else>
</if>
</target> </target>
<target name="-after-watch" depends="init"/> <target name="-after-watch" depends="init"/>
</project> </project>

2
app/package.json

@ -33,7 +33,7 @@
"auth0-js": "^8.12.3", "auth0-js": "^8.12.3",
"auth0-lock": "^10.22.0", "auth0-lock": "^10.22.0",
"auto-launch-patched": "5.0.2", "auto-launch-patched": "5.0.2",
"electron-config": "0.2.1", "electron-store": "2.0.0",
"electron-context-menu": "0.9.1", "electron-context-menu": "0.9.1",
"electron-is-dev": "^0.3.0", "electron-is-dev": "^0.3.0",
"mime": "^1.4.0", "mime": "^1.4.0",

2
electron/main.js

@ -6,7 +6,7 @@ const tray = require('./tray');
// AutoLaunch // AutoLaunch
var AutoLaunch = require('auto-launch-patched'); var AutoLaunch = require('auto-launch-patched');
// Configuration // Configuration
const Config = require('electron-config'); const Config = require('electron-store');
// Development // Development
const isDev = require('electron-is-dev'); const isDev = require('electron-is-dev');
// Updater // Updater

2769
package-lock.json generated

File diff suppressed because it is too large Load Diff

16
package.json

@ -11,13 +11,13 @@
"clean:osx": "rm -rf ./dist/Rambox-darwin-*", "clean:osx": "rm -rf ./dist/Rambox-darwin-*",
"clean:win": "rm -rf ./dist/Rambox-win32-*", "clean:win": "rm -rf ./dist/Rambox-win32-*",
"pack": "npm run pack:osx && npm run pack:win", "pack": "npm run pack:osx && npm run pack:win",
"pack:osx": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=darwin --arch=x64 --version=1.3.4 --icon=resources/installer/Icon.icns --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite", "pack:osx": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=darwin --arch=x64 --icon=resources/installer/Icon.icns --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite",
"pack:win": "npm run pack:win32 && npm run pack:win64", "pack:win": "npm run pack:win32 && npm run pack:win64",
"pack:win32": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=win32 --arch=ia32 --version=1.3.4 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=32-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite", "pack:win32": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=win32 --arch=ia32 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=32-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite",
"pack:win64": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=win32 --arch=x64 --version=1.3.4 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite", "pack:win64": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=win32 --arch=x64 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite",
"pack:linux": "npm run pack:linux32 && npm run pack:linux64", "pack:linux": "npm run pack:linux32 && npm run pack:linux64",
"pack:linux32": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=linux --arch=ia32 --version=1.3.4 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite", "pack:linux32": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=linux --arch=ia32 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite",
"pack:linux64": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=linux --arch=x64 --version=1.3.4 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite", "pack:linux64": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=linux --arch=x64 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --version-string.CompanyName=\"Rambox\" --version-string.ProductName=\"Rambox\" --asar --prune --overwrite",
"build": "npm run build:linux && npm run build:osx && npm run build:win", "build": "npm run build:linux && npm run build:osx && npm run build:win",
"build:osx": "build --macos", "build:osx": "build --macos",
"build:linux": "npm run build:linux32 && npm run build:linux64", "build:linux": "npm run build:linux32 && npm run build:linux64",
@ -100,10 +100,10 @@
"chai": "3.5.0", "chai": "3.5.0",
"crowdin": "1.0.0", "crowdin": "1.0.0",
"csvjson": "4.3.3", "csvjson": "4.3.3",
"electron": "^1.8.4", "electron": "^2.0.8",
"electron-builder": "^20.28.3", "electron-builder": "^20.28.3",
"electron-builder-squirrel-windows": "^20.28.3",
"electron-squirrel-startup": "^1.0.0", "electron-squirrel-startup": "^1.0.0",
"electron-packager": "^12.1.0",
"mocha": "^5.2.0", "mocha": "^5.2.0",
"spectron": "^3.8.0" "spectron": "^3.8.0"
}, },
@ -112,9 +112,9 @@
"auth0-js": "^9.7.3", "auth0-js": "^9.7.3",
"auto-launch-patched": "5.0.2", "auto-launch-patched": "5.0.2",
"crypto": "^1.0.1", "crypto": "^1.0.1",
"electron-config": "0.2.1",
"electron-context-menu": "0.9.1", "electron-context-menu": "0.9.1",
"electron-is-dev": "^0.3.0", "electron-is-dev": "^0.3.0",
"electron-store": "^2.0.0",
"mime": "^2.3.1", "mime": "^2.3.1",
"request": "^2.88.0", "request": "^2.88.0",
"request-promise": "^4.2.2", "request-promise": "^4.2.2",

7
workspace.json

@ -1,4 +1,11 @@
{ {
"frameworks": {
"ext": {
"path":"ext",
"version":"5.1.1.451"
}
},
/** /**
* This is the folder for build outputs in the workspace. * This is the folder for build outputs in the workspace.
*/ */

Loading…
Cancel
Save