JSLintとかprototype.jsとかjQueryとかめも

http://journal.mycom.co.jp/column/js/index.html
JavaScriptの基本的な説明やprototype.jsのコードリーディングを行っています。

jquery.jsを読み解く:特集|gihyo.jp … 技術評論社
jQueryのコードリーディングを行っています。

JSLint: The JavaScript Code Quality Tool
JSLintのページ

jQuery
jQueryの本家

Prototype JavaScript framework: a foundation for ambitious web applications
prototype.jsの本家

Google Code Archive - Long-term storage for Google Code Project Hosting.
jQueryリポジトリ(SVN)

GitHub - prototypejs/prototype: Prototype JavaScript framework
prototype.jsリポジトリ(Git)

>git clone git://github.com/sstephenson/prototype.git
Initialized empty Git repository in C:/〜/prototype/.git/
remote: Counting objects: 3395, done.
remote: Compressing objects: 100% (1388/1388), done.
remote: Total 3395 (delta 2492), reused 2658 (delta 1973)
Receiving objects: 100% (3395/3395), 587.88 KiB | 192 KiB/s, done.
Resolving deltas: 100% (2492/2492), done.

>cd prototype

>ls
CHANGELOG  LICENSE  README.rdoc  Rakefile  dist  ext  src  test  vendor

