oneis 1.1.0-java → 1.2.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/js.jar +0 -0
- data/lib/js_syntax_test.js +20 -13
- data/lib/new_plugin.rb +6 -12
- data/lib/syntax_checking.rb +20 -6
- data/lib/version.txt +1 -1
- data/oneis.gemspec +2 -2
- metadata +2 -2
data/lib/js.jar
CHANGED
Binary file
|
data/lib/js_syntax_test.js
CHANGED
@@ -38,13 +38,15 @@
|
|
38
38
|
optionsBrowser.browser = true;
|
39
39
|
|
40
40
|
// Predefined globals
|
41
|
-
var
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
41
|
+
var globalsServer = [
|
42
|
+
'O',
|
43
|
+
'SCHEMA', 'TYPE', 'ATTR', 'ALIASED_ATTR', 'QUAL', 'LABEL', 'GROUP',
|
44
|
+
'HTTP', 'DBTime',
|
45
|
+
'console', 'JSON',
|
46
|
+
'_', 'Handlebars', 'oForms', 'moment', 'XDate'
|
47
|
+
];
|
48
|
+
var globalsBrowser = ['ONEIS', 'jQuery', '_'];
|
49
|
+
var globalsTest = globalsServer.concat('T');
|
48
50
|
|
49
51
|
// Set globals
|
50
52
|
root.syntax_tester_globals = function(string) {
|
@@ -52,14 +54,19 @@
|
|
52
54
|
};
|
53
55
|
|
54
56
|
// Syntax tester function
|
55
|
-
root.syntax_tester = function(source, kind) {
|
56
|
-
var
|
57
|
+
root.syntax_tester = function(source, kind, extraGlobals) {
|
58
|
+
var globalList;
|
57
59
|
switch(kind) {
|
58
|
-
case "js":
|
59
|
-
case "static":
|
60
|
-
case "test":
|
60
|
+
case "js": globalList = globalsServer; break;
|
61
|
+
case "static": globalList = globalsBrowser; break;
|
62
|
+
case "test": globalList = globalsTest; break;
|
63
|
+
}
|
64
|
+
if(!globalList) { return "Wrong kind of file"; }
|
65
|
+
var globals = {}, addGlobal = function(g) { globals[g] = false; };
|
66
|
+
globalList.forEach(addGlobal);
|
67
|
+
if(extraGlobals) {
|
68
|
+
JSON.parse(extraGlobals).forEach(addGlobal);
|
61
69
|
}
|
62
|
-
if(!globals) { return "Wrong kind of file"; }
|
63
70
|
var result = JSHINT(source,
|
64
71
|
(kind !== 'static') ? optionsServer : optionsBrowser,
|
65
72
|
globals
|
data/lib/new_plugin.rb
CHANGED
@@ -26,7 +26,7 @@ module PluginTool
|
|
26
26
|
"displayName": "#{plugin_name.split('_').map {|e| e.capitalize} .join(' ')}",
|
27
27
|
"displayDescription": "TODO Longer description of plugin",
|
28
28
|
"installSecret": "#{install_secret}",
|
29
|
-
"apiVersion":
|
29
|
+
"apiVersion": 3,
|
30
30
|
"load": [
|
31
31
|
"js/#{plugin_name}.js"
|
32
32
|
],
|
@@ -37,18 +37,12 @@ __E
|
|
37
37
|
File.open("#{plugin_name}/js/#{plugin_name}.js",'w') do |file|
|
38
38
|
file.write(<<__E)
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
(
|
43
|
-
|
44
|
-
P.respond("GET", "/do/#{plugin_url_fragment}/example", [
|
45
|
-
], function(E) {
|
46
|
-
E.render({
|
47
|
-
pageTitle: "Example page"
|
48
|
-
});
|
40
|
+
P.respond("GET", "/do/#{plugin_url_fragment}/example", [
|
41
|
+
], function(E) {
|
42
|
+
E.render({
|
43
|
+
pageTitle: "Example page"
|
49
44
|
});
|
50
|
-
|
51
|
-
})(#{plugin_name});
|
45
|
+
});
|
52
46
|
|
53
47
|
__E
|
54
48
|
end
|
data/lib/syntax_checking.rb
CHANGED
@@ -35,23 +35,37 @@ module PluginTool
|
|
35
35
|
# Load the plugin.json file
|
36
36
|
plugin_dir = plugin.plugin_dir
|
37
37
|
plugin_json = File.open("#{plugin_dir}/plugin.json") { |f| JSON.parse(f.read) }
|
38
|
+
api_version = (plugin_json["apiVersion"] || '0').to_i
|
38
39
|
# Determine kind of file
|
39
|
-
file =~ /\A(\w+)\//
|
40
|
-
kind = $1
|
40
|
+
kind = (file =~ /\A(\w+)\//) ? $1 : file
|
41
41
|
# Is this file referenced?
|
42
42
|
report = nil
|
43
|
+
extra_globals = []
|
43
44
|
unless kind != 'js' || plugin_json['load'].include?(file)
|
44
45
|
puts "\nWARNING: #{plugin_dir}/plugin.json doesn't mention #{file} in the load directive.\n"
|
45
46
|
report = "Couldn't check file - not mentioned in plugin.json"
|
46
47
|
else
|
47
48
|
# Load the file
|
48
49
|
js = File.open("#{plugin_dir}/#{file}") { |f| f.read }
|
49
|
-
|
50
|
-
|
51
|
-
|
50
|
+
if api_version < 3
|
51
|
+
# If it's not the first file, need to tell JSHint about the extra var
|
52
|
+
unless plugin_json['load'].first == file
|
53
|
+
extra_globals << plugin_json["pluginName"];
|
54
|
+
end
|
55
|
+
else
|
56
|
+
if kind == 'js'
|
57
|
+
extra_globals << plugin_json["pluginName"]
|
58
|
+
extra_globals << 'P'
|
59
|
+
locals = plugin_json["locals"]
|
60
|
+
if locals
|
61
|
+
locals.each_key { |local| extra_globals << local }
|
62
|
+
end
|
63
|
+
end
|
64
|
+
# global.js requires server side syntax checking, but doesn't have any extra globals, not even the plugin name.
|
65
|
+
kind = 'js' if kind == 'global.js'
|
52
66
|
end
|
53
67
|
# Do syntax checking
|
54
|
-
report = @@syntax_tester.call(@@cx, @@javascript_scope, @@javascript_scope, [js, kind])
|
68
|
+
report = @@syntax_tester.call(@@cx, @@javascript_scope, @@javascript_scope, [js, kind, JSON.generate(extra_globals)])
|
55
69
|
end
|
56
70
|
report
|
57
71
|
end
|
data/lib/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2a2fcaef6e
|
data/oneis.gemspec
CHANGED
@@ -3,8 +3,8 @@ Gem::Specification.new do |s|
|
|
3
3
|
files = Dir.glob("#{root_dir}/**/*.*").map { |x| x[root_dir.length + 1, x.length]}
|
4
4
|
|
5
5
|
s.name = 'oneis'
|
6
|
-
s.version = '1.
|
7
|
-
s.date = '2014-
|
6
|
+
s.version = '1.2.0'
|
7
|
+
s.date = '2014-11-20'
|
8
8
|
s.summary = "ONEIS Tools"
|
9
9
|
s.description = "ONEIS Developer Tools"
|
10
10
|
s.authors = ["ONEIS"]
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: oneis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.
|
5
|
+
version: 1.2.0
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- ONEIS
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-11-20 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jruby-openssl
|