Skip to content
This repository has been archived by the owner on Nov 30, 2018. It is now read-only.

Commit

Permalink
Merge pull request #539 from BlueSpire/Version-2.1.0
Browse files Browse the repository at this point in the history
Version 2.1.0
  • Loading branch information
EisenbergEffect committed Jun 8, 2014
2 parents 04d6d28 + 8e70deb commit c9b4804
Show file tree
Hide file tree
Showing 674 changed files with 119,178 additions and 114,818 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@ docs/api*

!build.bat
!*.ps1

!docs/2.x/*
!docs/1.2/*
!platforms/Microsoft.NET/StarterKit/vsix/DurandalMvcSpaTemplateVsix/packages
120 changes: 120 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
#Contributing to Durandal

We'd love for you to contribute to our source code and to make Durandal even better than it is today! Here are the guidelines we'd like you to follow:

- [Code of Conduct](#coc)
- [Question or Problem?](#question)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Submission Guidelines](#submit)
- [Coding Rules](#rules)

## <a name="coc"></a> Code of Conduct
As contributors and maintainers of the Durandal project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities.

Communication through any of Durandal's channels (GitHub, mailing lists, Google+, Twitter, etc.) must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.

We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the Durandal project to do the same.

If any member of the community violates this code of conduct, the maintainers of the Durandal project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate.

If you are subject to or witness unacceptable behavior, or have any other concerns, please email us at [email protected].

## <a name="question"></a> Got a Question or Problem?

If you have questions about how to use Durandal, please direct these to the [Google Group][groups]
discussion list or [StackOverflow][stackoverflow].

## <a name="issue"></a> Found an Issue?
If you find a bug in the source code or a mistake in the documentation, you can help us by
submitting an issue to our [GitHub Repository][github]. Even better, you can submit a Pull Request
with a fix.

**Please see the Submission Guidelines below**.

## <a name="feature"></a> Want a Feature?
As of version 2.1, we are locking down Durandal to its current feature set. The best way to add new features is through authoring plugins or specialized monkey patching of the API. The library has been designed in such a way as to make this easy.

## <a name="docs"></a> Want a Doc Fix?
If you want to help improve the docs, it's a good idea to let others know what you're working on to
minimize duplication of effort. Before starting, check out the issue queue. Comment on an issue to let others know what you're working on, or create a new issue if your work doesn't fit within the scope of any of the existing doc fix issues.

You should also make sure that your commit message is labeled "docs:" for clarity.

## <a name="submit"></a> Submission Guidelines

### Submitting an Issue
Before you submit your issue, search the archive. Maybe your question was already answered.

If your issue appears to be a bug, and hasn't been reported, open a new issue.
Help us to maximize the effort we can spend fixing issues by not reporting duplicate issues. Providing the following information will increase the chances of your issue being dealt with quickly:

* **Overview of the issue** - if an error is being thrown a non-minified stack trace helps
* **Motivation for or Use Case** - explain why this is a bug for you
* **Durandal Version(s)** - is it a regression?
* **Browsers and Operating System** - is this a problem with all browsers or only IE8?
* **Reproduce the error** - provide a live example or an unambiguous set of steps.
* **Related issues** - has a similar issue been reported before?
* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be
causing the problem (line of code or commit)

**If you get help, help others!**

### Submitting a Pull Request
Before you submit your pull request consider the following guidelines:

* Search for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort.
* Make your changes in a new git branch

```shell
git checkout -b my-fix-branch master
```

* Create your patch, **including appropriate test cases**.
* Follow our [Coding Rules](#rules).
* Run the full Durandal test suite and ensure that all tests pass.
* Commit your changes using a descriptive commit message.

```shell
git commit -a
```
Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files.

* Push your branch to GitHub:

```shell
git push origin my-fix-branch
```

* In GitHub, send a pull request.
* If we suggest changes then
* Make the required updates.
* Re-run the test suite to ensure tests are still passing.
* Rebase your branch and force push to your GitHub repository (this will update your Pull Request):

```shell
git rebase master -i
git push -f
```

That's it! Thank you for your contribution!
#### After your pull request is merged
After your pull request is merged, you can safely delete your branch and pull the changes
from the main (upstream) repository.
## <a name="rules"></a> Coding Rules
To ensure consistency throughout the source code, keep these rules in mind as you are working:
* All features or bug fixes **must be tested** by one or more specs.
* All public API methods **must be documented**.
* Try to follow the existing code style.
*Many thanks to the AngularJS team. The content of this document is based on the "Contributing" and "Code of Conduct" guides of their project.*
[github]: https://github.com/BlueSpire/Durandal
[groups]: https://groups.google.com/forum/?fromgroups=#!forum/durandaljs
[stackoverflow]: http://stackoverflow.com/questions/tagged/durandal
91 changes: 90 additions & 1 deletion Changes.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,93 @@
2.0.1
2.1.0
-Fix Issue #381: Update Durandal to use KO 3
-Fix Issue #374: Bootstrap 3.0 & Font-Awesome Update
-Fix Issue #380: Replaced html bindings with text bindings in sample application codes
-Fix Issue #375: Potentially insecure code in Durandal example app
-Fix Issue #372: Better system.guid implementation
-Fix Issue #385: Routes are case sensitive (and should not be by default)
-Fix Issue #357: Child routers which are 3 levels deep are broken with 2.0.1
-Fix Issue #376: returning false in canDeactivate strips queryString
-Fix Issue #354: Check for obj.prototype before reading or assigning
-Fix Issue #407: Entrance Transition Bug
-Fix Issue #337: module canActivate is not fired when module is already active
-Fix Issue #382: Allow more granular control for module comparison during activation
-Fix Issue #293: Transitions now use CSS3 animations when available.
-Fix Issue #440: Remove *details part when hash generated #440
-Fix Issues #386 and #437: Double activate when using activator with compose binding
-Fix Issue #257: Add PUT and DELETE methods to http plugin
-Fix Issue #270: Add "as" parameter to compose binding
-Fix Issue #409: Navigate method: Only set explicitNavigation to true when trigger is true
-Fix Issue #286: Adding the ability to use a .hasChildRoutes boolean route property rather than *details
-Fix Issue #312: Improved query string to handle multiple occurences of the same key
-Fix Issue #315: Append startRoute option to router activate options
-Fix Issue #343: Support for observable route titles
-Fix Issue #355: Fix bug where IE will fail to load view due to wrong typeName
-Fix Issue #360: Added a toJSON function to the http module to allow customizing how objects are converted
-Fix Issue #405: Added Layout = null to index view for vs template and nuget starter kit
-Fix Issue #368: Added headers to http.js plugin
-Fix Issue #412/#413: Route configured as RegExp object throwing error
-Fix Issue #426: Fix bug where guardRoute cannot redirect to ''
-Fix Issue #480: DurandalRouteConfiguration.nav to be optional in Typescript definition
-Fix Issue #449: dialog's config.messageBoxView working improperly
-Fix Issue #445: Improve 'Route Not Found' message
-Fix Issue #362: Dialog improvements
-Fix Issue #452: Provide original error to system.error
-Fix Issue #459: Fixed bug in router where querystring in child routes causes Route Not Found errors
-Fix Issue #464: Fix a bug that causes routes to be relative even when in pushState
-Fix Issue #473 and 476: Querystring function should only split on first '='
-Fix Issue #482: Support full HTML templates
-Fix Issue #486: Allow `app.title` to be an observable.
-Fix Issue #483: Renaming "module" variable
-Fix Issue #300: closeDialog convenience API
-Fix Issue #361: TS File has incorrect sig for observable.defineProperty by making the actual implementation more flexible
-Fix Issue #436, #453 and #371: Composition complete callbacks not trigged
-Fix Issue #481: Dialog improvement (adding binding callback to custom contexts)
-Fix Issue #346 and #438: various composition part pass through issues
-Fix Issue #475 and #432: Abort composition when the context is changed during activation
-Fix Issue #488/#421: TypeScript - expose durandal/system and durandal/viewEngine in module
-Fix Issue #490: Add optional change detection via the observable module. See docs for details.
-Fix Issue #494: Feature: serializer.clone
-Fix Issue #495: Maybe add a router navigation started event (added router:navigation:processing)
-Fix Issue #498 and #496: Overwriting an observable array results in one-way binding of the new array
-Fix Issue #489: Observable plugin resetting Deferred properties as undefined
-Fix Issue #366: Make Observable Tracking Non-Enumerable
-Fix Issue #501: Entrance transition bug in Chrome 34
-Fix Issue #503: Updated showMessage overload
-Fix Issue #395: setRoot() composition skips canActivate
-Fix Issues #418, #181, #297: Various fixes to activator hierarchies and child routers
-Fix Issue #461: Router: Click binding not stripping root path
-Fix Issue #508: Composition on error override
-Fix Issue #511: Always end composition, even on error
-Fix Issue #509: Unable to set activator settings "closeOnDeactivate" property to false
-Fix Issue #512: Multi-item activator issue
-Fix Issue #356: Don't throw exception in deferred fail in canActivate
-Fix Issue #417: Added support for null routes.
-Fix Issue #500: Observable.js - Custom shouldIgnorePropertyName
-Fix Issue #505: Make observable plug-in convert existing properties
-Fix Issue #262: binding different views to the same view-model (enable default behavior of router)
-Fix Issue #430: Sometimes, negative response from CanDeactivate doesn't restore previous URL
-Fix Issue #520: Ensuring that composition show never inadvertently hides elements
-Fix Issue #514: Don't enforce viewPlugin
-Fix Issue #519: Optimize Part Replacement
-Fix Issue #513: Navigating back refreshes the page in latest chrome, when using router.navigate with {replace: true}
-Fix Issue #516: Add dynamic child hash via cwooldridge
-Fix Issue #515: Cache Parsed Views
-Fix Issue #479: Can't use template with vs2013 express
-Fix Issue #523: viewEngine$createView does not deliver promise but deferred object when returning cached element
-Fix issue #530: add console.error call to logError
-Fix Issue #531: Made dialog.isOpen computed
-Fixed a bug with activation when modules were reused. Lifecycle wasn't fully enforced.
-Added a string.trim polyfill
-Updated Bootstrap to 3.1.1
-Updated FontAwesome to 4.0.3.1
-Updated Knockout to 3.1.0
-Updated RequireJS to 2.1.11
-Updated RequireJS Text Plugin to 2.0.7
-Updated Mimosa skeleton to 2.x
-Various fixes/extensions to the docs and readme
-Various css improvements and typographic fixes

2.0.1
-Fix Issue #259: Fragment doesn't include query when using push state
-Fix Issue #258: Absolute links not working when using push state
-Fix Issue #254: Bad mainConfigFile entry in the default weyland-config of the Durandal nuget package
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,16 @@ Durandal is a cross-device, cross-platform client framework written in JavaScrip

## Documentation

All the documentation is located on [the official site](http://durandaljs.com/), so have a look there for help on how to [get started](http://durandaljs.com/pages/get-started/), [read tutorials](http://durandaljs.com/pages/docs/), [view sample descriptions](http://durandaljs.com/documentation/Understanding-the-Samples/) and peruse the module reference docs.
If you want to keep up to date with the activity that is happening on the master branch, you can [subscribe to the commit feed](https://github.com/BlueSpire/durandal/commits/master.atom).
All the documentation is located on [the official site](http://durandaljs.com/), so have a look there for help on how to [get started](http://durandaljs.com/get-started.html), [read tutorials](http://durandaljs.com/docs.html), [view sample descriptions](http://durandaljs.com/documentation/Understanding-the-Samples.html) and peruse the module reference docs.

## Community & Support

Need help with something that the docs aren't providing an answer to?
Visit our [google group](https://groups.google.com/forum/?fromgroups#!forum/durandaljs) and join in the conversation. We also provide [full commercial support](http://durandaljs.com/pages/support/) no matter how large or small your team is. Additionally, we offer both [on-site and remote training](http://durandaljs.com/pages/training/).
Visit our [google group](https://groups.google.com/forum/?fromgroups#!forum/durandaljs) and join in the conversation.

## Contributing

We'd love for you to contribute to the Durandal project! If you are interested, please have a read through our [contributing](/CONTRIBUTING.md) guide.

## License

Expand Down
34 changes: 14 additions & 20 deletions Release Checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,28 +12,22 @@ Durandal Release Checklist
4. Test All Starter Kits, Samples and Known Apps
5. Build Nugets - Durandal, Durandal.Transitions, Durandal.StarterKit
6. Test Nugets
7. Build VSIX
* Copy Versioned Nugets to Packages folder
* Update Package References in Files
* Build
8. Test VSIX
9. Build Zips - Durandal, StarterKit, Samples
7. Test Mimosa
8. Build Zips - Durandal, StarterKit, Samples
* Include Changes.txt
* Include License.txt
10. Update Website with New Downloads and API Docs
11. Test Mimosa
12. Merge version branch into master.
13. Publish Bower
* Include License and Readme
* Include Readme.md
9. Update Website with New Downloads, Documentation and API data
10. Merge version branch into master.
11. Release on Github
* Tag with semver
* Attach all artifacts
12. Publish Bower
* Include License, Readme and Changes
* Test Locally
* Update Github
* Github Tag
* (Register with Bower)
14. Publish Mimosa Skeleton via Github
15. Publish Nugets
16. Publish VSIX
17. Publish TypeScript definitions
18. Release on Github
* Tag with semver
* Attach all artifacts
19. Publish Website
13. Publish Mimosa Skeleton via Github
14. Publish Nugets
15. Publish Website
16. Send pull request to definitely typed
32 changes: 16 additions & 16 deletions docs/1.2/Visual-Studio-Project-Template.html.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
title: Docs - Visual Studio Project Template
layout: docs
tags: ['docs','how to','setup']
---
# Visual Studio Project Template
####

0. Be sure you have the ASP.NET and Web Tools 2012.2 Update installed. Download it [here](http://go.microsoft.com/fwlink/?LinkId=282650) and install it.
1. To get started with the Visual Studio Project template, [download it from here](/version/latest/DurandalTemplate.vsix).
2. Once you've downloaded the VSIX, double click it to install it.
3. Next, open Visual Studio and from the Start Page or File menu, select “New Project…”
4. When the “New Project” dialog appears, choose “ASP.NET MVC 4 Web Application”.
5. In the following dialog, you will be able to select your template. Choose “Durandal SPA Project”.

Visual Studio will now create your starter project.
---
title: Docs - Visual Studio Project Template
layout: docs
tags: ['docs','how to','setup']
---
# Visual Studio Project Template
####

0. Be sure you have the ASP.NET and Web Tools 2012.2 Update installed. Download it [here](http://go.microsoft.com/fwlink/?LinkId=282650) and install it.
1. To get started with the Visual Studio Project template, [download it from here](/version/latest/DurandalTemplate.vsix).
2. Once you've downloaded the VSIX, double click it to install it.
3. Next, open Visual Studio and from the Start Page or File menu, select “New Project…”
4. When the “New Project” dialog appears, choose “ASP.NET MVC 4 Web Application”.
5. In the following dialog, you will be able to select your template. Choose “Durandal SPA Project”.

Visual Studio will now create your starter project.
13 changes: 6 additions & 7 deletions docs/2.x/Automating-Builds-with-Visual-Studio.html.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,31 @@ It is a recommened practice to optimize your application for deploy. If you are

#### Install Dependencies
1. Install NodeJS from http://nodejs.org
2. Install Weyland via NPM using the following command `npm install -g weyland`
2. Install a build tool such as Gulp or Grunt via NPM

#### Add A Config File

At the project root create a js file named _weyland-config.js_
You can use the config file from the Nuget or VSIX install as is, except remove this line or your build will fail: `mainConfigFile: 'App/main.js'` (This is fixed as of 2.0.1.)
At the project root create your build config file, per the instructions from your chosen build tool.

#### Add the Post Build Event

Go to the project's properties and select `Build Events`. In the post build event add the following:
Go to the project's properties and select `Build Events`. In the post build event add the following (note that this example uses a hypothetical gulp build):

```
cd $(ProjectDir)
weyland build
gulp build
```

If you ony want to build when the Release configuration is selected, use the following:

```
if '$(Configuration)'=='Release' (
cd $(ProjectDir)
weyland build
gulp build
)
```

Build your project. You should see the weyland build output in the Output window, with a last line similar to: "Optimized build created at ...App\main-built.js"
Build your project. You should see the build output in the Output window.

#### Include Generated Files

Expand Down
Loading

0 comments on commit c9b4804

Please sign in to comment.