{"_id":"ali-tmodjs","_rev":"34-87ae3c12c8cf1bb9b7380b6042d9b8a0","name":"ali-tmodjs","description":"Template Compiler","dist-tags":{"latest":"1.2.1","dev":"1.0.9-rc2"},"versions":{"1.0.5":{"name":"ali-tmodjs","version":"1.0.5","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"tmod":"./bin/tmod","tmodjs":"./bin/tmod"},"scripts":{"test":"tmod ./test/tpl","test2":"tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.5","dist":{"shasum":"b3bf119ef0927b1204a4ff4ae4536f926929d4ae","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.5.tgz","integrity":"sha512-hYiSg7CryuYIETooNJ0Odd1bwg0NI3vG/s6+4QTfaPoyg67ZWv3a188J6aBYd30ITQQRDCgadDs7FB4PQza1yA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXzT6KGbT6fvXJm6oPxje1QqBJNbjYe17xKKgpObCW9wIhAMu6dgmtkbvO93fvwrdCkdE+Fdh55+WKEt7T7KugDGBs"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.6":{"name":"ali-tmodjs","version":"1.0.6","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/tmod","ali-tmodjs":"./bin/tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.6","dist":{"shasum":"2526c9a8ba9692ce0aaf280e4328d5bc01922298","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.6.tgz","integrity":"sha512-zp5zgMPBhgZgpUIQD5s7V6ytMf9iknEJaTetuOcrz5fK2eG3JCsKHyoHkYphLo7OyQUec/sJrYgoARVfOMxEOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6Nq3uo1J+BLPBTM7hN3F8knXgXQFkw8ZFjc+K4iRATQIhAMh3+8QTogE+QOA6m/zl5nETijpdWM1J3hyS6bdfj4mo"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.6-rc1":{"name":"ali-tmodjs","version":"1.0.6-rc1","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.6-rc1","dist":{"shasum":"d4aad59926b2df15a17f3750a175fe9dd3e19e5a","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.6-rc1.tgz","integrity":"sha512-EqTAwPEoUWsy+qIHG1so2ObgXpcyHB9INQ/zAAkjSOEscv9eaClaN58CIZWrhyx9SmNiLWmW9yJqvxXot7tbVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID8XICo6aUaFG3RXScggTAH1VZWRmOgyy+TAKALqn3Q1AiAY8p3UDE0TXjmyqKVWRGgIO7QqTZJimBtIt8Jp7JxkHQ=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.6-rc2":{"name":"ali-tmodjs","version":"1.0.6-rc2","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.6-rc2","dist":{"shasum":"4d48eaf7032e76069e35c770ee7781ce114dabab","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.6-rc2.tgz","integrity":"sha512-blp4G/sCedK3UD1UyGv13vQmtiMunZSx90bcPqXECr53vTCkfPQig4jVKme3nlo03U8vnF60+jKv8mcouUwHYA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDK17LnCz+aquGx6kFFRUOfgd+2qcg78FkKMLFtuwOvBgIhALVQgYwbQDYNi57Je2gcUCdazp/9TadtpS9VC5X1CfMN"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.6-rc3":{"name":"ali-tmodjs","version":"1.0.6-rc3","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.6-rc3","dist":{"shasum":"e373b3de400ebacdcfbd10b666faa59319e00907","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.6-rc3.tgz","integrity":"sha512-PkNiZTAXTvjcME25WGRZZCCeWWsPck3UVUeyacDoG7UQq4k6xrYICFOjBB7QZSMx79N4DTxVzr7BNu6BSXkvxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH3mEEfVQGFg3bXIvc3JQy4cj8Rvr0QTgy2qEyNtMoq7AiEA2xORxfti4DSFC+H35jg2Sj//3bUWmLYfp7nR4Kbp4fc="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.6-rc4":{"name":"ali-tmodjs","version":"1.0.6-rc4","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.6-rc4","dist":{"shasum":"d7948f5d071b21542dff3a4f05a02dd6137b71fe","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.6-rc4.tgz","integrity":"sha512-Fruml97U5kLlSamEKdzF5EF3j1V5UhUJsWiRVHlGHg+AEtQKOm50huKKUqR7glXDdD6yH1cRHEUZ35quy+QwEQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBntyWuv6VGt/jzFsTM1hXoxoQotNlRhgoBln1lMDa8LAiEA4nGCy7uL3VWfDD+u+dOYlSbOb7xTLUxID0UNnu+ixwY="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.7":{"name":"ali-tmodjs","version":"1.0.7","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"art-template":"3.0.x","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","_id":"ali-tmodjs@1.0.7","dist":{"shasum":"cc5fe4f49db8e227a5687283527e801a4bc46643","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.7.tgz","integrity":"sha512-Wivuv65LVeudRzT3yVHHZfn/b78nfMSqnz7N4iXmakByX4buFr8dv2wjottWfB/07SG/rL+ZzZnQAGuzS6djyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKodsX1AJ1PrPcFl2U4Gj0Rvet9sum/JHwR0njxAbnGwIhAM9mZwCL7QVF0png6lm6Bj3vclfWTWY7FirrGxszpwr+"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}]},"1.0.8":{"name":"ali-tmodjs","version":"1.0.8","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":"3.0.3","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"a49b01ce865933b9656b8b116662fe2988e0eb48","_id":"ali-tmodjs@1.0.8","_shasum":"3f83d25094ebbad981dc774afc5017f4336e21a4","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"}],"dist":{"shasum":"3f83d25094ebbad981dc774afc5017f4336e21a4","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.8.tgz","integrity":"sha512-C20Q+Kc+L8f9KexoYNzm72iswksmLqdO7DlDc89AZsP+8dgEEQy4AkbjV5/TqvtEUcgHo4Ricr07w/u+hqFvcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEOu9DentToWEOGNPD6HWvtJdD45NDOYlhPJzeFhvQBzAiEAyv5KAfxwFCJPbF+ODdq/1eTUT/8mcbXN5zxRTZSxfmc="}]}},"1.0.81":{"name":"ali-tmodjs","version":"1.0.81","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"79de1abaf9b3aca35a1e19ea93c61e03dc8f1cca","_id":"ali-tmodjs@1.0.81","_shasum":"6f86d881df602bd83b9b5484bbf8a64f512635c4","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"6f86d881df602bd83b9b5484bbf8a64f512635c4","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.81.tgz","integrity":"sha512-HYIGznI2IFulcBmqiHp5JtcIJhQTLoWAWUd4Un4f5nykaDkOdhcV4cqz6epn5OJAoCKahTxN4Bt9WZZvwDGdTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAKNg5JuxE0Ob6BbCJjpfxVFNROmE1LVkEYXv03RK1BwIhAIj+vrGvvn5ompAlJk7UkOtMu249H0+k9Qdr4Q+gCTxd"}]}},"1.0.9":{"name":"ali-tmodjs","version":"1.0.9","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"c0ac84feed1bd3c467cc76e1053e6d37ab920750","_id":"ali-tmodjs@1.0.9","_shasum":"2af6127a78bf196035e15b22907fe62df7edbb57","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"2af6127a78bf196035e15b22907fe62df7edbb57","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.9.tgz","integrity":"sha512-aElIhZv0Mg5RhPh+AniUQozzDBiwLCAEUQjAwTg/YOVo6QHn5S1E0jT27YS2k6QbsnzkKiOJkrsnggoU4BLCdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnFjjgLxAlma8BFRbuGZqXOsGBwR9f/mZbKRZfLPy4MQIhAKUpp/kPhx/y9m9zQtmzt0r1GQsVGqjmWaIwACLWlMB6"}]}},"1.0.9-rc1":{"name":"ali-tmodjs","version":"1.0.9-rc1","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-tmodjs":"1.0.8"},"license":"BSD","tmodjs-config":{"output":"./build","charset":"utf-8","syntax":"simple","helpers":null,"escape":true,"compress":true,"type":"default","runtime":"template.js","combo":true,"minify":true,"cache":true,"resolve":null},"gitHead":"fce6656cbc3f41ac6b2372943a9cba1e01792786","_id":"ali-tmodjs@1.0.9-rc1","_shasum":"abef3f3ff92c3d8c254f650b568baacb0a65bafd","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"abef3f3ff92c3d8c254f650b568baacb0a65bafd","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.9-rc1.tgz","integrity":"sha512-inVoL2jcHH3rlkgfZTwi5hXRehc240zvLXWrxFE5H/S1L8IU1B/9tzmb6vKFnhtZ+GNxT9cXt1dY0fz5XnYxpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICTC2M4iTohvo9o4tYkPk5JXw6PWdxz/b+yZqcoz006lAiA7fdsRRVqncszKt9WsqGUub0ru3vAja5YpIDdjfgo+Pw=="}]}},"1.0.9-rc2":{"name":"ali-tmodjs","version":"1.0.9-rc2","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"fce6656cbc3f41ac6b2372943a9cba1e01792786","_id":"ali-tmodjs@1.0.9-rc2","_shasum":"948ccc8c0654d2a46023f48de3fafb68dea6e171","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"948ccc8c0654d2a46023f48de3fafb68dea6e171","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.0.9-rc2.tgz","integrity":"sha512-1RN/Z1hcPHlhP7VhSRds/Rkl4Wkq3YBrUBZze6aJN3wUIaLqkbf1IanxpxHAfeMyB2aAxFe0dHwq5WJC/MtnRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFRHYvG1urEbFO8pcfcIUdkVCKmx6XLQeZUOzv6pm/zHAiAP1P+Vz10s0WnlJP02+OxBCmApjCgz0AUIY3dhwm2gUQ=="}]}},"1.1.0":{"name":"ali-tmodjs","version":"1.1.0","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"fce6656cbc3f41ac6b2372943a9cba1e01792786","_id":"ali-tmodjs@1.1.0","_shasum":"d0c4942b0529783eed6e7d1f88a1f3f4812eb069","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"d0c4942b0529783eed6e7d1f88a1f3f4812eb069","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.1.0.tgz","integrity":"sha512-6VAjwE5WX2Yl60WIAP6Xlk53MRCl44V0oYJAbLwOH+kXK9Fonm0UxhZZfNtH9RfWCON4eEplW4urc5HC8Dv4Ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEgIrxUsOiqV7wsC9+ttH0pWL+RpWLzbIxIOWYA4Te0/AiAbZPi/wth20OSz+1uVZG3YWPon/SlXZ75nKLxUbZAeFw=="}]}},"1.1.1":{"name":"ali-tmodjs","version":"1.1.1","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","iconv-lite":"^0.4.4","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"c7f3bc54400ea7679cc6f0ee46f98f543f5a88e6","_id":"ali-tmodjs@1.1.1","_shasum":"57368f6a0e6ee577725522eccf69584bbf790ed7","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"57368f6a0e6ee577725522eccf69584bbf790ed7","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.1.1.tgz","integrity":"sha512-Cuvv8pun/ebze5gKooj4AjrrJz9m2Lw72n7rZJqbp63QKJOzy0eA/HdbyWxaR628CV7I2TysmckJ+JZzIdbe8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCV3L+AUrPb2n+BUgcdFlwG//ppRBpDrlG51YOxQ2ntzwIhAPr9KUitwpi5ZLqEjUmxYxjbtyBUcBXiHAC2MTcIsiT4"}]}},"1.2.0":{"name":"ali-tmodjs","version":"1.2.0","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","iconv-lite":"^0.4.4","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"37afa8cc19e3ef62d5a9672ee448212985bfa06e","_id":"ali-tmodjs@1.2.0","_shasum":"72e148999b1fe23b2a96ef03ffd1225090f6d786","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"72e148999b1fe23b2a96ef03ffd1225090f6d786","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.2.0.tgz","integrity":"sha512-k03vAxuWW9CCVRzghxI6Bp9mJj4O0zYXCh/Ak3GRcSQMOyY62yJFnEs+P0stQAL7Sy1aPEw8OqpncTfkTBif+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZmlVtbQ1aJ0ytSKCk05jQPk/eWdEZDIGzr9x2qsHIOAiEAhXu4YrUjypjQjTCIV3YHMj3mACf8NgCdGVBp0MfInjs="}]}},"1.2.1":{"name":"ali-tmodjs","version":"1.2.1","description":"Template Compiler","homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"author":{"name":"chunterg"},"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"main":"./src/tmod.js","bin":{"ali-tmod":"./bin/ali-tmod","ali-tmodjs":"./bin/ali-tmod"},"scripts":{"test":"ali-tmod ./test/tpl","test2":"ali-tmod ./test/test-all/*"},"dependencies":{"ali-arttemplate":">=2.0.8","iconv-lite":"^0.4.4","uglify-js":"2.4.0","semver":"2.3.0"},"license":"BSD","gitHead":"faa70371e343863a59c22247e7cb70cdece3406b","_id":"ali-tmodjs@1.2.1","_shasum":"fc67e6b3ff2727fb030becb9b0cfdbfbacf0e43c","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"chunterg","email":"chunterg@gmail.com"},"maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"dist":{"shasum":"fc67e6b3ff2727fb030becb9b0cfdbfbacf0e43c","tarball":"https://registry.npmjs.org/ali-tmodjs/-/ali-tmodjs-1.2.1.tgz","integrity":"sha512-OLpto/l+JGI2Ch4P2VaWObA0yvl7IA3R2EVTcmmdWpA178GuwMf+gu9j04fzO2+dNdmtQp1GFRSR8mD4g+zK2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF7irzSO8Gh6Yv67z698bblphGvxnr/ChIf/gINFU1iyAiBY32UPgkBQNbbE90zJqHTVWdYtLOFwDHcaNJc3F8dk2A=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ali-tmodjs-1.2.1.tgz_1490342310727_0.25412972760386765"}}},"readme":"#   Ali-TmodJS\n\n为TmodJS增加FMD模块格式,及.art文件的编译支持\n\n安装\n\n```\nnpm install -g ali-tmodjs\n```\n\n\n模板文件 public/footer.art\n\n```\n<div id='footer'>\n{{if time}}\n    <p class='time'>{{time}}</p>\n{{/if}}\n{{include '../copyright'}}\n</div>\n```\n\n- 编译类型:``pure-fmd``,只是简单模块化模板文件\n\n```\ndefine(\"public/footer\", function() {\n    return \"<div id=\\\"footer\\\">\\n{{if time}}\\n  <p class='time'>{{time}}</p>\\n{{/if}}\\n{{include '../copyright'}}\\n</div>\";\n});\n```\n- 编译类型:``fmd``,打包include,helper,template\n\n```\ndefine(\"public/footer\", [ \"template\", \"copyright\" ], function(template) {\n    return template(\"public/footer\", function($data, $filename) {\n        \"use strict\";\n        var $utils = this, time = ($utils.$helpers, $data.time), $escape = $utils.$escape, include = function(filename, data) {\n            data = data || $data;\n            var text = $utils.$include(filename, data, $filename);\n            return $out += text;\n        }, $out = \"\";\n        return $out += '<div id=\"footer\">\\n', time && ($out += \"\\n  <p class='time'>\", $out += $escape(time),\n        $out += \"</p>\\n\"), $out += \"\\n\", include(\"../copyright\"), $out += \"\\n</div>\", new String($out);\n    });\n});\n```\n- 模块id resolve, 针对fmd模块id的resolve匹配替换，默认``null``, 只有type为``pure-fmd``或``fmd``时生效\n\n```\n//不用resolve\ndefine(\"public/footer\",function(){})\n```\n```\n//使用resolve:[ \"^(.*)\",\"work/$1\"]\ndefine(\"work/public/footer\",function(){})\n```\n\nDemo请查看 /test/fmdjs.html\n\n> 需自行修改lofty.config配置\n\n- 编译类型:``customize``,完全自定义编译\n\n以下是自定义代码的例子\n\n```\n//build.js\n var path = require('path');\n module.exports = {\n\t\"art2js\":{\n\t    \"type\":\"customize\",\n\t    \"customizePath\": path.resolve(__dirname,\"./customize.js\")\n\t}\n}\n\n//customize.js\n   /**\n    * 自定义模板编译\n    * 将模板中的<!--#内容-->，输出成fmd的依赖\n    * @param  {[type]} id 输出的模块id\n    * @param  {[type]} source   模板源码\n    * @param  {[type]} options  编译配置项\n    * @return {[type]}          [description]\n    */\nmodule.exports = function(id,source,options){\n\tvar dep = source.match(/<!--#\\((.*)\\)-->/);\n\tif(dep[1]){\n\t\tdep = dep[1];\n\t}\n\treturn \"define('\"+id+\"',['\"+dep+\"'],\"\n                + \"function(){\"\n                +      \"return \"+stringify(source)+\";\"\n                + \"});\";\n}\n\n\n```\n\n---\n\nTmodJS（原名 atc）是一个简单易用的前端模板预编译工具。它通过预编译技术让前端模板突破浏览器限制，实现后端模板一样的同步“文件”加载能力。它采用目录来组织维护前端模板，从而让前端模板实现工程化管理，最终保证前端模板在复杂单页 web 应用下的可维护性。同时预编译输出的代码经过多层优化，能够在最大程度节省客户端资源消耗。\n\n一、**按文件与目录组织模板**\n\n```\ntemplate('tpl/home/main', data)\n```\n\n二、**模板支持引入子模板**\n\n```\n{{include '../public/header'}}\n```\n\nTmodJS 一经启动，就无需人工干预，每次模板创建与更新都会自动编译，引入一个 js 即可使用``template(path)``接口调用本地模板文件，直到正式上线都无需对代码进行任何修改，整个过程简单自然。\n\n##  所有特性\n\n0.  编译模板为不依赖引擎的 js 文件\n1.  前端模板按文件与目录组织\n3.  模板之间支持引入外部模板\n4.  使用同步模板加载接口\n5.  可选多种规范的模块输出：AMD、CMD、CommonJS, FMD\n6.  支持作为 GruntJS 的插件构建项目\n7.  模板目录可被前后端共享\n8.  支持检测修改即时编译\n9.  支持模板运行时调试\n10. 配置文件支持多人共享\n\n若想深入了解，请阅读：《[进击！前端模板工程化](https://github.com/aui/tmodjs/blob/master/doc/why-tmodjs.md)》\n\n##  文档目录\n\n*   [安装](#安装)\n*   [编写模板](#编写模板)\n*   [编译模板](#编译模板)\n*   [使用模板](#使用模板)\n*   [演示](#演示)\n*   [配置](#配置)\n*   [grunt](#grunt)\n*   [gulp](#gulp)\n*   [常见问题](#常见问题)\n*   [更新日志](#更新日志)\n*   [加入我们](#加入我们)\n*   [授权协议](#授权协议)\n\n##  安装\n\n使用 [NodeJS](http://nodejs.org) 附带的``npm``命令，执行：\n\n```\nnpm install -g ali-tmodjs\n```\n\n> Mac OSX 可能需要管理员权限运行： ``sudo npm install -g ali-tmodjs``\n\n##  编写模板\n\nTmodJS 的前端模板不再耦合在业务页面中，而是和后端模板一样有专门的目录管理。目录名称只支持英文、数字、下划线的组合，一个模板对应一个``.html``文件。\n\n支持基本的模板语法，如输出变量、条件判断、循环、包含子模板。[模板语法参考](https://github.com/aui/tmodjs/wiki/模板语法)\n\n> 完全支持 [artTemplate](https://github.com/aui/artTemplate) 的语法\n\n##  编译模板\n\n只需要运行``ali-tmod``这个命令即可，默认配置参数可以满足绝大多数项目。\n\n```\ntmod [模板目录] [配置参数]\n```\n\n模板目录必须是模板的根目录，若无参数则为默认使用当前工作目录，tmodjs 会监控模板目录修改，每次模板修改都会增量编译。\n\n### 配置参数\n\n*   ``--debug``         输出调试版本\n*   ``--charset value`` 定义模板编码，默认``utf-8``\n*   ``--output value``  定义输出目录，默认``./build``\n*   ``--type value``    定义输出模块格式，默认``default``，可选``fmd``、``pure-fmd``、``cmd``、``amd``、``commonjs``\n*   ``--no-watch``      关闭模板目录监控\n*   ``--version``       显示版本号\n*   ``--help``          显示帮助信息\n\n配置参数将会保存在模板目录[配置文件](#配置)中，下次运行无需输入配置参数（``--no-watch`` 与 ``--debug`` 除外）。\n\n####    示例\n\n```\nali-tmod ./tpl --output ./build\n```\n\n##  使用模板\n\n根据编译的``type``的配置不同，会有两种不同使用方式：\n\n### 使用默认的格式\n\nTmodJS 默认将整个目录的模板压缩打包到一个名为 template.js 的脚本中，可直接在页面中使用它：\n\n    <script src=\"tpl/build/template.js\"></script>\n    <script>\n        var html = template('news/list', _list);\n        document.getElementById('list').innerHTML = html;\n    </script>\n\n> template.js 还支持 RequireJS、SeaJS、NodeJS 加载。[示例](http://aui.github.io/tmodjs/test/index.html)\n\n### 指定格式（fmd /amd / cmd / commonjs)\n\n此时每个模板就是一个单独的模块，无需引用 template.js：\n\n```\nvar render = require('./tpl/build/news/list');\nvar html = render(_list);\n```\n\n>   注意：模板路径不能包含模板后缀名\n\n##  演示\n\n[TmodJS 源码包](https://github.com/aui/tmodjs/archive/master.zip)中``test/tpl``是一个演示项目的前端模板目录，基于默认配置。切换到源码目录后，编译：\n\n```\nali-tmod test/tpl\n```\n\n编译完毕后你可以在浏览器中打开 [test/index.html](http://aui.github.io/tmodjs/test/index.html) 查看如何使用编译后的模板。\n\n##  配置\n\nTmodJS 的项目配置文件保存在模板目录的 package.json 文件中：\n\n```\n{\n    \"name\": \"template\",\n    \"version\": \"1.0.0\",\n    \"dependencies\": {\n        \"tmodjs\": \"1.0.0\"\n    },\n    \"tmodjs-config\": {\n        \"output\": \"./build\",\n        \"charset\": \"utf-8\",\n        \"syntax\": \"simple\",\n        \"helpers\": null,\n        \"escape\": true,\n        \"compress\": true,\n        \"type\": \"default\",\n        \"runtime\": \"template.js\",\n        \"combo\": true,\n        \"minify\": true,\n        \"cache\": false,\n        \"resolve\":null\n    }\n}\n```\n\n字段 | 类型 | 默认值| 说明\n------------ | ------------- | ------------ | ------------\noutput | String | ``\"./build\"`` | 编译输出目录设置\ncharset | String | ``\"utf-8\"`` | 模板使用的编码（暂时只支持 utf-8）\nsyntax | String | ``\"simple\"`` | 定义模板采用哪种语法。可选：``simple``、``native``\nhelpers | String | ``null`` | 自定义辅助方法路径\nescape | Boolean | ``true`` | 是否过滤 XSS。如果后台给出的数据已经进行了 XSS 过滤，就可以关闭模板的过滤以提升模板渲染效率\ncompress | Boolean | ``true`` | 是否压缩 HTML 多余空白字符\ntype | String | ``\"default\"`` |  输出的模块类型，可选：``default``、``fmd``、``pure-fmd``、``cmd``、``amd``、``commonjs``、``customize``\nruntime | String | ``\"template.js\"`` | 设置输出的运行时名称\nalias | String | ``null`` | 设置模块依赖的运行时路径（仅针对于非``default``的类型模块配置字段。如果不指定模块内部会自动使用相对 runtime 的路径）\ncombo | Boolean | ``true`` | 是否合并模板（仅针对于 default 类型的模块）\nminify | Boolean | ``true`` | 是否输出为压缩的格式\ncache | Boolean | ``true`` | 是否开启编译缓存\nresolve | Array | ``null`` | 是否对模块id使用resolve,编译使用``id.replace``方法，参考值``[ \"^(.*)\",\"work/$1\"]``(仅针对fmd,pure-fmd类型的模块)\n\n##  grunt\n\n让 TmodJS 作为 Grunt 的一个插件使用：\n\n```\nnpm install grunt-tmod --save-dev\n```\n\n由[@Jsonzhang](https://github.com/Jsonzhang)开发，项目主页：\n\n<https://github.com/Jsonzhang/grunt-tmod>\n\n## gulp\n\n让 TmodJS 作为 Gulp 的一个插件使用：\n\n```\nnpm install gulp-tmod --save-dev\n```\n\n由[@lichunqiang](https://github.com/lichunqiang)开发，项目主页：\n\n<https://github.com/lichunqiang/gulp-tmod>\n\n##  常见问题\n\n**问**：TmodJS 需要部署到服务器中吗？\n\n> 不需要，这是本地工具，基于 NodeJS 编写是为了实现跨平台。\n\n**问**：如何将每个模板都编译成单独的 amd/cmd 模块输出？\n\n> 指定 type 参数即可，如``--type cmd``则可以让每个模板都支持 RequireJS/SeaJS 调用。\n\n**问**：如何将模板编译成 NodeJS 的模块？\n\n> 指定 type 参数即可，如``--type commonjs``。\n\n**问**：线上运行的模板报错了如何调试？\n\n> 开启 debug 模式编译，如``--debug``，这样会输出调试版本，可以让你快速找到模板运行错误的语句以及数据。\n\n**问**：如何不压缩输出 js？\n\n> 编辑配置文件，设置``\"minify\": false``。\n\n**问**：如何修改默认的输出目录？\n\n> 指定 output 参数即可，如``--output ../../build``。\n\n**问**：如何让模板访问全局变量？\n\n> 请参考：[辅助方法](https://github.com/aui/tmodjs/wiki/辅助方法)。\n\n**问**：可以使用使用类似 tmpl 那种的 js 原生语法作为模板语法吗？\n\n> 可以。编辑配置文件，设置``\"syntax\": \"native\"``即可，目前 TmodJS 默认使用的是 simple 语法。\n\n**问**：如何兼容旧版本 atc 的项目？\n\n> 编辑配置文件，分别设置``\"type\": \"cmd\"``、``\"syntax\": \"native\"``、``\"output\": \"./\"``\n\n**问**：如何迁移原来写在页面中的 artTemplate 模板，改为 TmodJS 这种按按文件存放的方式？\n\n> 请参考：[页面中的模板迁移指南](https://github.com/aui/tmodjs/wiki/页面中的模板迁移指南)。\n\n**问**：我需要手动合并模板，如何让 tmodjs 不合并输出？\n\n> 编辑配置文件，设置``combo:false``。\n\n##  版本更新\n\n- 1.2.1\n\nbugfix: 修复开启 minify 时 报错：\n\n```\nError: Uglification failed.\nPath must be a string. Received undefined.\n    at (node_modules\\ali-tmodjs\\src\\uglify2.js:49:33)\n    at Tmod._uglify (node_modules\\ali-tmodjs\\src\\tmod.js:760:23)\n```\n\n- 1.2.0\n\n增加自定义编译模式\n\n- 1.0.7\n\n增加模块id resolve配置入口\n\n##  授权协议\n\nBSD.\n","maintainers":[{"name":"chunterg","email":"chunterg@gmail.com"},{"name":"terence.wangt","email":"terence.wangt@alibaba-inc.com"}],"time":{"modified":"2022-06-13T02:38:04.409Z","created":"2014-08-05T06:41:05.871Z","1.0.5":"2014-08-05T06:41:05.871Z","1.0.6":"2014-08-05T06:47:08.736Z","1.0.6-rc1":"2014-08-05T06:48:49.679Z","1.0.6-rc2":"2014-08-05T06:50:02.858Z","1.0.6-rc3":"2014-08-05T06:55:19.856Z","1.0.6-rc4":"2014-08-05T07:25:59.622Z","1.0.7":"2014-08-06T09:15:57.530Z","1.0.8":"2014-09-09T02:10:21.092Z","1.0.81":"2014-09-09T07:21:30.429Z","1.0.9":"2014-09-18T11:36:15.961Z","1.0.9-rc1":"2014-09-18T12:32:54.694Z","1.0.9-rc2":"2014-09-18T13:07:07.225Z","1.1.0":"2014-09-18T13:34:56.536Z","1.1.1":"2014-09-23T11:43:18.991Z","1.2.0":"2015-09-11T07:52:46.010Z","1.2.1":"2017-03-24T07:58:33.558Z"},"homepage":"http://gitlab.alibaba-inc.com/fangdeng/ali-tmodjs/tree/master","keywords":["template","artTemplate","TemplateJS","CommonJS","RequireJS","SeaJS","AMD","CMD","FMD"],"repository":{"type":"git","url":"git@gitlab.alibaba-inc.com:fangdeng/ali-tmodjs.git"},"author":{"name":"chunterg"},"license":"BSD","readmeFilename":"README.md","users":{"mecal":true}}