<commit_before>module.exports = function(grunt) {
	'use strict';

	grunt.initConfig({
		pkg: grunt.file.readJSON('package.json'),

		connect: {
			server: {
				options: {
					port: 8000,
					hostname: '*',
					base: 'www',
					keepalive: true,
					livereload: true
				}
			}
		},

		watch: {
			gruntfile: {
				files: '<%= jshint.gruntfile %>',
				tasks: ['jshint:gruntfile']
			},

			dist: {
				files: '<%= jshint.dist %>',
				tasks: ['jshint:dist', 'browserify:dist']
			},

			livereload: {
				files: 'www/**/*',
				options: {
					livereload: true
				}
			}
		},

		browserify: {
			dist: {
				src: ['src/**/*.js'],
				dest: 'www/js/telepathy.js'
			}
		},

		jshint: {
			gruntfile: 'Gruntfile.js',
			dist: 'src/**/*.{js,json}',

			options: {
				curly: false,
				eqeqeq: false,
				immed: true,
				latedef: true,
				newcap: true,
				noarg: true,
				sub: true,
				undef: true,
				boss: true,
				eqnull: true,
				smarttabs: true,
				strict: false,
				browser: true,
				node: true,

				globals: {
				}
			}
		},

		manifest: {
			dist: {
				options: {
					basePath: 'www/',
					preferOnline: true,
					verbose: true,
					timestamp: true,

					exclude: [
						'img/icon-114x114.png',
						'img/startup-320x480.png',
						'img/startup-640x920.png',
						'img/startup-640x1096.png'
					]
				},

				src: [
					'css/*.css',
					'js/*.js',
					'img/*.png',
					'font/fontawesome*',
					'font/*.woff',
					'index.html'
				],

				dest: 'www/manifest.appcache'
			}
		}
	});

	grunt.loadNpmTasks('grunt-contrib-jshint');
	grunt.loadNpmTasks('grunt-contrib-connect');
	grunt.loadNpmTasks('grunt-contrib-watch');
	grunt.loadNpmTasks('grunt-browserify');
	grunt.loadNpmTasks('grunt-manifest');

	grunt.registerTask('default', ['test', 'build']);
	grunt.registerTask('test', ['jshint']);
	grunt.registerTask('build', ['browserify', 'manifest']);
};
<commit_msg>Track package.json in Gruntfile.js<commit_after>module.exports = function(grunt) {
	'use strict';

	grunt.initConfig({
		pkg: grunt.file.readJSON('package.json'),

		connect: {
			server: {
				options: {
					port: 8000,
					hostname: '*',
					base: 'www',
					keepalive: true,
					livereload: true
				}
			}
		},

		watch: {
			packagejson: {
				files: '<%= jshint.packagejson %>',
				tasks: ['jshint:packagejson', 'browserify:dist']
			},

			gruntfile: {
				files: '<%= jshint.gruntfile %>',
				tasks: ['jshint:gruntfile']
			},

			dist: {
				files: '<%= jshint.dist %>',
				tasks: ['jshint:dist', 'browserify:dist']
			},

			livereload: {
				files: 'www/**/*',
				options: {
					livereload: true
				}
			}
		},

		browserify: {
			dist: {
				src: ['src/**/*.js'],
				dest: 'www/js/telepathy.js'
			}
		},

		jshint: {
			packagejson: 'package.json',
			gruntfile: 'Gruntfile.js',
			dist: 'src/**/*.{js,json}',

			options: {
				curly: false,
				eqeqeq: false,
				immed: true,
				latedef: true,
				newcap: true,
				noarg: true,
				sub: true,
				undef: true,
				boss: true,
				eqnull: true,
				smarttabs: true,
				strict: false,
				browser: true,
				node: true,

				globals: {
				}
			}
		},

		manifest: {
			dist: {
				options: {
					basePath: 'www/',
					preferOnline: true,
					verbose: true,
					timestamp: true,

					exclude: [
						'img/icon-114x114.png',
						'img/startup-320x480.png',
						'img/startup-640x920.png',
						'img/startup-640x1096.png'
					]
				},

				src: [
					'css/*.css',
					'js/*.js',
					'img/*.png',
					'font/fontawesome*',
					'font/*.woff',
					'index.html'
				],

				dest: 'www/manifest.appcache'
			}
		}
	});

	grunt.loadNpmTasks('grunt-contrib-jshint');
	grunt.loadNpmTasks('grunt-contrib-connect');
	grunt.loadNpmTasks('grunt-contrib-watch');
	grunt.loadNpmTasks('grunt-browserify');
	grunt.loadNpmTasks('grunt-manifest');

	grunt.registerTask('default', ['test', 'build']);
	grunt.registerTask('test', ['jshint']);
	grunt.registerTask('build', ['browserify', 'manifest']);
};

{'fraction_non_alphanumeric': 0.18965084149711128, 'fraction_numerical': 0.01456920371765888, 'mean_word_length': 2.444636678200692, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 10, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1140644', 'n_tokens_mistral': 2105, 'n_tokens_neox': 1536, 'n_words': 243}