>git submodule init
Submodule 'vendor/caja_builder' (git://github.com/tobie/unittest_js_caja_builder
.git) registered for path 'vendor/caja_builder'
Submodule 'vendor/pdoc' (git://github.com/tobie/pdoc.git) registered for path 'v
endor/pdoc'
Submodule 'vendor/sprockets' (git://github.com/sstephenson/sprockets.git) regist
ered for path 'vendor/sprockets'
Submodule 'vendor/unittest_js' (git://github.com/tobie/unittest_js.git) register
ed for path 'vendor/unittest_js'

>git submodule update
Initialized empty Git repository in C:/〜/prototype/vendor/caja_b
uilder/.git/
remote: Counting objects: 100, done.[K
remote: Compressing objects: 100% (92/92), done.[K
remote: Total 100 (delta 17), reused 0 (delta 0)[KB/s
Receiving objects: 100% (100/100), 3.84 MiB | 102 KiB/s, done.
Resolving deltas: 100% (17/17), done.
Submodule path 'vendor/caja_builder': checked out 'aeda517c2e82db92bc88d56ed68fa
4ce05f487a9'
Initialized empty Git repository in C:/〜/prototype/vendor/pdoc/.
git/
remote: Counting objects: 783, done.[K
remote: Compressing objects: 100% (469/469), done.[K
remote: Total 783 (delta 408), reused 507 (delta 261)[Ks
Receiving objects: 100% (783/783), 262.37 KiB | 125 KiB/s, done.
Resolving deltas: 100% (408/408), done.
Submodule path 'vendor/pdoc': checked out '5d54c75319969784e7e921ac27a5ef4cb45f5
0df'
Initialized empty Git repository in C:/〜/prototype/vendor/sprock
ets/.git/
remote: Counting objects: 385, done.[K
remote: Compressing objects: 100% (334/334), done.[K
remote: Total 385 (delta 212), reused 69 (delta 29)[K
Receiving objects: 100% (385/385), 50.35 KiB, done.
Resolving deltas: 100% (212/212), done.
Submodule path 'vendor/sprockets': checked out '95aad141d4bb31eb8fc36d63e7c68209
1f06f37f'
Initialized empty Git repository in C:/〜/prototype/vendor/unitte
st_js/.git/
remote: Counting objects: 73, done.[K
remote: Compressing objects: 100% (71/71), done.[K
remote: Total 73 (delta 14), reused 0 (delta 0)[K
Receiving objects: 100% (73/73), 53.19 KiB | 36 KiB/s, done.
Resolving deltas: 100% (14/14), done.
Submodule path 'vendor/unittest_js': checked out 'd0d28f58f127796c9cf916bd4f1c95
f90b9a3fdc'

>rake dist
(in C:/〜/prototype)

>ls dist
prototype.js
  • jQueryのチェックアウト、ビルド
>svn co http://jqueryjs.googlecode.com/svn/trunk/jquery jquery
A    jquery\build
A    jquery\build\build
A    jquery\build\build\pack.js
A    jquery\build\build\min.js
A    jquery\build\yuicompressor-2.4.2.jar
A    jquery\build\speed
A    jquery\build\speed\benchmarker.css
A    jquery\build\speed\jquery-basis.js
A    jquery\build\speed\index.html
A    jquery\build\speed\benchmarker.js
A    jquery\build\runtest
A    jquery\build\runtest\env.js
A    jquery\build\runtest\testrunner.js
A    jquery\build\runtest\test.js
A    jquery\build\style.xsl
A    jquery\build\js.jar
A    jquery\build\js
A    jquery\build\js\Packer.js
A    jquery\build\js\ParseMaster.js
A    jquery\build\js\json.js
A    jquery\build\js\writeFile.js
A    jquery\build\js\parse.js
A    jquery\build\js\base2.js
A    jquery\build\js\pack.js
A    jquery\build\js\Words.js
A    jquery\build\js\xml.js
A    jquery\build\js\jsmin.js
A    jquery\build\ant-contrib-0.6.jar
A    jquery\test
A    jquery\test\unit
A    jquery\test\unit\offset.js
A    jquery\test\unit\core.js
A    jquery\test\unit\dimensions.js
A    jquery\test\unit\data.js
A    jquery\test\unit\fx.js
A    jquery\test\unit\selector.js
A    jquery\test\unit\event.js
A    jquery\test\unit\ajax.js
A    jquery\test\xhtml.php
A    jquery\test\data
A    jquery\test\data\jsonp.php
A    jquery\test\data\test.html
A    jquery\test\data\name.html
A    jquery\test\data\testrunner.js
A    jquery\test\data\dashboard.xml
A    jquery\test\data\offset
A    jquery\test\data\offset\body.html
A    jquery\test\data\offset\absolute.html
A    jquery\test\data\offset\scroll.html
A    jquery\test\data\offset\fixed.html
A    jquery\test\data\offset\static.html
A    jquery\test\data\offset\table.html
A    jquery\test\data\offset\relative.html
A    jquery\test\data\echoQuery.php
A    jquery\test\data\test.js
A    jquery\test\data\json_assigned_obj.js
A    jquery\test\data\params_html.php
A    jquery\test\data\json.php
A    jquery\test\data\with_fries.xml
A    jquery\test\data\test2.html
A    jquery\test\data\test.php
A    jquery\test\data\test3.html
A    jquery\test\data\iframe.html
A    jquery\test\data\name.php
A    jquery\test\data\cow.jpg
A    jquery\test\data\text.php
A    jquery\test\data\json_obj.js
A    jquery\test\offset.html
A    jquery\test\index.html
A    jquery\test\test.js
A    jquery\test\otherlibs
A    jquery\test\otherlibs\jquery
A    jquery\test\otherlibs\jquery\1.2.1
A    jquery\test\otherlibs\jquery\1.2.1\jquery.js
A    jquery\test\otherlibs\jquery\1.2.3
A    jquery\test\otherlibs\jquery\1.2.3\jquery.js
A    jquery\test\otherlibs\scriptaculous
A    jquery\test\otherlibs\scriptaculous\1.7.0
A    jquery\test\otherlibs\scriptaculous\1.7.0\builder.js
A    jquery\test\otherlibs\scriptaculous\1.7.0\effects.js
A    jquery\test\otherlibs\scriptaculous\1.7.0\unittest.js
A    jquery\test\otherlibs\scriptaculous\1.7.0\scriptaculous.js
A    jquery\test\otherlibs\scriptaculous\1.7.0\dragdrop.js
A    jquery\test\otherlibs\scriptaculous\1.7.0\slider.js
A    jquery\test\otherlibs\scriptaculous\1.7.0\controls.js
A    jquery\test\otherlibs\scriptaculous\1.8.1
A    jquery\test\otherlibs\scriptaculous\1.8.1\builder.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\sound.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\effects.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\unittest.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\scriptaculous.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\dragdrop.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\slider.js
A    jquery\test\otherlibs\scriptaculous\1.8.1\controls.js
A    jquery\test\otherlibs\prototype
A    jquery\test\otherlibs\prototype\1.6.0.2
A    jquery\test\otherlibs\prototype\1.6.0.2\prototype.js
A    jquery\test\otherlibs\mootools
A    jquery\test\otherlibs\mootools\1.11
A    jquery\test\otherlibs\mootools\1.11\mootools.js
A    jquery\test\polluted.php
A    jquery\GPL-LICENSE.txt
A    jquery\version.txt
A    jquery\reminder.txt
A    jquery\ChangeLog.txt
A    jquery\src
A    jquery\src\offset.js
A    jquery\src\outro.js
A    jquery\src\core.js
A    jquery\src\dimensions.js
A    jquery\src\data.js
A    jquery\src\intro.js
A    jquery\src\support.js
A    jquery\src\fx.js
A    jquery\src\selector.js
A    jquery\src\event.js
A    jquery\src\ajax.js
A    jquery\MIT-LICENSE.txt
A    jquery\Makefile
A    jquery\README
A    jquery\build.xml
 U   jquery

外部項目を 'jquery\test\qunit' に取得しています
A    jquery\test\qunit\testsuite.css
A    jquery\test\qunit\testrunner.js
 U   jquery\test\qunit
外部項目 (リビジョン 6266) をチェックアウトしました。

リビジョン 6266 をチェックアウトしました。

>cd jquery

>ls
ChangeLog.txt    MIT-LICENSE.txt  README  build.xml     src   version.txt
GPL-LICENSE.txt  Makefile         build   reminder.txt  test

>ant
Buildfile: build.xml

jquery:
     [echo] Building ./dist/jquery.js
    [mkdir] Created dir: C:\〜\jquery\dist
     [echo] ./dist/jquery.js built.

BUILD SUCCESSFUL
Total time: 0 seconds
>ls dist
jquery.js  jquery.min.js

makeでもいけるみたい

>make
Building ./dist/jquery.js
./dist/jquery.js Built

Building ./dist/jquery.min.js
 - Compressing using Minifier
./dist/jquery.min.js Built

Building Speed Test Suite
 - Making Speed Test Suite Directory: ./speed
 - Copying over script files.
Speed Test Suite Built

jQuery build complete.
  • JSLintの実行例
>cscript jslint.js < myprogram.js
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Lint at line 1 character 15: Use the object literal notation {}.
var map = new Object();

>cscript jslint.js < myprogram.js
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Lint at line 1 character 17: Use the array literal notation [].
var array = new Array();