1234567891011121314151617181920212223242526272829303132333435363738394041 |
- const fs = require('fs');
- // Parse package.json
- const packageFile = './package.json';
- const packageText = fs.readFileSync(packageFile, 'utf8');
- const packageJson = JSON.parse(packageText);
- const packageVersion = packageJson.version;
- // Check for preview.html
- const previewFile = './preview.html';
- if (!fs.existsSync(previewFile)) {
- throw new Error('Error: preview.html must exist!');
- }
- const previewText = fs.readFileSync(previewFile, 'utf8');
- const parts = previewText.match(/<span class="version">([^<]+)<\/span>/);
- if (parts === null) {
- // Did you modify preview.html file ???
- throw new Error('Error: preview.html version string not found!');
- }
- // Never include a index.html file!
- const indexFile = './index.html';
- if (fs.existsSync(indexFile)) {
- throw new Error('Error: index.html should not exist, only preview.html');
- }
- const previewVersion = parts[1];
- if (packageVersion != previewVersion) {
- // Not good, almost published the wrong version
- throw new Error(`Error: package "${packageVersion}" != preview.html "${previewVersion}"`);
- }
- // Verify SCSS Version
- const scssVariablesFile = './scss/_variables.scss';
- const scssVariablesText = fs.readFileSync(scssVariablesFile, 'utf8');
- const vParts = scssVariablesText.match(/"(\d+).(\d+).(\d+)" !default;/);
- if (vParts === null) {
- throw new Error('Error: Could not parse SCSS version!');
- }
- const scssVersion = `${vParts[1]}.${vParts[2]}.${vParts[3]}`;
- if (packageVersion != scssVersion) {
- // Not good, almost published the wrong version
- throw new Error(`Error: package "${packageVersion}" != scss/variables.scss "${previewVersion}"`);
- }
- console.log(`Success: ${packageVersion} looks good!`);
|