resource_chain_babel_test.go (hugo-0.80.0) | : | resource_chain_babel_test.go (hugo-0.81.0) | ||
---|---|---|---|---|
skipping to change at line 20 | skipping to change at line 20 | |||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
// See the License for the specific language governing permissions and | // See the License for the specific language governing permissions and | |||
// limitations under the License. | // limitations under the License. | |||
package hugolib | package hugolib | |||
import ( | import ( | |||
"bytes" | "bytes" | |||
"os" | "os" | |||
"path/filepath" | "path/filepath" | |||
"runtime" | ||||
"testing" | "testing" | |||
"github.com/gohugoio/hugo/common/hexec" | "github.com/gohugoio/hugo/common/hexec" | |||
jww "github.com/spf13/jwalterweatherman" | jww "github.com/spf13/jwalterweatherman" | |||
"github.com/gohugoio/hugo/htesting" | "github.com/gohugoio/hugo/htesting" | |||
"github.com/spf13/viper" | "github.com/spf13/viper" | |||
skipping to change at line 43 | skipping to change at line 42 | |||
"github.com/gohugoio/hugo/hugofs" | "github.com/gohugoio/hugo/hugofs" | |||
"github.com/gohugoio/hugo/common/loggers" | "github.com/gohugoio/hugo/common/loggers" | |||
) | ) | |||
func TestResourceChainBabel(t *testing.T) { | func TestResourceChainBabel(t *testing.T) { | |||
if !htesting.IsCI() { | if !htesting.IsCI() { | |||
t.Skip("skip (relative) long running modules test when running lo cally") | t.Skip("skip (relative) long running modules test when running lo cally") | |||
} | } | |||
if runtime.GOOS == "windows" { | ||||
t.Skip("skip npm test on Windows") | ||||
} | ||||
wd, _ := os.Getwd() | wd, _ := os.Getwd() | |||
defer func() { | defer func() { | |||
os.Chdir(wd) | os.Chdir(wd) | |||
}() | }() | |||
c := qt.New(t) | c := qt.New(t) | |||
packageJSON := `{ | packageJSON := `{ | |||
"scripts": {}, | "scripts": {}, | |||
skipping to change at line 83 | skipping to change at line 78 | |||
js := ` | js := ` | |||
/* A Car */ | /* A Car */ | |||
class Car { | class Car { | |||
constructor(brand) { | constructor(brand) { | |||
this.carname = brand; | this.carname = brand; | |||
} | } | |||
} | } | |||
` | ` | |||
js2 := ` | ||||
/* A Car2 */ | ||||
class Car2 { | ||||
constructor(brand) { | ||||
this.carname = brand; | ||||
} | ||||
} | ||||
` | ||||
workDir, clean, err := htesting.CreateTempDir(hugofs.Os, "hugo-test-babel ") | workDir, clean, err := htesting.CreateTempDir(hugofs.Os, "hugo-test-babel ") | |||
c.Assert(err, qt.IsNil) | c.Assert(err, qt.IsNil) | |||
defer clean() | defer clean() | |||
var logBuf bytes.Buffer | var logBuf bytes.Buffer | |||
logger := loggers.NewBasicLoggerForWriter(jww.LevelInfo, &logBuf) | logger := loggers.NewBasicLoggerForWriter(jww.LevelInfo, &logBuf) | |||
v := viper.New() | v := viper.New() | |||
v.Set("workingDir", workDir) | v.Set("workingDir", workDir) | |||
v.Set("disableKinds", []string{"taxonomy", "term", "page"}) | v.Set("disableKinds", []string{"taxonomy", "term", "page"}) | |||
skipping to change at line 106 | skipping to change at line 110 | |||
b.Fs = hugofs.NewDefault(v) | b.Fs = hugofs.NewDefault(v) | |||
b.WithWorkingDir(workDir) | b.WithWorkingDir(workDir) | |||
b.WithViper(v) | b.WithViper(v) | |||
b.WithContent("p1.md", "") | b.WithContent("p1.md", "") | |||
b.WithTemplates("index.html", ` | b.WithTemplates("index.html", ` | |||
{{ $options := dict "noComments" true }} | {{ $options := dict "noComments" true }} | |||
{{ $transpiled := resources.Get "js/main.js" | babel -}} | {{ $transpiled := resources.Get "js/main.js" | babel -}} | |||
Transpiled: {{ $transpiled.Content | safeJS }} | Transpiled: {{ $transpiled.Content | safeJS }} | |||
{{ $transpiled := resources.Get "js/main2.js" | babel (dict "sourceMap" "inline" | ||||
) -}} | ||||
Transpiled2: {{ $transpiled.Content | safeJS }} | ||||
{{ $transpiled := resources.Get "js/main2.js" | babel (dict "sourceMap" "externa | ||||
l") -}} | ||||
Transpiled3: {{ $transpiled.Permalink }} | ||||
`) | `) | |||
jsDir := filepath.Join(workDir, "assets", "js") | jsDir := filepath.Join(workDir, "assets", "js") | |||
b.Assert(os.MkdirAll(jsDir, 0777), qt.IsNil) | b.Assert(os.MkdirAll(jsDir, 0777), qt.IsNil) | |||
b.WithSourceFile("assets/js/main.js", js) | b.WithSourceFile("assets/js/main.js", js) | |||
b.WithSourceFile("assets/js/main2.js", js2) | ||||
b.WithSourceFile("package.json", packageJSON) | b.WithSourceFile("package.json", packageJSON) | |||
b.WithSourceFile("babel.config.js", babelConfig) | b.WithSourceFile("babel.config.js", babelConfig) | |||
b.Assert(os.Chdir(workDir), qt.IsNil) | b.Assert(os.Chdir(workDir), qt.IsNil) | |||
cmd, _ := hexec.SafeCommand("npm", "install") | cmd, _ := hexec.SafeCommand("npm", "install") | |||
_, err = cmd.CombinedOutput() | _, err = cmd.CombinedOutput() | |||
b.Assert(err, qt.IsNil) | b.Assert(err, qt.IsNil) | |||
b.Build(BuildCfg{}) | b.Build(BuildCfg{}) | |||
skipping to change at line 132 | skipping to change at line 143 | |||
b.Assert(logBuf.String(), qt.Contains, "babel: Hugo Environment: producti on") | b.Assert(logBuf.String(), qt.Contains, "babel: Hugo Environment: producti on") | |||
b.Assert(err, qt.IsNil) | b.Assert(err, qt.IsNil) | |||
b.AssertFileContent("public/index.html", ` | b.AssertFileContent("public/index.html", ` | |||
var Car = function Car(brand) { | var Car = function Car(brand) { | |||
_classCallCheck(this, Car); | _classCallCheck(this, Car); | |||
this.carname = brand; | this.carname = brand; | |||
}; | }; | |||
`) | `) | |||
b.AssertFileContent("public/index.html", ` | ||||
var Car2 = function Car2(brand) { | ||||
_classCallCheck(this, Car2); | ||||
this.carname = brand; | ||||
}; | ||||
`) | ||||
b.AssertFileContent("public/js/main2.js", ` | ||||
var Car2 = function Car2(brand) { | ||||
_classCallCheck(this, Car2); | ||||
this.carname = brand; | ||||
}; | ||||
`) | ||||
b.AssertFileContent("public/js/main2.js.map", `{"version":3,`) | ||||
b.AssertFileContent("public/index.html", ` | ||||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjoz | ||||
L`) | ||||
} | } | |||
End of changes. 6 change blocks. | ||||
5 lines changed or deleted | 36 lines changed or added |