Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ember-cli-nwjs

npm versionDependency StatusBuild Status

An ember-cli addon for developing Ember.js applications with NW.js (formerly node-webkit).

  • Get started quickly with an application blueprint configured for NW.js.
  • Build, watch, and run the app in NW.js with a convenient command: ember nw.
  • Build and package your app for production in one step with the ember nw:package command.

Wicked Good Ember 2015: Build Better Desktop Apps With Ember

Sample apps built with this addon:

Table of Contents:

Installation

From the root of your Ember CLI project:

ember install ember-cli-nwjs

This will do the following:

  • Install the addon NPM package (npm install --save-dev ember-cli-nwjs)
  • Run the addon blueprint (ember generate ember-cli-nwjs)
    • Add the blueprint files to your project
    • Install the nw NPM package locally

Build, Watch, and Run NW.js

Command

You can execute ember build --watch then start up NW.js with a single command:

ember nw

As the app gets rebuilt during development, the NW.js window will automatically reload the current page, so you can see the changes that you made without having to stop and restart the entire process.

Options

The following command line options let you specify a target environment or change the directory where the built assets are stored.

--environment(String) (Default: 'development')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

NW.js Binary

This addon is configured to install NW.js from NPM and add it to your project as a local dependency.

To use a different NW.js:

  • Remove the nw dependency from your project (npm uninstall --save-dev nw)
  • Set an environment variable named NW_PATH that points to the desired binary. For instance, you may have downloaded the executable from the NW.js website and wish to use that instead.
  • On Windows, if the location of your nw.exe has been added to your PATH, then the NW_PATH environment variable does not need to be set.

Testing

Command

ember nw:test

Use this command to run tests in NW.js. ember nw:test will put Testem in CI mode, so the tests will execute once, then exit.

ember nw:test --server

Adding the --server flag will put Testem in Dev mode, so NW.js will stay running, and test results can be viewed both in the NW.js window and in Testem's terminal-based UI.

Options

You can pass the following command line options:

--environment(String) (Default: 'test')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--server(String) (Default: false)

  • Run tests in interactive mode

--protocol(String) (Default: 'http')

  • The protocol to use when running with --server

--host(String) (Default: 'localhost')

  • The host to use when running with --server
  • Alias: -H

--port(Number) (Default: 7357)

  • The port to use when running with --server
  • Alias: -p

--module(String)

  • The name of a test module to run (available with --server)
  • Alias: -m

--filter(String)

  • A string to filter tests to run (available with --server)
  • Alias: -f

Packaging

Command

ember nw:package

This command builds your Ember app, assembles all the assets necessary for NW.js, then generates the final executable using nw-builder.

Options

You can pass the following command line options:

--environment(String) (Default: 'production')

  • Target environment for the Ember app build
  • Alias: -e <value>, -dev (--environment=development), -prod (--environment=production)

--output-path(String) (Default: 'dist/')

  • Output directory for the Ember app build
  • Aliases: -o <value>

--config-file(String) (Default: 'config/nw-package.js')

  • Configuration file for nw-builder
  • Aliases: -f <value>

Configuring nw-builder

nw-builder itself comes with a lot of build options. You can customize any of those settings by supplying a configuration file named config/nw-package.js in your project, or call ember nw:package with the --config-file option set to the desired file.

Configuration File

The configuration file must be a node module that exports a plain object with the names of the options you wish to override as keys:

// config/nw-package.jsmodule.exports={appName: 'my-nw-app',platforms: ['osx64','win64'],buildType: function(){returnthis.appVersion;}};

Default Settings

ember-cli-nwjs sets the following options by default:

  • files
    • Value: ['package.json', 'dist/**', 'node_modules/<name>/**']
    • 'node_modules/<name>/**' is listed for every non-dev npm dependency declared in your project.
  • platforms
    • Value: [<current_platform>]
  • buildDir
    • Value: build/app
  • cacheDir
    • Value: build/cache

Contributing

Working with master

To install the addon from master, run the following:

git clone git@github.com:brzpegasus/ember-cli-nwjs.git
cd ember-cli-nwjs
npm link

Then, in your Ember CLI project:

  • Add ember-cli-nwjs to your package.json's dev dependencies so that Ember CLI can discover and register the addon:
{
"devDependencies": {
"ember-cli-nwjs": "*"
}
}
  • Link to your local ember-cli-nwjs and go through the addon install steps:
npm link ember-cli-nwjs
ember g ember-cli-nwjs

Development

To pass the addon code through the linters during development, run ember build --watch.

Running Tests

To run the addon's test suite:

cd ember-cli-nwjs
npm install
npm test

Want to Help?

This addon was created to help Ember.js developers build applications in NW.js. If you find patterns that work well for you, or would like to suggest ideas to make this addon even better, feel free to open new issues or submit pull requests. I'd love to hear your feedback!

License

Licensed under the MIT license

About

An addon for building desktop apps with Ember and NW.js

Resources

Stars

124 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages