@@ -3,14 +3,6 @@ charset = utf-8
|
|||||||
end_of_line = lf
|
end_of_line = lf
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[*.{js, json, sh, yml, gemspec}]
|
[*.{js, json, sh, yml}]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
[{Rakefile, .jshintrc}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[*.{py}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
|
|||||||
@@ -16,12 +16,6 @@ module.exports = function(grunt) {
|
|||||||
|
|
||||||
grunt.registerTask('default', ['sass:dist', "cssUrlEmbed"]);
|
grunt.registerTask('default', ['sass:dist', "cssUrlEmbed"]);
|
||||||
|
|
||||||
var version = require('./grunt/tasks/version.js');
|
|
||||||
|
|
||||||
grunt.registerTask('build:copyVersionToGem',
|
|
||||||
"Propagates the version from package.json to version.rb",
|
|
||||||
version.copyToGem);
|
|
||||||
|
|
||||||
grunt.registerTask('buildDistribution',
|
grunt.registerTask('buildDistribution',
|
||||||
'Builds and lints jasmine.js, jasmine-html.js, jasmine.css',
|
'Builds and lints jasmine.js, jasmine-html.js, jasmine.css',
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ For the Jasmine NPM module:<br>
|
|||||||
For the Jasmine browser runner:<br>
|
For the Jasmine browser runner:<br>
|
||||||
[https://github.com/jasmine/jasmine-browser](https://github.com/jasmine/jasmine-browser).
|
[https://github.com/jasmine/jasmine-browser](https://github.com/jasmine/jasmine-browser).
|
||||||
|
|
||||||
For the Jasmine Ruby Gem:<br>
|
|
||||||
[https://github.com/jasmine/jasmine-gem](https://github.com/jasmine/jasmine-gem).
|
|
||||||
|
|
||||||
To install Jasmine standalone on your local box (where **_{#.#.#}_** below is substituted by the release number downloaded):
|
To install Jasmine standalone on your local box (where **_{#.#.#}_** below is substituted by the release number downloaded):
|
||||||
|
|
||||||
* Download the standalone distribution for your desired release from the [releases page](https://github.com/jasmine/jasmine/releases).
|
* Download the standalone distribution for your desired release from the [releases page](https://github.com/jasmine/jasmine/releases).
|
||||||
|
|||||||
24
RELEASE.md
24
RELEASE.md
@@ -13,13 +13,14 @@ Please attempt to keep commits to `main` small, but cohesive. If a feature is co
|
|||||||
|
|
||||||
We attempt to stick to [Semantic Versioning](http://semver.org/). Most of the time, development should be against a new minor version - fixing bugs and adding new features that are backwards compatible.
|
We attempt to stick to [Semantic Versioning](http://semver.org/). Most of the time, development should be against a new minor version - fixing bugs and adding new features that are backwards compatible.
|
||||||
|
|
||||||
The current version lives in the file `/package.json`. This version will be the version number that is currently released. When releasing a new version, update `package.json` with the new version and `grunt build:copyVersionToGem` to update the gem version number.
|
The current version lives in the file `/package.json`. This version will be
|
||||||
|
copied to `jasmine.js` when the distribution is built. When releasing a new
|
||||||
This version is used by both `jasmine.js` and the `jasmine-core` Ruby gem.
|
version, update `package.json` with the new version and `npm run build` to
|
||||||
|
update the gem version number.
|
||||||
|
|
||||||
Note that Jasmine should only use the "patch" version number in the following cases:
|
Note that Jasmine should only use the "patch" version number in the following cases:
|
||||||
|
|
||||||
* Changes related to packaging for a specific platform (npm, gem, or pip).
|
* Changes related to packaging for a specific binding library (npm or browser-runner)
|
||||||
* Fixes for regressions.
|
* Fixes for regressions.
|
||||||
|
|
||||||
When jasmine-core revs its major or minor version, the binding libraries should also rev to that version.
|
When jasmine-core revs its major or minor version, the binding libraries should also rev to that version.
|
||||||
@@ -31,7 +32,6 @@ When ready to release - specs are all green and the stories are done:
|
|||||||
1. Update the release notes in `release_notes` - use the Anchorman gem to generate the markdown file and edit accordingly. Include a list of supported environments.
|
1. Update the release notes in `release_notes` - use the Anchorman gem to generate the markdown file and edit accordingly. Include a list of supported environments.
|
||||||
1. Update the version in `package.json`
|
1. Update the version in `package.json`
|
||||||
1. Run `npm run build`.
|
1. Run `npm run build`.
|
||||||
1. Copy version to the Ruby gem with `grunt build:copyVersionToGem`
|
|
||||||
|
|
||||||
### Commit and push core changes
|
### Commit and push core changes
|
||||||
|
|
||||||
@@ -45,11 +45,6 @@ When ready to release - specs are all green and the stories are done:
|
|||||||
1. Build the standalone distribution with `grunt buildStandaloneDist`
|
1. Build the standalone distribution with `grunt buildStandaloneDist`
|
||||||
1. This will generate `dist/jasmine-standalone-<version>.zip`, which you will upload later (see "Finally" below).
|
1. This will generate `dist/jasmine-standalone-<version>.zip`, which you will upload later (see "Finally" below).
|
||||||
|
|
||||||
### Release the core Ruby gem
|
|
||||||
|
|
||||||
1. __NOTE__: You will likely need to push a new jasmine gem with a dependent version right after this release. See below.
|
|
||||||
1. `rake release` - tags the repo with the version, builds the `jasmine-core` gem, pushes the gem to Rubygems.org. In order to release you will have to ensure you have rubygems creds locally.
|
|
||||||
|
|
||||||
### Release the core NPM module
|
### Release the core NPM module
|
||||||
|
|
||||||
1. Run the tests on Windows. (CI only tests on Linux.)
|
1. Run the tests on Windows. (CI only tests on Linux.)
|
||||||
@@ -76,15 +71,6 @@ Probably only need to do this when releasing a minor version, and not a patch ve
|
|||||||
1. Run the tests on Windows locally.
|
1. Run the tests on Windows locally.
|
||||||
1. `grunt release `. (Note: This will publish the package by running `npm publish`.)
|
1. `grunt release `. (Note: This will publish the package by running `npm publish`.)
|
||||||
|
|
||||||
#### Gem
|
|
||||||
|
|
||||||
1. Create release notes using Anchorman as above
|
|
||||||
1. Update the version number in `lib/jasmine/version.rb`.
|
|
||||||
1. Update the jasmine-core dependency version in `jasmine.gemspec`.
|
|
||||||
1. Commit and push.
|
|
||||||
1. Wait for Circle CI to go green again.
|
|
||||||
1. `rake release`
|
|
||||||
|
|
||||||
### Finally
|
### Finally
|
||||||
|
|
||||||
For each of the above GitHub repos:
|
For each of the above GitHub repos:
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
var grunt = require("grunt");
|
|
||||||
|
|
||||||
function gemLib(path) { return './lib/jasmine-core/' + path; }
|
|
||||||
function nodeToRuby(version) { return version.replace('-', '.'); }
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
copyToGem: function() {
|
|
||||||
var versionRb = grunt.template.process(
|
|
||||||
grunt.file.read("grunt/templates/version.rb.jst"),
|
|
||||||
{ data: { jasmineVersion: nodeToRuby(global.jasmineVersion) }});
|
|
||||||
|
|
||||||
grunt.file.write(gemLib("version.rb"), versionRb);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
# -*- encoding: utf-8 -*-
|
|
||||||
$:.push File.expand_path("../lib", __FILE__)
|
|
||||||
require "jasmine-core/version"
|
|
||||||
|
|
||||||
Gem::Specification.new do |s|
|
|
||||||
s.name = "jasmine-core"
|
|
||||||
s.version = Jasmine::Core::VERSION
|
|
||||||
s.platform = Gem::Platform::RUBY
|
|
||||||
s.authors = ["Gregg Van Hove"]
|
|
||||||
s.summary = %q{JavaScript BDD framework}
|
|
||||||
s.description = <<~DESC
|
|
||||||
Test your JavaScript without any framework dependencies, in any environment,
|
|
||||||
and with a nice descriptive syntax.
|
|
||||||
|
|
||||||
Jasmine for Ruby is deprecated. The direct replacment for the jasmine-core
|
|
||||||
gem is the jasmine-core NPM package. If you are also using the jasmine gem,
|
|
||||||
we recommend using the jasmine-browser-runner NPM package instead. It
|
|
||||||
supports all the same scenarios as the jasmine gem gem plus Webpacker. See
|
|
||||||
https://jasmine.github.io/setup/browser.html for setup instructions, and
|
|
||||||
https://github.com/jasmine/jasmine-gem/blob/main/release_notes/3.9.0.md
|
|
||||||
for other options.
|
|
||||||
DESC
|
|
||||||
s.email = %q{jasmine-js@googlegroups.com}
|
|
||||||
s.homepage = "http://jasmine.github.io"
|
|
||||||
s.license = "MIT"
|
|
||||||
|
|
||||||
s.files = Dir.glob("./lib/**/*")
|
|
||||||
s.require_paths = ["lib"]
|
|
||||||
s.add_development_dependency "rake"
|
|
||||||
end
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
if ENV["SUPPRESS_JASMINE_DEPRECATION"].nil?
|
|
||||||
puts <<~END_DEPRECATION_MSG
|
|
||||||
The Jasmine Ruby gems are deprecated. There will be no further releases after
|
|
||||||
the end of the Jasmine 3.x series. We recommend that most users migrate to the
|
|
||||||
jasmine-browser-runner npm package, which is the direct replacement for the
|
|
||||||
jasmine gem. See <https://jasmine.github.io/setup/browser.html> for setup
|
|
||||||
instructions, including for Rails applications that use either Sprockets or
|
|
||||||
Webpacker.
|
|
||||||
|
|
||||||
If jasmine-browser-runner doesn't meet your needs, one of these might:
|
|
||||||
|
|
||||||
* The jasmine npm package to run specs in Node.js:
|
|
||||||
<https://github.com/jasmine/jasmine-npm>
|
|
||||||
* The standalone distribution to run specs in browsers with no additional
|
|
||||||
tools: <https://github.com/jasmine/jasmine#installation>
|
|
||||||
* The jasmine-core npm package if all you need is the Jasmine assets:
|
|
||||||
<https://github.com/jasmine/jasmine>. This is the direct equivalent of the
|
|
||||||
jasmine-core Ruby gem.
|
|
||||||
|
|
||||||
To prevent this message from appearing, set the SUPPRESS_JASMINE_DEPRECATION
|
|
||||||
environment variable.
|
|
||||||
|
|
||||||
END_DEPRECATION_MSG
|
|
||||||
end
|
|
||||||
|
|
||||||
module Jasmine
|
|
||||||
module Core
|
|
||||||
class << self
|
|
||||||
def path
|
|
||||||
File.join(File.dirname(__FILE__), "jasmine-core")
|
|
||||||
end
|
|
||||||
|
|
||||||
def js_files
|
|
||||||
(["jasmine.js"] + Dir.glob(File.join(path, "*.js"))).map { |f| File.basename(f) }.uniq - boot_files - ["boot0.js", "boot1.js"] - node_boot_files
|
|
||||||
end
|
|
||||||
|
|
||||||
SPEC_TYPES = ["core", "html", "node"]
|
|
||||||
|
|
||||||
def core_spec_files
|
|
||||||
spec_files("core")
|
|
||||||
end
|
|
||||||
|
|
||||||
def html_spec_files
|
|
||||||
spec_files("html")
|
|
||||||
end
|
|
||||||
|
|
||||||
def node_spec_files
|
|
||||||
spec_files("node")
|
|
||||||
end
|
|
||||||
|
|
||||||
def boot_files
|
|
||||||
["boot0.js", "boot1.js"]
|
|
||||||
end
|
|
||||||
|
|
||||||
def node_boot_files
|
|
||||||
["node_boot.js"]
|
|
||||||
end
|
|
||||||
|
|
||||||
def boot_dir
|
|
||||||
path
|
|
||||||
end
|
|
||||||
|
|
||||||
def spec_files(type)
|
|
||||||
raise ArgumentError.new("Unrecognized spec type") unless SPEC_TYPES.include?(type)
|
|
||||||
(Dir.glob(File.join(path, "spec", type, "*.js"))).map { |f| File.join("spec", type, File.basename(f)) }.uniq
|
|
||||||
end
|
|
||||||
|
|
||||||
def css_files
|
|
||||||
Dir.glob(File.join(path, "*.css")).map { |f| File.basename(f) }
|
|
||||||
end
|
|
||||||
|
|
||||||
def images_dir
|
|
||||||
File.join(File.dirname(__FILE__), '../images')
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# DO NOT Edit this file. Canonical version of Jasmine lives in the repo's package.json. This file is generated
|
|
||||||
# by a grunt task when the standalone release is built.
|
|
||||||
#
|
|
||||||
module Jasmine
|
|
||||||
module Core
|
|
||||||
VERSION = "3.9.0"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Reference in New Issue
Block a user